When an Expert Advisor does not trade, diagnose it in layers: installation, permissions, strategy conditions, then the exact broker response. Changing random inputs can hide the real problem and create new risk.
First checks when an MT4 EA is not working
- Confirm the EA appears under Navigator → Expert Advisors and is attached to the intended chart.
- Confirm global AutoTrading and the EA’s Allow live trading permission are both enabled.
- Verify account, symbol suffix, timeframe, Magic Number, market hours and inputs.
- Open Terminal → Experts and Journal; record the full message and numeric code.
- Change one cause at a time, then verify the log again.
Error → meaning → cause → fix
| Error | What it means / why it happens | How to fix it |
|---|---|---|
| EA missing from Navigator | File is in the wrong terminal or folder | Open Data Folder from that MT4 instance; move .ex4 to MQL4/Experts; refresh Navigator. |
| AutoTrading disabled | Global or per-EA permission is off | Enable the toolbar button and Allow live trading in EA properties. |
| Invalid account / license | Login, account type or bound license does not match | Verify broker server and license rules; contact vendor—do not bypass licensing. |
| DLL is not allowed | EA called an external library without permission | Enable only for a trusted required DLL; MetaTrader virtual hosting cannot run DLLs. |
| Trading is not allowed · 133 | Broker, symbol or terminal disallows trading | Check account permissions, market state, symbol trade mode and AutoTrading. |
| Market is closed · 132 | Requested instrument is outside tradable hours | Wait for the broker session; check holidays and symbol schedule. |
| Not enough money · 134 | Free margin cannot support the requested position | Reduce risk/volume; check leverage, margin and existing exposure. |
| Invalid stops · 130 | SL/TP or pending price violates broker distance | Check StopLevel/FreezeLevel; normalize price and place stops farther away. |
| Invalid volume · 131 | Lot is below minimum, above maximum or off-step | Use broker min/max/lot step and normalize the requested volume. |
| Trade context busy · 146 | Another trade operation is still processing | Serialize requests, wait briefly and retry with a bounded policy—not a tight loop. |
| Off quotes · 136 / requote · 138 | No executable quote or price moved | Check connection/spread; refresh price; use sensible slippage logic. |
| Connection problem · 6 | Terminal lost broker connectivity | Confirm server, internet, login, firewall and VPS status; avoid repeated orders until restored. |
EA loads correctly but opens no trades
This is not necessarily an error. Many EAs wait for a new bar, a specific session, maximum-spread conditions or several indicators to align. Confirm the documented symbol and timeframe, then look for log messages such as spread filter, trading window, maximum orders or news filter. Do not loosen every filter merely to force an entry.
“No setup found” is strategy behavior. Error 133 or a disabled permission is an execution block. The remedy is different.
Invalid Account and Invalid License
Commercial EAs may bind a key to an account number, broker, platform or maximum number of activations. Check that the entered account is the one registered with the vendor and that the license server is reachable. Never download patched files or disable security controls; request a legitimate reset or activation from the vendor.
DLL is not allowed
Some EAs use external libraries for licensing or additional functions. Only enable DLL imports if the file comes from a trusted source and the official manual requires it. MetaTrader’s integrated virtual hosting rejects DLL use, so migrate such an EA only to a compatible conventional VPS approved by the vendor.
Stops, volume, margin and execution errors
Error 130 — Invalid stops
The stop-loss, take-profit or pending order may be too close to market, on the wrong side, or inside the broker’s freeze distance. Read the symbol specification and calculate with the instrument’s digits; do not solve it by removing protection.
Error 131 — Invalid trade volume
Normalize lots to the broker’s minimum, maximum and step. A computed 0.013 lot is invalid when the step is 0.01 unless rounded correctly, and rounding upward can exceed the intended risk.
Errors 136 and 138 — Off quotes and requotes
These usually reflect unavailable or changed prices. Check connectivity and spread, refresh the quote, and use bounded retry logic. Repeated immediate submissions can amplify the problem.
Error 146 — Trade context busy
MT4 processes a trade operation serially. Two charts or routines can collide. The EA should wait for the prior operation, re-check the market and stop retrying after a controlled limit.
VPS synchronization and duplicate-instance problems
After a MetaTrader virtual-hosting migration, configuration changes are not automatically remigrated. Synchronize again after changing charts or inputs. With a Windows VPS, confirm the terminal is open, logged in and set to start after reboot. In both cases, avoid trading the same account/EA/Magic Number from local and remote terminals simultaneously.
What to send support
Remove passwords, license keys and personally identifying information before sharing screenshots or logs.
Official error reference
Numeric descriptions are based on the official MQL4 error-code reference. Broker implementation and EA-specific messages can add further conditions.