An expert advisor that sits on the chart and never opens a trade is almost never broken. Nine times out of ten MetaTrader has told you why, in a corner of the chart or a line in the Journal, and the fix takes a minute. Work through these checks in order. They start with the causes that account for most cases and end with the ones that need a message to your broker.
Read the corner of the chart first
When an EA is attached, its name appears in the top right corner of the chart with an icon next to it. The icon tells you whether MetaTrader is letting it trade:
| Platform | Allowed to trade | Not allowed to trade | No icon or no name |
|---|---|---|---|
| MT4 | Smiling face | Sad face | The EA is not attached or failed to load |
| MT5 | Blue hat | Grey or crossed-out hat | The EA is not attached or failed to load |
A sad face or grey hat means one of the first two checks below is the cause. A smiling face or blue hat means permission is fine and the EA is waiting for its own conditions, so skip to check 4. No name at all means the file did not load; the install guide covers that.
1. Algo Trading is off
The Algo Trading button (called AutoTrading in MT4) in the main toolbar is a master switch for every EA in the terminal. Red or grey means off, green means on. Click it once. The Journal logs the change as “automated trading enabled”.
It switches itself off more often than people expect: after a terminal update, when you restart MetaTrader with the option “Disable automated trading when the account has been changed” ticked, and on some VPS images after a reboot. If it goes off on its own, check Tools, Options, Expert Advisors for the tick boxes that disable it on account or profile changes.
2. The EA's own permission
Each EA also has its own permission on the Common tab of its settings: Allow Algo Trading (MT5) or Allow live trading (MT4). If you clicked OK without ticking it, the EA loads with a sad face and MT5 writes error 4752, “trade is not allowed”, to the Experts tab on its first attempt.
Press F7 on the chart to open the settings, tick the box and click OK. In MT5 you can make it the default for every EA under Tools, Options, Expert Advisors, Allow algorithmic trading.
3. DLL imports and WebRequest
Some EAs need two more permissions on the same Common tab or in Options. If the Experts tab shows “cannot load”, “DLL imports are not allowed” or “WebRequest… is not allowed”, that is why nothing trades:
- Allow DLL imports is needed by EAs that call a Windows library, for licensing or a news feed. Tick it on the Common tab only for EAs you trust, because a DLL can do anything on your computer.
- Allow WebRequest for listed URL lives under Tools, Options, Expert Advisors. EAs that check a license server or download a news calendar need their URL added there. The error message in the Experts tab names the URL to add.
After changing either option, remove the EA from the chart and attach it again so it starts with the new permissions.
4. Wrong symbol, suffix or timeframe
With permissions fixed and a happy icon, the next question is whether the EA can see the market it was built for.
- Symbol suffix. Your broker may quote
EURUSD.m,EURUSDproorGOLD. An EA that looks for a hard-codedEURUSDorXAUUSDnever finds a price and either stays silent or logs “unknown symbol”. Look for a symbol or suffix input, or attach the EA to the chart with your broker's exact symbol name. - Symbol not in Market Watch. Multi-symbol EAs can only trade symbols shown in Market Watch. Right-click there, choose Show All, or add the symbols the EA needs.
- Timeframe. Many EAs trade only on the timeframe they were designed for and ignore every other chart. Check the product page or the set file name for the intended one.
- Digits and points. An EA whose stops are in points can produce an invalid stop on a broker with different digits, and the order is rejected with “invalid stops” in the Journal. Our set file guide explains how digits change what an input means.
5. The market is closed or the account is read-only
Obvious once said, but it catches everyone: forex closes from Friday evening to Sunday evening in server time, gold and indices have their own daily breaks, and some brokers close for an hour at rollover. The market hours tool shows the sessions in your time zone. An EA attached on Saturday will not do anything until Monday and that is correct behaviour.
Also check the bottom right corner of the terminal. “No connection” or “Invalid account” means the EA has no prices at all. If you logged in with the investor (read-only) password, everything looks normal but every order is refused with “trade disabled” or “AutoTrading disabled by server”. Log in again with the main password.
6. The EA's own filters are holding it back
An EA with a happy icon and an open market may simply be following its rules. Open its inputs (F7) and look for anything that gates trading:
- Time filter. Start and end hours are in your broker's server time, not your clock. A London-session EA on a GMT+3 server trades at different numbers than the seller's GMT+0 example.
- Day filter. Some EAs do not trade on Monday morning or Friday afternoon, or skip the first and last days of the month.
- Spread filter. A maximum spread of 15 points will block a gold EA all day at a broker whose spread is 25 points. Compare the filter with the spread shown in Market Watch.
- News filter. Around high-impact releases the EA pauses, sometimes for hours either side. If the filter cannot download the calendar (see WebRequest above) some EAs stay paused permanently to be safe.
- Maximum trades or one trade per bar. If a position is already open on another chart with the same magic number, the EA may be waiting for it to close.
- Signal conditions. Trend EAs can wait days for a setup. A quick way to tell: run the same settings in the strategy tester over the last month and count the trades. Our backtesting guide shows how.
7. Not enough margin, or the lot is wrong
If the Journal shows “not enough money”, “invalid volume” or “no money”, the EA is trying to trade and the broker is refusing:
- Not enough money. The lot size needs more margin than your free margin. Lower the lot or risk input, or check the EA is not sized for a $10,000 account on a $500 one. The margin calculator shows the margin per lot at your leverage.
- Invalid volume. The lot is below the broker's minimum, above its maximum or not a multiple of its lot step. A risk-percent EA on a small account can compute 0.004 lots and get this error every time. Use the position size calculator to see what lot your risk setting implies.
- Invalid stops. The stop loss or take profit is inside the broker's minimum stop distance. Widen the stop input or check the points-versus-pips setting.
- Trade context busy or requote. Momentary refusals during fast markets. If they repeat constantly, another EA on the same terminal may be flooding the server with modifications.
8. Prop-firm and broker restrictions
Some accounts do not allow expert advisors at all, and the symptoms look like a permission problem you cannot fix:
- “EA execution is prohibited” or “AutoTrading disabled by server” in the Journal, with the Algo Trading button greyed out so you cannot turn it on. The broker or prop firm has disabled algorithmic trading for the account type. No setting on your side changes this.
- Prop-firm challenge rules. Some firms forbid EAs on certain challenge types, some allow them only as trade or risk managers, and some charge an EA usage fee or restrict them above a certain account size. Our prop-firm rules guide has a firm-by-firm table.
- Demo accounts from some brokers expire after 30 days or block algorithmic trading unless you ask for it. Check the account's expiry in the Journal at login.
9. Read the Journal and Experts tabs
Everything above is logged. In the Toolbox (Terminal in MT4) at the bottom of the screen:
- The Experts tab shows what the EA itself printed: its initialisation, its reasons for waiting, its own error messages and the error codes from any rejected order.
- The Journal tab shows what the terminal did: the Algo Trading state, login results, “automated trading disabled by server”, and every order request with the server's reply.
Right-click either tab and choose Open to see the full log files, which keep more history than the tab. Search the file for the EA's name and for “failed” or “error”. The MT5 error codes you will see most are 4752 (algo trading disabled for this EA), 4753 (disabled in the terminal), 4754 (disabled for the account), 10019 (not enough money), 10014 (invalid volume) and 10016 (invalid stops). If you need to ask a seller or your broker for help, copy those lines; they shorten the conversation considerably.
Trades in the tester but not live
This is the case that frustrates people most, and it has a short list of causes. The strategy tester ignores the Algo Trading button and the Allow Algo Trading tick box, trades at any hour, never has a closed market, uses a modelled spread and always has enough margin. On a live chart, every one of those can stop the EA. Check them in this order: Algo Trading and the EA's permission, the time filter against server time, the spread filter against the live spread, the symbol name, and the margin for the configured lot. Finally, confirm the live chart carries the same set file as the test. The set file guide covers loading one.
The one-minute checklist
- Algo Trading (AutoTrading) button in the toolbar is green.
- The EA shows a smiling face or blue hat. If not: F7, Common tab, tick Allow Algo Trading.
- No red lines in the Experts tab about DLLs or WebRequest.
- The chart's symbol and timeframe match what the EA was built for, suffix included.
- The market is open, the terminal is connected and you are logged in with the main password.
- The EA's time, spread and news filters allow trading right now, in server time.
- The lot size fits your margin and the broker's minimum lot.
- The account type allows EAs at all.
- The Journal and Experts tabs show no refused orders.
If every line passes and the EA still has not traded, it is waiting for a signal. Leave it running on a VPS so it does not miss the signal when it comes, and judge it after a few weeks of trades rather than a few hours.