MT5のプッシュ通知は、パソコン側のMT5、スマホ側のMT5アプリ、MetaQuotes ID、アラート設定、MQL5プログラムのどこかで止まると届きません。
メール通知と違い、プッシュ通知はスマホアプリ側に割り当てられるMetaQuotes IDへ送る仕組みです。まずは「どこから送っている通知なのか」を分けて見ると、原因を追いやすくなります。
先に短く言うと
- スマホ側のMT5アプリでMetaQuotes IDを確認する
- パソコン側MT5の「Notifications」タブでプッシュ通知を有効にする
- MetaQuotes IDを入力し、Testボタンで届くか見る
- アラートから送る場合は、Actionが「Notification」になっているか見る
- MQL5プログラムから送る場合は、SendNotification()の制限や設定エラーも見る
いきなりインジケーターやEAの中身を疑うより、まずは公式ヘルプに出てくる通知の経路を分けて見た方が早いです。通知が届かない原因は、プログラムではなくMetaQuotes IDや許可設定で止まっていることもあります。
MT5のプッシュ通知はどこへ送られるのか
MT5のプッシュ通知は、スマホの電話番号やメールアドレスへ直接送るものではありません。公式ヘルプでは、通知の受け取り先を示す識別子としてMetaQuotes IDが使われると説明されています。
スマホ側のMetaTrader 5アプリを入れると、端末ごとにMetaQuotes IDが割り当てられます。パソコン側MT5では、そのIDを通知設定へ入力して、スマホアプリへ通知を送る形になります。
MetaTrader 5公式ヘルプでは、プッシュ通知はデスクトップ版の取引プラットフォームやMQL5.communityサービスからモバイル端末へ送れる短いテキストメッセージとして説明されています。
また、スマホ側のMetaQuotes IDは端末ごとに固有で、デスクトップ側のNotifications設定に入力して使います。
まずパソコン側MT5のNotificationsタブを見る
パソコン側MT5では、通知設定を有効にしてMetaQuotes IDを入れます。ここが未設定だと、アラートやMQL5プログラム側が通知を送ろうとしても、送り先が決まりません。
| 見る項目 | 公式情報ベースで見る内容 |
|---|---|
| Enable Push Notifications | パソコン側MT5でプッシュ通知を有効にする項目です。ここが無効だと通知送信の前提が崩れます。 |
| MetaQuotes ID | スマホ側MT5アプリに割り当てられる通知先IDです。公式ヘルプでは最大4つまでカンマ区切りで指定できると説明されています。 |
| Test | 設定後にテスト通知を送るためのボタンです。まずここで届くかを見ると、アラートやプログラム側の問題と切り分けやすくなります。 |
| Local terminalの通知 | パソコン側のMT5から取引操作や残高操作などの通知を送る設定です。プラットフォーム側が稼働している前提で見る項目です。 |
| Trade serverの通知 | ブローカー側サーバーから送る通知です。公式ヘルプでは、利用可否や詳細はブローカーに依存すると説明されています。 |
アラートから送る通知ならActionを見る
MT5のアラートには、Sound、File、Email、Notificationなどの動作があります。スマホへプッシュ通知を送りたい場合は、アラートのActionがNotificationになっているかを見ます。
アラート条件そのものも、Bid、Ask、Last、Volume、Timeなどに分かれています。価格条件を間違えていれば、通知設定が正しくてもアラート自体が発動しません。
- Alertsタブで対象アラートが有効になっているか
- 条件がBid、Ask、Last、Volume、Timeのどれになっているか
- ActionがNotificationになっているか
- Source欄に通知本文が入っているか
- 有効期限や繰り返し回数で止まっていないか
- Testボタンでアラート動作を試したか
アラート本文にも制限があります。MT5公式ヘルプでは、プッシュ通知テキストの最大長は255文字と説明されています。長い文章を詰め込みすぎるより、銘柄、条件、価格など必要な情報に絞る方が扱いやすくなります。
MQL5プログラムから送る通知ならSendNotificationを見る
EAやインジケーターなどのMQL5プログラムからスマホへ通知する場合は、SendNotification()が関係します。MQL5リファレンスでは、この関数はNotificationsタブに指定されたMetaQuotes IDのモバイル端末へプッシュ通知を送るものとして説明されています。
ただし、SendNotification()には文字数や頻度の制限があります。設定が正しくない、本文が空、頻度が高すぎるなどの場合は、通知が失敗することがあります。
| 見る項目 | 内容 |
|---|---|
| 通知本文 | MQL5リファレンスでは、SendNotification()のtextは255文字以内と説明されています。空文字やNULLはエラー対象です。 |
| 通知頻度 | SendNotification()には、1秒あたり2回以内、1分あたり10回以内という制限があります。短時間に連発する設計は避けます。 |
| Strategy Tester | MQL5リファレンスでは、SendNotification()はストラテジーテスター内では動作しないと説明されています。テスターで届かないことを実運用環境の不具合と混同しないようにします。 |
| エラーコード | 通知送信失敗、パラメータ不正、通知設定不備、送信頻度超過などのエラーが用意されています。プログラム側でGetLastError()を見る設計だと原因を追いやすくなります。 |
スマホ側で見ること
パソコン側MT5のTest通知が成功しているのにスマホ画面に出ない場合は、スマホ側も見ます。MetaTrader 5 for Androidの公式ヘルプでは、プッシュ通知はスマホ側アプリが起動していなくても受け取れると説明されていますが、モバイルインターネットは必要です。
スマホ側の通知表示は、OSの通知許可、通信状態、省電力設定、アプリ側のメッセージ履歴などで見え方が変わることがあります。MT5側のMessagesや通知履歴に残っているかも見ると、届いているが表示されていない状態を切り分けやすくなります。
「スマホに出ない」と言っても、MT5から送れていない状態と、スマホ側には届いているが画面に表示されていない状態は別です。
まずはパソコン側MT5のTest通知、次にスマホ側MT5アプリ内のメッセージ履歴、その次に端末側の通知許可という順で見ると混乱しにくくなります。
届かない時の確認リスト
- スマホにMetaTrader 5アプリが入っているか
- スマホ側でMetaQuotes IDを見ているか
- パソコン側MT5のNotificationsタブでEnable Push Notificationsが有効か
- MetaQuotes IDに打ち間違いがないか
- 複数端末を使う場合、IDをカンマ区切りで入れているか
- Testボタンで通知が届くか
- アラートのActionがNotificationになっているか
- アラート条件が実際に発動する条件になっているか
- MQL5プログラムならSendNotification()の文字数・頻度・エラーを見たか
- ストラテジーテスター内で通知を確認しようとしていないか
- スマホ側の通信状態や通知許可に問題がないか
ラボメモ
MT5のプッシュ通知でつまずく時は、MetaQuotes ID、Notificationsタブ、アラートAction、SendNotification()を一度に疑うと迷いやすくなります。
まずTestボタンで通知経路そのものを見てから、アラート条件やMQL5プログラム側を分けて見ると、原因を追いやすくなります。
用語集であわせて見たい言葉
関連して読みたい記事
まとめ
MT5のプッシュ通知が届かない時は、まずMetaQuotes IDとNotificationsタブを見ます。公式ヘルプでは、MetaQuotes IDを入力し、最大4つまでカンマ区切りで指定でき、Testボタンで通知を試せると説明されています。
アラートから通知する場合はActionがNotificationか、条件が発動しているか、Sourceの本文が適切かを見ます。MQL5プログラムから通知する場合は、SendNotification()の文字数、頻度、設定エラー、ストラテジーテスター内では動作しない点も分けて見てください。
プッシュ通知は、取引判断を補助するための連絡手段です。通知が届くことと、取引判断そのものの良し悪しは別に扱いましょう。