見出し画像

MQL4でエントリーポイントのデータをcsvファイルに落とす。

今回はMT4用自作インジケーターのエントリーポイントのデータをMQL4でcsvファイルに落とすことを行います。

経緯

本来はデータをhttp通信でサーバーに送りたかったのですが、http通信を行うためのWebRequest()がカスタムインジケーターでは動作しなかったのでcsvファイルに落としました。

コード(該当部分)

WriteData()を作りこの中のFileWriteでファイルに書き込んでいます。

void WriteData(
 datetime dt, 
 double entryp,
 double endp,
 string symbol,
 double entryhigh,
 double entrylow,
 double endhigh,
 double endlow,
 bool up,
 bool down,
 int toolnum
){
    RelativeFileAddress = StringFormat(
                  "%s\\%s" ,
                  WriteFolderName , 
                  WriteFileName
              );

   int filehandle;
   
   filehandle = FileOpen(
           RelativeFileAddress,
           FILE_READ | FILE_WRITE | FILE_CSV,
           ','
   );

   if ( filehandle == INVALID_HANDLE ) {
       printf( "[%d]ファイルオープンエラー:%s" , __LINE__ , RelativeFileAddress );
   } else {
       FileSeek(filehandle, 0, SEEK_END);
       FileWrite(
         filehandle,
         dt,
         entryp,
         endp,
         symbol,
         entryhigh,
         entrylow,
         endhigh,
         endlow,
         up,
         down,
         toolnum
       );

       FileClose(filehandle);   
   }
}

まとめ

自作インジケーターでエントリーポイントの判断だけではなくデータを集めて分析できるようになるとmql4のおもしろさが増えます。

参考


美味しいご飯に使わせてもらいますmm