![見出し画像](https://assets.st-note.com/production/uploads/images/24467381/rectangle_large_type_2_c9c04aa1c982c10cad3277cbf3805a1b.jpg?width=800)
【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時間足・始値のみのモデルで検証しています。画像を確認すると、0時に買って4時に売っていることがわかります。(日本時間6時に買って10時に売っています。)
今回は以上です。
この記事が気に入ったらサポートをしてみませんか?