専業トレーダーは別ですが、ほとんどの人は、仕事とトレードを兼業する形になります。

チャートを監視できない時間が多い兼業トレーダーの場合、監視してないときに限って、トレードしてたら勝ってた。
ということが多くないですか?
トレードスタイルにもよりますが、エントリー条件を満たすことって、そんなに頻繁にありません。

その待ちに待ったチャンスを逃して、それが大きな利益になってた。
なんてことがあると、負けた訳でもないのに、逃した大きな利益を取り返そうと、無理なトレードをしちゃいます。
良くある負けパターンですね。
チャンスを逃さないために、
エントリー条件を満たしたら、通知するように、自分でプログラミングしたい。
今回は「アラート」「サウンド」「メール」による通知をプログラミングする方法をご紹介します。
アラート通知「Alert関数」
アラート通知とは、ポップアップ通知のことですね。
アラート「メッセージ」と同時に「通知音」も鳴るので、パソコンの音声を有効にしていれば見逃しません。
void Alert(
argument, // 始めの値
... // 他の値(最大64個まで)
);
アラート通知に表示する値(メッセージ)を引数で渡します。
カンマ「,」で区切って、複数の値を引数に指定でき、アラート通知では。複数の値を連結して、1つのメッセージとして表示されます。
改行したい場合は、改行文字「\n」又は「\r」を使用すれば可能です。
コード例)
//MAをデッドクロス
Alert ( Symbol() + " M" + IntegerToString(Period()) + " MA DownCross Sign" );
上記コードを「GBPJPY」「5分足」で実行した場合、
「GBPJPY M5 MA DownCross Sign」
という、アラートメッセージ(ポップアップメッセージ)が通知されます。
サウンド通知「PlaySound関数」
サウンド通知は、その名の通り、音声による通知です。
引数で指定した「音声ファイル」を再生します。
bool PlaySound(
string filename //音声ファイル名
);
コード例)
PlaySound("alert.wav");
再生する音声ファイルは、MT4の「Sounds」フォルダ配下にある「wav」形式の音声ファイルに限られます。
僕の環境では、「Program Files (x86)」の「MT4インストール」フォルダ配下に「Sounds」フォルダがありますが、MT4のバージョンによって違うかも知れません。
C:\Program Files (x86)(MT4インストールフォルダ)\Sounds

ちなみに、ここに自前の音声ファイルをコピーすれば、再生可能です。
メール通知「SendMail関数」
MT4で設定したメールアドレス宛に、Eメールを送信します。
bool SendMail(
string subject, // 件名
string some_text // 本文
);
宛先のメールアドレスは、MT4のメニューから「ツール」→「オプション」→「E-メール」タブで設定します。

コード例)
//MAをデッドクロス
string title = "MA DownCross " + Symbol() + " M" + IntegerToString(Period());
string text = "MT4Time [" + TimeToString(TimeCurrent()) + "]\nBid [" + DoubleToString(Bid) + "]";
SendMail( title, text );
上記コードを「GBPJPY」「5分足」で実行した場合、
MA DownCross GBPJPY M5
MT4Time [2022.08.01 09:18]
Bid [154.49700000]
というような内容のEメールが送信されます。
以上、良く使われる3つの通知方法をご紹介しました。
MQL4の通知を上手く活用し、常時チャートが監視できない場合もチャンスを逃さないようにしましょう。
他にも、通知する方法がありますので、また別な機会にご紹介させて頂きます。