【MT4・MQL】EAで1日に1回だけエントリーする方法

エントリーロジックとエグジットロジックを書いて、「おーし、OK!」と思っていると、条件に合致すると何度でもエントリーエグジットしてしまいますよね?

あるタイミングでエントリーするようなEAだと1日1回でいいんだけどな〜という時のお話です。

コードはこんな感じでいけます↓

1日に1回だけエントリーする条件

これです!

コード解説

本日の始まり YYYY/MM/DD 00:00:00 をまずは文字列で取得します。

本日の一番最後の時間 YYYY/MM/DD 23:59:59 を文字列で取得します。

OrdersHistoryTotal()は「決済(クローズ)」済みの総件数が取得できます。

OrderSelect(historycnt, SELECT_BY_POS, MODE_HISTORY)で、「決済」済みの実際のデータを取得していきます。

取得したデータのエントリー日時はOrderOpenTime()で取得します。
先ほど取得しておいた、本日の 00:00〜23:59の間に、エントリーがされているか? というのを判定しています。
これで、本日エントリーされたデータが存在するというのを確認しています。

このコードの例では、その後、booleanのEntryFlg を使って、実際のエントリーロジックに入る部分にif文を定義して、本日エントリーされていればエントリーしないというロジックを想定しています。

それでは!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です