見出し画像

【MQL】ある時間にポジションをオープンまたはクローズする【EA】

本記事は、プログラミング学習の備忘録です。本記事のコード等をご利用になる際は、ご自身の責任においてご利用ください。

1.内容

ドル円の仲値トレードを意識して、ある時間にポジションをとり、ある時間にポジションを閉じるEAを作成しました。具体的には、次のとおりです。

・朝6時に買って、朝10時に売る
・SL・TPは入れない

なお、タイムゾーンについて、MT4は
夏時間:GMT+3
冬時間:GMT+2
です。日本はGMT+9なので、夏時間でMT4時間が0時の場合は、日本時間は6時です。


2.コード

#property version   "1.00"
#property strict
input double LOT = 0.01;   //ロット
input int SLIP = 1;     //スリッページ
input int MAGIC = 12345;      //マジックナンバー
void OnTick()
{
  static int ticket;
  
  if(OrdersTotal() == 0 && Hour() == 0 ) {
     ticket = OrderSend(Symbol(), OP_BUY, LOT, Ask, SLIP, 0, 0, "BUY", MAGIC, 0, clrRed);
  }
  if(OrdersTotal() > 0 &&  Hour() == 4) {
     bool Exit = OrderClose(ticket, LOT, Bid, SLIP, clrDodgerBlue);
  }
}


3.コードのファイル


4.実行結果

画像1

画像2

今回は、1時間足・始値のみのモデルで検証しています。画像を確認すると、0時に買って4時に売っていることがわかります。(日本時間6時に買って10時に売っています。)

今回は以上です。


この記事が気に入ったらサポートをしてみませんか?