![見出し画像](https://assets.st-note.com/production/uploads/images/24773003/rectangle_large_type_2_d388c96c9d85435a186dd266efe87c3d.jpg?width=800)
【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分間足・始値のみのモデルで検証しています。画像を確認すると、エントリーの10分後に決済していることがわかります。
バイナリーオプションの検証用に使ってみようかと思います。次回は、これを何かしら発展させてみたいです。
この記事が気に入ったらサポートをしてみませんか?