MT5 expert advisor not placing trades: a diagnostic checklist for permissions, broker limits and EA conditions
Your EA is attached but nothing happens? Work through Algo Trading switches, symbol permissions, broker restrictions, EA entry conditions and journal errors in order.

Why an MT5 expert advisor is not placing trades
When an MT5 expert advisor is not placing trades, the cause usually falls into one of four layers. Either the platform is blocking automated trading, the broker or account is restricting the symbol, the EA's own conditions are never met, or orders are being sent and rejected. Check those layers in that order and read the Experts and Journal tabs at each step.
This article is a triage checklist. If you already have an error message and want to decode it line by line, the companion guide on reading MT5 expert advisor log errors in the Experts and Journal tabs goes deeper on log interpretation. Here the goal is to find out which layer is blocking and fix it.
Automate this on MetaTrader 5
A MetaTrader 5 expert advisor with documented inputs, full backtest settings and clear risk limits.
Step 1: confirm the EA is actually running
First, make sure the EA loaded and initialized.
- Look at the top right corner of the chart. A loaded EA shows its name with a small icon. If nothing is there, the EA is not attached. Drag it again from the Navigator under Expert Advisors.
- Open the Experts tab in the Toolbox (Ctrl+T). A clean start prints a line saying the expert was loaded successfully. A message about initialization failure or the EA being removed means it never started.
- If the Navigator shows the EA greyed out or missing, the EX5 file may sit in the wrong folder. Use File >> Open Data Folder, then MQL5 >> Experts, place the file there and refresh the Navigator.
An EA that fails in its initialization routine never reaches its trading logic. Common reasons are a license or account number check, invalid inputs, or a missing indicator file the EA depends on.
Step 2: check every Algo Trading switch
Algo Trading disabled is the single most common reason an EA sits idle. MT5 has three separate gates, and all three must be open.
The toolbar button
The Algo Trading button on the main toolbar enables or disables automated trading for the whole terminal. When it is off, no EA can send orders. The MetaTrader 5 help on algorithmic trading and trading robots describes this switch and the related options.
The terminal options
Open Tools >> Options >> Expert Advisors. Check that algorithmic trading is allowed. Also review the boxes that disable algo trading automatically when the account changes, the profile changes, or the chart symbol or period changes. If one of these is ticked, switching from a demo to a live login or changing the chart from EURUSD to GBPUSD can silently turn the toolbar button off again. The platform settings page lists these options.
The EA's own properties
Right-click the chart, choose Expert list or open the EA properties, and go to the Common tab. The Allow Algo Trading checkbox must be ticked for that specific EA. Each chart has its own setting, so an EA on ES and another on NQ can have different permissions.
If you see error 4752 or a return code 10027 in the logs, one of these terminal side switches is off. Code 10026 points the other way, meaning automated trading is disabled on the server side, which is a broker matter.
Step 3: check account and symbol permissions
Once the platform allows trading, look at what the account and symbol allow. Symbol permissions are set by the broker and you cannot override them from the terminal.
Account level checks
- Logged in with the investor password? That login is read only. Every order fails. Log in again with the master password.
- Is the account active and funded? A disabled or archived demo account rejects orders.
- Is the account type hedging or netting? Some EAs are written for one mode. An EA that expects to open opposing positions can misbehave on a netting account.
Symbol specification
In Market Watch, right-click the symbol and open Specification. Check these fields:
- Trade mode. Full access means you can open and close. Close only, Long only, Short only or Disabled will block some or all entries. Close only rejects new positions with return code 10044.
- Minimum volume and volume step. If the EA sends 0.01 lots and the minimum is 0.1, the order fails as an invalid volume (10014).
- Stops level. If the EA places stop loss or take profit closer than this distance, the order fails with invalid stops (10016).
- Filling mode. If the EA requests a fill policy the symbol does not support, you get an unsupported filling type (10030).
- Trading sessions. Orders sent outside the quote and trade sessions return market closed (10018).
Symbol name mismatch
Many brokers add suffixes such as EURUSD.m, EURUSD.pro or EURUSDi. CFD index and futures symbols vary even more, so an EA coded for "US500" will not find a symbol named "SP500" or an ES contract with a month code. If the EA has a symbol input, match it exactly to the name in Market Watch. Also make sure the symbol is visible in Market Watch, since some EAs only read symbols that are shown there.
Step 4: check broker side restrictions
Some blocks come from the trade server rather than the symbol sheet.
- Server side algo trading disabled (10026). Some account types or prop style accounts restrict EAs. Ask the broker directly.
- Not enough money (10019). Margin on CL or a leveraged index CFD can exceed what a small account holds, especially with a fixed lot input.
- Trade disabled (10017). The symbol or account is temporarily blocked, often around rollovers, holidays or maintenance.
- Request rejected or requote messages around news. These are execution conditions, not an EA bug.
If the Journal tab shows the order request leaving the terminal and a rejection coming back, the problem is on this layer. Your EA did its job; the server said no.
Step 5: check the EA's own trading conditions
If there are no errors at all and no order attempts, the EA is probably running but its conditions are never true. This is normal behavior, not a fault, but you need to confirm it.
Work through the inputs with the documentation in hand:
- Time filters. A session filter set to server time can be hours off from your local time. An EA meant to trade the US open on NQ may be waiting for a window that, on your broker's server clock, falls at a different hour.
- Spread filter. A maximum spread input that is tighter than the live spread blocks every entry. EURUSD at 0.8 pips on one broker might be 1.5 on another. See MT5 expert advisor risk settings explained for how spread and sizing safeguards interact.
- Trading days. Some EAs skip Mondays, Fridays or news days by default.
- Magic number and existing positions. Many EAs allow one position per magic number. If a manual or older position with the same magic number is open, the EA may wait.
- Daily loss or trade count limits. Once hit, the EA stops until the next day or a reset.
- Timeframe. An EA built for M15 attached to an M1 chart may compute different signals, or refuse to run if it checks the period.
- New bar logic. EAs that act only at bar open will do nothing intra bar. On H1 or H4 that can mean a long wait.
A quick way to separate "no signal" from "blocked" is to run the same EA and inputs in the Strategy Tester on the same symbol and recent dates. If it trades in the tester but not live, the live environment is blocking it. If it does not trade in the tester either, the conditions or inputs are the cause. The guide on how to test an expert advisor in MT5 covers that setup.
Step 6: read the EA journal errors in order
EA journal errors tell you which layer failed, so read both tabs:
- The Experts tab shows messages printed by the EA itself: initialization, signals, its own reasons for skipping a trade, and trade function errors.
- The Journal tab shows terminal and server events: connection, login, order requests and server replies.
A practical routine:
- Right-click inside the tab and open the log folder, or use the search box, so you see the full day rather than the visible lines.
- Find the time the EA should have traded.
- If there is no order request at that time, the problem is Step 2 or Step 5.
- If there is a request followed by a return code, map the code to Step 3 or Step 4.
If the EA prints nothing useful, ask the vendor whether it has a verbose or debug logging input. A well documented MT5 expert advisor should log why it skipped an entry, not just when it fails.
Quick reference checklist
- EA name and icon visible on chart, loaded message in Experts tab
- Algo Trading toolbar button on
- Tools >> Options >> Expert Advisors allows algorithmic trading, auto disable boxes reviewed
- Allow Algo Trading ticked in the EA's Common tab
- Logged in with the master password, account active
- Symbol trade mode is Full access, name matches the EA input
- Lot size within minimum and step, stops beyond the stops level
- Market open, enough free margin
- Time, spread and day filters compatible with the broker's server time and live spread
- No conflicting position with the same magic number
Conclusion
An idle EA is rarely mysterious once you check it layer by layer: platform switches, account and symbol permissions, broker restrictions, the EA's own conditions, then the logs to confirm. Most cases resolve at the Algo Trading switches or the symbol specification. If everything is open and the logs show no attempts, the EA is likely waiting for conditions it was designed to wait for, and the Strategy Tester will confirm it.
FAQ
Why does Algo Trading turn off by itself when I switch accounts?
Tools >> Options >> Expert Advisors has an option to disable algorithmic trading when the account changes. Untick it if you want the setting to persist, but review your EAs before logging in to a live account.
My EA trades on demo but not on live with the same broker. What should I compare?
Compare the symbol names, trade mode, minimum volume, stops level and filling mode in each account's Specification window, and confirm the live account allows automated trading on the server side.
Does a VPS fix an EA that is not placing trades?
A VPS keeps the terminal running and connected, but it does not change permissions or EA conditions. If the EA is blocked locally, it will be blocked on the VPS with the same settings.
Can a market holiday stop my EA without an error?
Yes. If the EA checks session times before sending an order, it may skip silently. If it sends anyway, you will see a market closed code in the Journal.
For a documented robot with clear inputs and set files, explore the MT5 expert advisor at SierraOnShop.
Run it in MetaTrader 5
Written by
Clement
Futures trader for more than seven years, specialized in order book and order flow scalping on US index futures, now building automated strategies. Founder of SierraOnShop.
More about the authorReady to run an expert advisor?
A MetaTrader 5 expert advisor with documented inputs, full backtest settings and clear risk limits.