• 締切済み

MT4エキスパートタブテキストでエントリーするEA

MQLプログラミング初心者です。 特定の状態になるとエキスパートタブにメッセージを出力するインジケーターがあるのですが、このテキストはlogファイルとして保存されてメモ帳などで見る事ができるわけですが、このテキストを利用したEAが作れないかと思っています。 このインジはデータウインドウには一切数値などは表示されないものでして、自分のスキルでは icustomで拾うやり方しか分からないためどうしたものかと思い、このテキストを利用できないかと考えました。このインジは特定条件になったらメール送信もするためMT4trackなども使えるのかもしれませんが、このインジに加えて他の条件も合致した場合のみエントリーさせたいため、テキストを使うやり方位しか思いつきません。 良く分からないながらstringfindとかいう関数を見つけてこれが近いかなとは思いましたが、一体どこをfindさせるのか、どうやって「エキスパートログファイルの中の1行目」という事を指定するのか分かりません。果たして目的の動作は可能な事なんでしょうか? ご教授願えれば助かります、よろしくお願いします。

みんなの回答

  • fmysh
  • ベストアンサー率79% (27/34)
回答No.1

ファイルの1行目を調べるのは、こんな感じじゃないでしょうか。 string file_name = "your_indicator.log"; string match_substring = "xxxxxx"; int file_handle = FileOpen(file_name, FILE_READ); string the_first_line = FileReadString(file_handle); //ファイルから1行だけ読み込む FileClose(file_handle); if (StringFind(the_first_line, match_substring)>0) { // 読み込んだ1行目に目当ての文字列があるか? // found } https://docs.mql4.com/files/fileopen https://docs.mql4.com/files/filereadstring https://docs.mql4.com/strings/stringfind

dov
質問者

お礼

ありがとうございます! 非常に助かります、参考にさせて頂きます。

すると、全ての回答が全文表示されます。

関連するQ&A