見出し画像

【MQL】指定時間後にポジションをクローズする【EA】

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

1.内容

バイナリーオプションを意識して、ポジションをとったら指定時間後にポジションを閉じるEAを作成しました。具体的には、次のとおりです。

・陽線が2本続いたら買いでエントリー
・エントリーしたら〇分後に決済(初期値は10分後としています。)


2.コード

#property version   "1.00"
#property strict
input double LOT = 0.01;   //ロット
input int SLIP = 1;     //スリッページ
input int MAGIC = 12345;      //マジックナンバー
input int EXIT_TIME_M = 10;   //決済時間(分)
void OnTick()
{
  if(OrdersTotal() == 0 && Close[2] - Open[2] > 0 && Close[1] - Open[1] > 0 ) {
     int ticket = OrderSend(Symbol(), OP_BUY, LOT, Ask, SLIP, 0, 0, "BUY", MAGIC, 0, clrRed);
  }
  bool Pos = OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
  if( TimeCurrent() >= OrderOpenTime() + EXIT_TIME_M * 60 ) {
     bool Exit = OrderClose(OrderTicket(), LOT, Bid, SLIP, clrDodgerBlue);
  }
}


3.コードのファイル


4.実行結果

画像1

画像2

今回は、1分間足・始値のみのモデルで検証しています。画像を確認すると、エントリーの10分後に決済していることがわかります。

バイナリーオプションの検証用に使ってみようかと思います。次回は、これを何かしら発展させてみたいです。


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