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

メタトレーダー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文が終了したらファイルを閉じる処理を行って終了です。

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




 
メタトレーダーで口座履歴を出力するには、ターミナルの口座履歴タブから出力できますが、

出力される形式がhtmlでブラウザで見る形式なので少々使いにくいです。

売買成績表の出力に関する記事

なので、口座履歴をCSVファイルに出力するスクリプトを作ってみます。

まずはメタエディターで、New をクリックして新規作成します。

次に、「Script」にチェックを入れて、「次へ」をクリックします。



名前に「RirekiOutPut01」と入力し、「完了」をクリックします。



これで準備完了です。

次回から作成していきますね。




   
メタトレーダーでは「ターミナル」の「口座履歴」から売買成績を出力すことができます。

まずは口座履歴を表示させ右クリックしてメニューを表示させます。



上の4つで履歴の期間を変更します。

希望の期間がなければ、「期間のカスタム設定」で好きな期間を自由に設定できます。

そして、メニューの「詳細レポートの保存」で売買成績を出力できます。



ファイルはメタトレーダーのフォルダに、DetailedStatement.htmという名前で保存されます。

上に売買の詳細が出て、下に成績のまとまったものと損益のグラフが出ます。

グラフが右肩上がりだといいですね

この成績は、先ほど設定した期間の分が出力されます。