Sending MT5 Push Notifications from an EA: Setup & Design
Contents (5)
Contents
Here is the conclusion up front. EA push notifications are not for announcing every fill. Use them only to signal the moments when a human needs to act. If you send too many, you will miss the one message that really matters. We design our notifications around three types: "stopped," "unexpected," and "milestone."
How it works: from the EA to your phone
MT5 push notifications are sent with the MQL5 function SendNotification(). They are delivered to the MetaQuotes ID assigned to your MT5 mobile app. The flow looks like this:
- The EA calls
SendNotification("message text") - The MT5 terminal running the EA sends the message to MetaQuotes' servers
- The push notification arrives at the MT5 mobile app with the matching MetaQuotes ID
The key point is that the notification is sent by the terminal the EA is running on. If you run your EA on a VPS, you must set the MetaQuotes ID in the MT5 on the VPS, not on your own PC. Setting it up only on your local PC and wondering why nothing arrives is a very common mix-up.
The function also has some built-in limits. The message can be at most 255 characters, there is a cap on sending frequency, and calling it repeatedly in a short time returns an error. Notifications are not sent inside the Strategy Tester.
Recommended Broker Comparison →
🎁 Download Free EA📧 Free 8-email course + subscriber-only pack of 13 MT5 indicators
* Privacy strictly protected. You can unsubscribe at any time.
Setup steps
1. Find your MetaQuotes ID
Open the MT5 mobile app (iOS/Android) and look for the MetaQuotes ID under the messages-related item in the settings screen. It is a short alphanumeric ID. Its location can change between app versions, so if you can't find it, look around the settings screen.
2. Register it in the terminal
In the MT5 that runs your EA, open Tools → Options → Notifications, tick "Enable Push Notifications," and enter the ID. If the "Test" button delivers a test notification, the setup is complete.
3. Turn on notifications in the EA
If the EA has an input parameter for notifications, turn it on. How to configure the EA itself is covered in EA setup guide. For points to watch when running on a VPS, see VPS information.
What to notify and what not to
This is the breakdown we use.
| Category | Examples to notify | Examples not to notify |
|---|---|---|
| Stopped | Order rejections keep occurring, the connection dropped, automated trading was disabled | A single temporary requote |
| Unexpected | Margin level fell below your own threshold, drawdown exceeded your tolerance | Normal swings in floating loss |
| Milestone | Daily P/L summary (once a day) | Every entry and exit |
Whether to include "every fill" depends on the EA's trading frequency. Let's compare two of our EAs.
GOLD TRIPWIRE has 2762 trades in the backtest (6.8 years tested), with an average holding time of 2:38:15. BITCOIN COMET has 775 trades in the backtest (8 years tested), with an average holding time of 63:51:39.
With a fast-turnover EA like the former, notifying on every fill will keep your phone buzzing and bury the important alerts. With a longer-holding EA like the latter, per-fill notifications are probably not much of a burden. Keep in mind that these are backtest figures, so actual trading frequency will vary with the market. Details are on the GOLD TRIPWIRE and BITCOIN COMET pages.
How to write the message
Write notifications so you can judge them from the first few dozen characters shown in the notification tray. If you use the order "[Account last digits][EA abbreviation][Category] Message," you can tell what happened without opening the notification, even when you run several EAs or accounts.
Limits and cautions
Let us be honest about the downsides.
- No notification does not necessarily mean everything is fine. If the whole terminal is down, there is nothing left to send the alert. A "stopped" notification can't be sent by the thing that has stopped. The only way around this is to add a heartbeat notification that says "still alive" at a fixed time, and to notice when it fails to arrive.
- Delivery is not guaranteed. It depends on MetaQuotes' servers, your phone's OS, and network conditions. We don't know exactly how often delays or drops occur.
- When you hit the rate limit, messages are silently dropped. Repeated errors can also clog the notification handling itself, so the EA needs to space out its sending intervals.
- Intervening manually after seeing a notification makes your operation different from the EA's tested results. A notification is input for a decision to stop, not a signal to tinker with positions at your own discretion.
- Notifications that go off in the middle of the night degrade your judgment. If the alternative is fumbling with your phone half-asleep and causing an accident, limiting overnight alerts to "stopped" types only is a reasonable choice.
Summary
- Register your MetaQuotes ID in the terminal that runs the EA (the VPS's terminal, if you use a VPS)
- Always confirm delivery with the "Test" button
- Limit notifications to three types: "stopped," "unexpected," and "milestone"
- Decide whether to notify on every fill based on trading frequency. For fast-turnover EAs, roll them into a summary
- Not receiving a notification doesn't prove everything is normal. Use a heartbeat notification so you can notice the silence
- Notifications are input for a decision to stop, not a signal for discretionary intervention
Related
2026-11-04
MagicNumber Design for Running Multiple EAs on One Account
2026-11-02
MT5 Orders and Positions: Avoid Netting Account Mishaps
2026-11-13
Keep Every Fill in CSV and Audit Your EA Yourself
2026-11-12
EA Log Design: Make Incidents Reproducible Later
📧 Free 8-email course + subscriber-only pack of 13 MT5 indicators
* Privacy strictly protected. You can unsubscribe at any time.
Have a question about EAs or FX?
You can post it on the Nattzy trading forum (free sign-up). Questions beyond this article are welcome too — EA settings, choosing a broker and more.
Ask on Nattzy ↗