MT4のプッシュ通知をスマホで受け取りたい時に、よく出てくるのが MetaQuotes ID です。メール通知のようにSMTPを入力するのではなく、スマホ側のMetaTraderアプリに割り当てられたIDを、PC版MT4の通知設定へ入れて使います。
この記事では、MetaTrader 4公式ヘルプとMQL4公式ドキュメントをもとに、MetaQuotes IDとは何か、どこで見るのか、PC版MT4のNotificationsタブへどう入れるのか、AlertのNotificationやMQL4の SendNotification() とどう関係するのかを分けて見ます。
- MetaQuotes IDは、スマホのモバイル端末に割り当てられる識別子です。
- MT4公式ヘルプでは、スマホアプリの
Settings - MessagesでMetaQuotes IDを確認できると説明されています。 - PC版MT4では、OptionsのNotificationsタブでPush notificationsを有効にし、MetaQuotes IDを入力して使います。
- MQL4の
SendNotification()は、Notificationsタブで指定されたMetaQuotes IDのモバイル端末へ通知を送る関数です。
MetaQuotes IDはスマホ通知の送り先を示すID
MetaQuotes IDは、PC版MT4からスマホのMetaTraderアプリへプッシュ通知を送る時の送り先として使われます。メールアドレスや電話番号ではなく、モバイル端末側に割り当てられたIDをPC版MT4へ入力する形です。
MetaTrader 4公式ヘルプでは、MetaQuotes IDはモバイル端末へインストールされた時に割り当てられる一意の識別子と説明されています。つまり、PC版MT4側で適当に作るものではなく、スマホ側のMetaTraderアプリで確認してから入力します。
MT4公式ヘルプでは、MetaQuotes IDを確認するにはモバイル端末を開き、Settings - Messages へ進むと説明されています。まずスマホ側でIDを確認し、それをPC版MT4のNotificationsタブへ入力する流れで見ます。
MetaQuotes IDはスマホ側で確認する
プッシュ通知の設定で最初につまずきやすいのは、MetaQuotes IDをPC版MT4の中で探してしまうことです。IDは通知を受け取るスマホ側のMetaTraderアプリで確認します。
スマホアプリを入れ直した場合や、別のスマホへ移した場合は、MetaQuotes IDが以前と同じとは限りません。通知が急に届かなくなった時は、古いIDのままPC版MT4に残っていないかも見てください。
Settings - Messages でMetaQuotes IDを確認すると説明されています。アプリの表示言語によって表記は少し変わることがあります。
PC版MT4ではNotificationsタブを見る
PC版MT4側では、オプション画面のNotificationsタブでプッシュ通知を設定します。公式ヘルプでは、Enable Push notifications を有効にするとクライアント端末から通知を送れるようになると説明されています。
また、公式ヘルプでは、MetaQuotes IDはカンマ区切りで複数入力でき、最大4つまで指定できると説明されています。複数スマホやタブレットに同時送信したい場合は便利ですが、最初の確認では1つだけ入力してTestする方が原因を分けやすくなります。
PC版MT4からスマホへ通知を送るための基本設定です。まずここが有効かを見ます。
スマホアプリ側で確認したIDを入力します。複数IDを入れる場合はカンマ区切りで見ます。
設定後にTestを使い、スマホへ通知が届くかを見ます。届かない場合はIDとスマホ側の通知許可を分けて見ます。
AlertのNotificationとMetaQuotes IDの関係
MT4のAlertでは、Actionに Notification を選ぶことでモバイル端末へプッシュ通知を送る形にできます。公式ヘルプでは、プッシュ通知を送るには端末設定でMetaQuotes IDを指定する必要があると説明されています。
Alert EditorのSourceには、Actionによって指定する内容が変わります。Notificationの場合は、Sourceにプッシュメッセージの本文を指定し、最大メッセージ長は255文字と説明されています。
PC版MT4で音声ファイルを再生するアラートです。スマホ通知とは役割が違います。
EmailタブのSMTP設定を使います。MetaQuotes IDではなくメール送信設定を見ます。
NotificationsタブのMetaQuotes IDを使います。スマホ側のアプリと通知許可も関係します。
インジケーターやEAではSendNotificationを見る
カスタムインジケーターやEAがプッシュ通知を送る場合、MQL4の SendNotification() が使われることがあります。MQL4公式ドキュメントでは、この関数はNotificationsタブで指定されたMetaQuotes IDのモバイル端末へプッシュ通知を送ると説明されています。
つまり、ツール側にプッシュ通知機能があっても、PC版MT4のNotificationsタブでMetaQuotes IDが入っていなければ通知先を見失います。逆に、Test通知は届くのにインジケーター通知だけ届かない場合は、ツール側の通知設定、条件成立、関数の呼び出し頻度を分けて見ます。
MQL4公式ドキュメントでは、SendNotification() のメッセージ長は255文字以内で、Strategy Testerでは動作しないと説明されています。また、呼び出し頻度にも制限があります。バックテスト中に通知が来ないからといって、すぐに設定ミスとは判断しないでください。
MetaQuotes IDが合っていても届かない時に見ること
MetaQuotes IDを入力していても、通知が届かないことがあります。その場合は、IDだけでなく、PC版MT4の通知許可、Test結果、スマホ側の通知許可、アプリの状態、ツール側の通知条件を分けて見ます。
特に、PC版MT4のTest通知が届くかどうかは切り分けに使いやすい項目です。Test通知が届かない場合は、ID、Notificationsタブ、スマホ側の通知許可を先に見ます。Test通知は届くのに特定のインジケーター通知だけ届かない場合は、インジケーター側の設定や発動条件を見る流れになります。
MetaQuotes ID、Enable Push notifications、スマホ側の通知許可、アプリのMessages画面を見ます。
インジケーターやEAの通知設定、条件成立、SendNotificationの使われ方を分けて見ます。
スマホ変更やアプリ入れ直しでMetaQuotes IDが変わっていないかを確認します。
通知を使う前のチェックリスト
プッシュ通知は、PC版MT4、スマホアプリ、通知を出すAlertやインジケーターがつながって初めて使えます。どこか一つだけを見ても原因が見えにくいので、順番に分けて見てください。
- スマホのMetaTraderアプリでMetaQuotes IDを確認したか
- PC版MT4のNotificationsタブでPush notificationsを有効にしたか
- MetaQuotes IDを余計な空白や文字抜けなく入力したか
- 複数IDを入れる場合、カンマ区切りになっているか
- Test通知がスマホへ届くか
- スマホ側でアプリ通知が許可されているか
- AlertのActionがNotificationになっているか
- インジケーターやEA側でプッシュ通知が有効になっているか
- バックテスト中の通知確認と実運用中の通知確認を混同していないか
ラボメモ
MetaQuotes IDで迷う時は、PC版MT4ではなくスマホ側のMetaTraderアプリを起点にすると原因を分けやすくなります。
Test通知が届くかどうかで、基本設定の問題なのか、インジケーターやEA側の問題なのかを切り分けて見てください。
用語集であわせて見たい言葉
関連して読みたい記事
まとめ
MetaQuotes IDは、MT4のプッシュ通知をスマホへ送る時に使う送り先のIDです。PC版MT4の中で作るものではなく、スマホのMetaTraderアプリ側で確認し、PC版MT4のNotificationsタブへ入力して使います。
PC版MT4ではPush notificationsを有効にし、MetaQuotes IDを入力してTest通知を送ります。Alertでスマホ通知を使う場合はActionをNotificationにし、インジケーターやEAが通知を送る場合は SendNotification() とツール側の通知設定も見ます。
通知が届かない時は、MetaQuotes IDだけを疑うのではなく、Test通知、スマホ側の通知許可、アプリ再インストール、ツール側の通知条件を分けて見てください。
- MetaTrader 4 Help「Notifications」https://www.metatrader4.com/en/trading-platform/help/setup/settings_notifications
- MetaTrader 4 Help「Alerts」https://www.metatrader4.com/en/trading-platform/help/overview/terminal/terminal_alerts
- MQL4 Documentation「SendNotification」https://docs.mql4.com/common/sendnotification
- MQL4 Documentation「Client Terminal Properties」https://docs.mql4.com/constants/environment_state/terminalstatus