MetaTrader 5 troubleshooting
Why is my MT5 EA not trading when Algo Trading is on?
Start in Toolbox → Experts and check the last message from that Expert Advisor. If there is no evidence an order was sent, look for an initialization failure or an entry filter. If the EA sent an order, its return code will help you narrow down the cause.
1. Confirm the EA is running on the right chart
In Navigator, check the running EA and its chart. In Experts, look for initialization errors, missing files or messages about invalid inputs. Compare the chart symbol, timeframe and EA inputs with the developer's instructions. Some EAs read one symbol's ticks while requesting orders on another, so capture the request symbol separately from the chart symbol.
2. Check each permission separately
The toolbar's Algo Trading switch controls the terminal. The EA also has its own permission in its properties. Check whether you signed in with investor access, which allows viewing but disables trading, and whether the broker permits expert trading on the account. MetaQuotes lists 10026 for a server-side automated-trading restriction and 10027 for the client terminal's restriction. A separate account, profile, chart symbol or timeframe change can turn off automation if the corresponding safety setting is enabled.
3. Find out whether the EA tried to enter
If the EA reports that it skipped an entry, check the recorded reason. Examples include an unmet signal condition, an out-of-session timestamp, a spread filter or an open-position cap. Check the symbol's trade session and its quote timestamp before assuming the EA is idle. On an EA that acts on ticks, an absent tick on the chart symbol can leave the entry logic waiting.
Worked example. Suppose a demo EA starts normally and logs spread 28 points; limit 20 points; entry skipped. No order was sent in that example. The entry filter explains the inactivity. An order log showing retcode=10018 would instead point to a request the server rejected because the market was closed.
4. Read the outcome of any submitted order
For a submitted request, use the actual return code and check the Trade and History tabs for any order or deal. A successful OrderSend() return alone does not show that a trade filled. If the EA logs too little to identify the branch, ask its developer for diagnostic logging that records initialization, entry decision, request symbol, and trade result.
Frequently asked questions
Does the EA stop running when Algo Trading is turned off?
An EA can continue receiving events and logging decisions. The setting prevents it from sending automated trade requests.
What can I check if there is no error code?
Check whether the EA initialized, whether the symbol produced a new tick if the EA is tick-driven, and whether the EA logged an eligible setup. An entry the EA skipped will have no trade server return code.
Get help with the diagnosis
Share the EA's last sanitized Experts line and whether it ever reported sending an order. That lets the community focus on the right branch.
Ask in TradeMaster Discord