ホーム » MQL5リファレンス » 関数 » ファイル関数 » FileReadString関数について
a

FileReadString関数について

MQL5リファレンス

※【おススメのMT5MQL5対応のFX業者】

MQL5にて開発した、MT5EAを実運用するにあたり、

当サイトでは以下のFX業者をおススメいたします。

外為ファイネスト

アヴァトレードジャパン

フィリップ証券

———————————————————————————-

機能

FileReadString関数は、ファイルポインタ(ポインタ=指し示すもの→ファイル操作に必要な情報を格納する変数のことを言います)の現在位置から文字列を読み込みます。

string  FileReadString(int  file_handle,    // ファイルハンドル
int  length=-1        // 文字列の長さ
);

引数

第1引数:file_handle

[in] FileOpen() から戻されたファイル記述子=ファイルハンドル(ファイルオープン処理を実施するためのカギのようなもの)

第2引数:length=-1 文字列の長さ

引数についてはコチラのリンクをご覧ください。

戻り値

_読まれた行(string)

戻り値についてはコチラを下記の記事をご覧ください。

備考

バイナリファイルからの読み込みでは読まれる文字列の長さが指定されるべきです。TXTファイルから読み込む場合は文字列の長さが必要とされず、文字列は現在位置から改行文字「\r\n」まで読み込まれます。CSVファイルから読み込む場合は文字列の長さが必要とされず、文字列は現在位置から最寄りの区切り文字もしくははテキスト文字列の最後の文字まで読み込まれます。

ファイルが FILE_ANSI フラグで開かれた場合は、読まれた行はUnicode に変換されます。

MQL5 リファレンスより

第2引数は初期値を持つので、実質の引数は第1引数の、「FileOpen() で取得したファイルハンドル」 です。外部シグナルを使ってトレードをするEA制作などに使えます。

Comment

サンプルコード

以下のサンプルコードはTerminal>Common>ディレクトリのFilesフォルダにあるSignal.txtというテキストファイルがあることを前提としたものです。


#include <Trade\Trade.mqh>
//ファイルのインクルード

CTrade trade;
//クラスオブジェクトの宣言

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
      double Ask=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
      //チャートの値の取得と正規化
      
      int ExternalFile=FileOpen("Signal.txt",
      FILE_READ|FILE_ANSI|FILE_COMMON,
      '|',
      CP_ACP);
      //テキストファイルを開き、ファイルハンドルを取得
      
      string BuySignal=FileReadString(ExternalFile);
      //Terminal>Common>Filesフォルダにあるテキストを読み取る
      
      FileClose(ExternalFile);//ファイルを閉じる
      
      if(PositionsTotal()==0 && BuySignal=="BUY IT NOW")//読み取った中に"BUY IT NOW"があれば
      {
         trade.Buy(0.1,NULL,Ask,0,Ask+100*_Point,NULL);//買い注文
         
      }//if(PositionsTotal()==0 && BuySignal=="BUY IT NOW")
      
      Comment("BuySignal",BuySignal,"PositionsTotal:",PositionsTotal());//コメント表示
   
  }
//+------------------------------------------------------------------+

OnTick関数については↓をご覧ください↓

Normalizedouble関数については↓をご覧ください

FileOpen関数については↓をご覧ください

FileClose関数については↓をご覧ください。

PositionsTotal関数については↓をご覧ください。

Comment関数については↓をご覧ください。

———————————————————————————-

※【おススメのMT5MQL5対応のFX業者】

外為ファイネストに関する記事は↓をご覧ください。

アヴァトレードジャパンに関する記事は↓をご覧ください。

フィリップ証券に関する記事は↓をご覧ください。

コメント

タイトルとURLをコピーしました