
MT4 vs MT5 for Expert Advisors: which platform should you run?
The practical differences between MetaTrader 4 and MetaTrader 5 for running Expert Advisors: file formats, order handling, hedging versus netting, backtesting and broker availability.
Guide
Fixes for the most common Expert Advisor problems: “Algo trading disabled”, DLL imports not allowed, wrong symbol suffix, insufficient margin, invalid stops, trade context busy and a tool that simply never trades.
7 min readPublished

Almost every “my EA is broken” ticket resolves to one of a dozen causes, and the terminal tells you which in its logs — if you know where to look. This guide starts with how to read those logs and then works through the errors we see most, with the fix for each. Keep the Experts and Journal tabs open while you follow along; they are the difference between guessing and knowing.
Press Ctrl+T to open the Toolbox (MT5) or Terminal (MT4) panel. The Experts tab shows messages printed by Expert Advisors and indicators — start-up lines, license checks, order attempts and the EA's own error reports. The Journal tab shows the terminal's own messages — connection status, whether an EA loaded, and trade server responses with error codes. Right-click either tab and choose Open to find the log files if you need to send them to support. Both logs are timestamped in server time.
On MT4 a smiley face in the top-right of the chart means the EA may trade; a sad face means it may not. On MT5 a grey icon or a red cross has the same meaning. The cause is one of three switches:
The Journal shows “automated trading is disabled” or “Algo trading disabled” for each case. The installation guide covers these settings with screenshots.
A few tools use external DLLs; most do not. If the Experts tab reports either message, first confirm on the product page that the tool actually requires a DLL. If it does, tick Allow DLL imports in Tools → Options → Expert Advisors and in the EA's Common or Dependencies tab, and make sure the DLL file was copied to MQL4/Libraries or MQL5/Libraries. If the tool does not require a DLL and you see this message, you have a modified or incorrect file; delete it, re-download from your account and verify the checksum.
Brokers add suffixes and prefixes to symbol names — EURUSD.pro, EURUSDm, .EURUSD — and multi-symbol EAs that build names from a list may not find them. The Experts log shows the name the EA looked for. Fixes: attach the EA to a chart of the exact symbol you want (most tools use the chart symbol); set the tool's symbol suffix input to match your broker (.pro in the first example); or, for tools with a symbol list, edit the list to use your broker's exact names as shown in Market Watch. Also confirm the symbol is visible in Market Watch (right-click → Show All) because hidden symbols return no prices.
The order's margin requirement exceeds your free margin. Common causes: a lot size input intended for a larger account; a sizing formula reading balance in a different currency; a leverage cap on the account lower than the EA assumes; or a cent account where the lot size means something different. Check the requested volume in the Journal line, compare it with your account's leverage and the symbol's contract size (right-click the symbol in Market Watch → Specification), and reduce the risk or fixed-lot input. Never fix this by raising leverage without re-reading Understanding drawdown; the margin error is often the account telling you it is too small for the tool.
The stop loss or take profit is too close to the current price for your broker. Every symbol has a minimum stop distance (Stops level in the specification window), and some ECN brokers also require stops to be placed after entry rather than in the order. Fixes: increase the tool's stop-loss distance input above the broker's stops level; enable the tool's “place stops after open” or “ECN mode” option if it has one; and check that the tool's pip/point setting matches a five-digit or three-digit quote. Related codes: 4756 in MT5 with a “stops level” hint, and “Invalid price” when the price moved during a slow request — the deviation input usually resolves that.
MT4 allows only one order request at a time from all EAs on a terminal; if two EAs fire together, one gets “trade context busy” (error 146) and should retry. Well-written tools do this automatically. “Off quotes” (136) and “Requote” (138) mean the price moved before the broker filled you; a wider maximum-deviation input helps, and persistent requotes at news are a reason to enable the news filter described in Risk management controls. On MT5, “No prices” (10021) and “Market closed” (10018) appear outside the symbol's trading hours.
The lot size does not match the broker's step. A symbol with a minimum of 0.01 and step 0.01 rejects 0.015; a symbol with a minimum of 0.10 rejects 0.05. Sizing tools should round to the step and clamp to min/max automatically; if yours does not, set fixed lots that match the specification, and report the behaviour to support so the author can fix it.
Not an error, and the most frequent ticket. Check, in order: the EA's session filter (is it outside trading hours in server time?); the spread filter (is the current spread above the maximum?); the news filter (is there an event window active?); a daily or equity limit already hit; a license that has not activated (the Experts tab usually says); a maximum-trades input already reached by positions from another chart; and finally the strategy's own conditions — many tools trade a few times a week and idle is normal. The Experts tab normally logs the reason a signal was skipped when a filter blocks it.
MetaTrader updates itself, and a new build occasionally changes behaviour that affects compiled tools. Check the product page's update history for a compatibility note and the tested build number; if a fix has been released it is included in your update entitlement. Our post on MetaTrader build changes explains why we record tested builds.
If the terminal lost connection while an order was in flight, the EA may not have received confirmation and may resend. Most tools sold here reconcile by magic number on start-up; check that the magic number input is unique per chart, because two charts sharing one magic number will manage each other's trades. This is one of the reasons a stable VPS connection matters.
With that information most problems are solved in one reply. Without it, the first reply will ask for it. Our FAQ covers the shorter questions.

The practical differences between MetaTrader 4 and MetaTrader 5 for running Expert Advisors: file formats, order handling, hedging versus netting, backtesting and broker availability.

Where the files go, which terminal settings to enable and how to confirm an Expert Advisor is actually running, with the differences between MetaTrader 4 and 5 called out.

How to pick a virtual server for automated trading: why location beats raw specifications, how much RAM and CPU a terminal really needs, and the operational details that cause missed trades.
Platform
Strategies
Genuine EA programme
See exactly what we verify before a product earns the badge.