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

FileReadString関数について

MQL5リファレンス
スポンサーリンク
スポンサーリンク

機能

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

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

引数

file_handle

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

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関数については↓をご覧ください。

コメント

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