【MQL4テクニック】ローソク足ごとに一回のみアラートを鳴らす方法。アラートが鳴り止まない方必見!!

インジケータにアラート機能を付けた際、「条件を満たし続けていると、アラートが鳴り止まない!」という悩みを抱えたことのある方も多いのではないでしょうか?
こちらの問題の、最も簡単な解決方法をご紹介いたします。
サンプルコード
datetime lastAlertTime;
グローバル変数として、lastAlertTimeを定義します。
if(lastAlertTime != Time[0]) {
Alert("Alert!!");
lastAlertTime = Time[0];
}
Alert関数の前後をこのように変更しましょう。
アラートが一度でもなると、lastAlertTime変数に今足のオープン時間を格納します。
if文は、今足のオープン時間とlastAlertTime変数の値が一致しない場合に通ります。
これにより二回目以降のアラートはif文で弾かれるので、ローソク足ごとに一回のみアラートが鳴るようになります。
まとめ
条件を満たし続けていると、「アラートが鳴り止まない」「メールが何通も届いてしまう」こんなインジケータやEAは不便ですよね。
- Alert関数(アラート)
- SendMail関数(メール通知)
- SendNotification関数(スマホプッシュ通知)
これらの機能をインジケータやEAに組み込む方は、超重要&必須テクニックです。
今すぐにマスターしましょう!