口座履歴をCSVに書き出すスクリプト その2 | メタトレーダー4でプログラムを作ってみよう

メタトレーダー4でプログラムを作ってみよう

無料のトレードソフトであるメタトレーダー4のプログラムを作るコツをアップします。初心者がインジケーターとEAのプログラムを作成できるのを目指します。

それではプログラムをやっていきます。

start に以下を追加してください。

string UserName = "修一";
int handle;
string LogFileName;
string HistoryData;
string BuySellType;
LogFileName = "Log_" + UserName + ".csv";

handle = FileOpen(LogFileName, FILE_CSV|FILE_WRITE);
for (int i = 0; i < OrdersHistoryTotal(); i++)
{
   if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY) == true)
   {
      if (OrderType() == 0) BuySellType = "Buy";
      if (OrderType() == 1) BuySellType = "Sell";
      if (OrderType() == 2) BuySellType = "BuyLimit";
      if (OrderType() == 3) BuySellType = "SellLimit";
      if (OrderType() == 4) BuySellType = "BuyStop";
      if (OrderType() == 5) BuySellType = "SellStop";
     
      HistoryData = OrderTicket()
         +","+ BuySellType
         +","+ DoubleToStr(OrderLots(),2)
         +","+ TimeToStr(OrderOpenTime(),TIME_DATE)
         +","+ TimeToStr(OrderOpenTime(),TIME_SECONDS)
         +","+ DoubleToStr(OrderOpenPrice(),5)
         +","+ TimeToStr(OrderCloseTime(),TIME_DATE)
         +","+ TimeToStr(OrderCloseTime(),TIME_SECONDS)
         +","+ DoubleToStr(OrderClosePrice(),5)
         +","+ OrderMagicNumber()
         +","+ OrderComment()
         +","+ AccountCompany();

      FileWrite(handle, HistoryData);
   }
}
FileClose(handle);




処理の流れを説明します。

最初に変数を宣言しています。

UserName はそれぞれ好きな名前を設定してください。

次に、ファイルに書き出しをしますのでそれに関する関数を使用しています。

それから、売買履歴をfor分を使って書き出します。

for文の中に書き出す内容を設定しています。

for文が終了したらファイルを閉じる処理を行って終了です。

次回、もう少し詳しく説明しますね。