EA Not Trading? Fix It in Minutes (2026)
Why is your EA not making any trades in MT5? The common reasons an MT5 EA is not opening trades are: 1) the Algo Trading button is off (it must be green), 2) "Allow Algo Trading" is unchecked in the EA's properties, 3) the symbol or timeframe is wrong (or the symbol is not in Market Watch), 4) an unsupported order filling mode for that symbol, and 5) not enough free margin. In ~90% of cases it's one of these five. Full fixes for both MT5 and MT4 are below.
Your EA is not trading, and you're staring at the chart trying to figure out why. It's one of the most common EA problems out there, and the fix is almost always simple once you know where to look. This guide covers every common cause on both MT4 and MT5, starting with the most likely culprits, so you can diagnose the issue and get back to trading.
In This Guide
- Why My MT5 EA Is Not Trading
- MT4 vs MT5 Differences
- Common Problems at a Glance
- Diagnosing the Issue
- Fix 1: Enable AutoTrading
- Fix 2: Check EA Permissions
- Fix 3: Verify Symbol and Timeframe
- Fix 4: Resolve Margin Issues
- Fix 5: License and Error Messages
- Fix 6: Connectivity and VPS Issues
- Fix 7: EA Is Fine, No Signal Yet
- Broker-Side Issues
- Prevention Checklist
- When to Contact Support
- FAQ
Why Is My EA Not Making Any Trades in MT5?
If your EA is not making any trades in MT5 specifically, here are the common reasons an MT5 EA is not opening trades. MT5 differs from MT4 in a few ways that trip people up:
- Algo Trading is off. MT5 calls it Algo Trading (not AutoTrading). The toolbar button must be green, and it resets after every restart.
- Symbol not in Market Watch. MT5 will not feed ticks to an EA on a symbol that is not selected. Right-click Market Watch → Show All, and confirm the exact symbol (XAUUSD vs XAUUSDm vs GOLD).
- Unsupported order filling mode. A very MT5-specific cause: if the EA requests a filling type the symbol does not allow (FOK / IOC / Return), the order fails. A well-built EA sets the filling mode from the symbol automatically.
- Netting vs hedging. MT5 accounts can be netting or hedging; an EA that expects one but runs on the other can behave unexpectedly.
- Permissions or funds. "Allow Algo Trading" unchecked in the EA properties, not enough free margin, or the market simply being closed.
Golden Viper EA handles the MT5-specific items automatically: it sets the correct filling mode from the symbol and checks free margin before every order. The step-by-step fixes below apply to both MT5 and MT4.
MT4 vs MT5: Key Differences That Affect EA Troubleshooting
Most troubleshooting guides treat MT4 and MT5 as interchangeable, but the platforms differ under the hood in ways that matter when an EA refuses to trade. If you've moved a working EA from one platform to the other, or you're comparing notes from a forum post written for the wrong terminal, this is usually where the confusion starts. The table below lines up the terminology and mechanics side by side, based on MetaQuotes' own documentation for each platform.
| Area | MT4 | MT5 |
|---|---|---|
| Trading toggle name | AutoTrading | Algo Trading |
| Account mode | Hedging only | Netting or hedging (broker-set) |
| Order filling | Handled implicitly | Must match symbol's supported filling type (FOK/IOC/Return) |
| Symbol visibility | Usually loads if enabled in Market Watch | Requires the symbol explicitly shown via Market Watch → Show All |
| Programming language | MQL4 | MQL5 (partially backward compatible) |
| Strategy Tester speed | Slower, single-threaded | Faster, multi-threaded with real ticks |
The netting-vs-hedging difference is the one that catches the most experienced traders off guard. On a hedging account you can hold a buy and a sell on the same symbol at once; on a netting account, a new order in the opposite direction reduces or reverses the existing position instead of opening a second one. An EA that assumes hedging behavior can appear to "not trade" on a netting account when it is actually adjusting an existing position instead of opening a new ticket. Check which mode your account uses under the account's properties before assuming the EA itself is broken.
Common Problems at a Glance
Here is a quick reference of the most common reasons an EA stops trading, ranked by frequency:
| Problem | Frequency | Difficulty | Quick Fix |
|---|---|---|---|
| AutoTrading disabled | Very common | Easy | Click green button |
| "Allow live trading" unchecked | Common | Easy | Check box in EA properties |
| Wrong symbol name | Common | Easy | Match broker symbol exactly |
| Insufficient margin | Moderate | Easy | Reduce lot size or deposit |
| No valid trading signals | Moderate | Patience | Wait for conditions |
| License/activation error | Occasional | Moderate | Verify license key |
Diagnosing the Issue
Before jumping to fixes, spend 60 seconds on this diagnostic checklist. Check each item in order:
- Is the AutoTrading button green (not red/gray)?
- Does the chart show a smiley face in the top-right corner (not frowning or X)?
- Is "Allow live trading" checked in EA properties?
- Is the EA attached to the correct symbol (e.g., XAUUSD, not EURUSD)?
- Is the market currently open (not weekend or holiday)?
- Is there sufficient free margin for the configured lot size?
- Are there any red error messages in the Experts tab?
- Is the lot size valid for your broker (within min/max limits)?
- Is the EA license active (if license-protected)?
- Has the EA been running long enough to generate signals?
- Does the terminal show "Connected" in the bottom-right status bar (not "No connection")?
- If running on a VPS, has the VPS stayed online without a reboot or freeze?
That last item is easy to skip but worth the extra ten seconds. MetaTrader shows a small signal-strength icon and a connection status text in the bottom-right corner of the terminal window. If it reads "No connection" or shows a red icon, no EA on that chart can trade regardless of how correctly it is configured, because the terminal simply has no live price feed to act on.
Fix 1: Enable AutoTrading
This is the number one reason EAs stop trading. The AutoTrading button in MetaTrader's toolbar controls whether any EA can execute trades.
- Look at the toolbar at the top of MT4/MT5
- Find the AutoTrading button (MT4) or Algo Trading button (MT5)
- Click it so it turns green
- Also verify: Tools → Options → Expert Advisors → "Allow automated trading" is checked
Common trap: MT4 disables AutoTrading every time you change accounts, restart after a crash, or switch between demo and live. Always verify the green button after any platform restart.
Windows updates are another frequent, easy-to-miss trigger. If your PC applies an update and reboots overnight, MetaTrader typically relaunches with AutoTrading off by default, even if it was on before the restart. If you notice your EA "stopped trading" first thing in the morning, check Windows Update history before assuming there's a deeper problem. Traders who run MT4/MT5 on a dedicated VPS avoid most of this because the VPS environment stays online and configured the same way around the clock (more on that in Fix 6 below).
Fix 2: Check EA Permissions
Even with AutoTrading enabled globally, each individual EA needs its own permission:
- Right-click on the chart where the EA is attached
- Select Expert Advisors → Properties
- In the Common tab, ensure these are checked:
- "Allow live trading" (MT4) or "Allow Algo Trading" (MT5)
- "Allow DLL imports" (if required by the EA)
- Click OK to apply
After enabling, the smiley face in the chart corner should appear, replacing any frowning face or X icon.
Fix 3: Verify Symbol and Timeframe
EAs are designed for specific instruments and timeframes. A gold EA on a EURUSD chart will never trade.
- Symbol mismatch: Your broker may use "XAUUSD", "XAUUSDm", "GOLD", or "XAUUSD.i". Check your EA documentation for the exact symbol it expects. Our guide to XAUUSD explains different naming conventions.
- Timeframe mismatch: If the EA is designed for H1, running it on M5 may produce zero signals. Check the recommended timeframe in the EA documentation.
- Trading session restrictions: Some brokers set custom session hours per symbol (right-click the symbol in Market Watch → Specification → Sessions). If gold's trading session is set incorrectly on the broker's server, orders can be rejected even with everything else configured correctly.
It helps to open a fresh chart, attach the EA there, and compare the symbol name character by character against your broker's contract specification page rather than trusting memory. A single trailing letter, like "XAUUSD" versus "XAUUSDm," is enough to keep an EA sitting idle indefinitely, and spread or instrument specs can vary meaningfully between brokers even on the same symbol name.
Fix 4: Resolve Margin Issues
If your free margin is too low, the EA cannot open trades. MT4 shows "not enough money" in the Experts tab. Margin is simply the portion of your account balance your broker sets aside as collateral for an open position; the amount required scales with lot size and shrinks as leverage increases.
- Check free margin in the Trade tab of the Terminal panel (Ctrl+T)
- Reduce lot size in EA settings (Inputs tab)
- Close other open positions to free up margin
- Deposit additional funds if needed
For proper lot sizing, see our lot size guide for $1,000 accounts. As a general reference, here's roughly how much margin one standard lot of gold ties up at different leverage ratios, using a round $2,000/oz price for the example (your broker's actual contract size and margin requirement may differ, so always confirm in your platform's Specification window):
| Leverage | Approx. margin for 1.00 lot XAUUSD | Approx. margin for 0.10 lot XAUUSD |
|---|---|---|
| 1:50 | $4,000 | $400 |
| 1:100 | $2,000 | $200 |
| 1:200 | $1,000 | $100 |
| 1:500 | $400 | $40 |
If your free margin sits close to what a single trade requires, even a small unfavorable price move can trigger a margin call or stop-out before the EA's own logic would have closed the position. Sizing lots so a full stop-loss on the maximum expected concurrent trades still leaves a comfortable buffer is one of the simplest ways to prevent both "not enough money" errors and forced liquidations.
Fix 5: License and Error Messages
Some EAs require license activation. If the license is invalid, expired, or tied to a different account, the EA loads but refuses to trade.
- Check the Experts tab for license-related error messages
- Verify license key in the EA's Inputs tab (no extra spaces)
- Confirm account number matches the registered license
- Check if subscription or trial has expired
Common Error Messages
- "Invalid stops" -- SL/TP too close to price. Check your broker's minimum stop distance
- "Trade context busy" -- Another operation in progress. Wait a few seconds or restart MT4
- "Market closed" -- Trading outside market hours. Wait for market to open
- "Off quotes" -- Price moved during execution. The EA will retry automatically
- "Not enough money" -- Free margin is below what the requested lot size needs. See the margin table above
- "Invalid volume" -- The lot size falls outside the symbol's minimum, maximum, or step size. Round to the broker's allowed lot step
- "No connection" -- The terminal has lost its link to the broker's server. Check your internet connection or VPS status
The full, current list of MetaTrader return and error codes is maintained by MetaQuotes in the MQL5 error codes reference, which is worth bookmarking if you troubleshoot EAs regularly. It's also the authoritative source on order filling type errors, which is where MT5's filling policy documentation comes in useful if you're building or customizing your own EA rather than running a pre-built one.
Fix 6: Connectivity, VPS, and Terminal Issues
Everything on the EA's own settings can be perfect and it still won't trade if the terminal itself isn't reliably connected to the broker's server. This category of problem is easy to overlook because nothing in the EA's properties is technically "wrong," but it's one of the most common reasons a strategy that works in testing appears to stop working in the real world.
- Home internet dropouts. A brief connection loss can disconnect MetaTrader from the trade server. The terminal usually reconnects automatically, but any signal that occurred during the gap is missed.
- PC sleep or hibernation. Laptops especially are prone to sleeping when the lid closes or after a period of inactivity, which pauses MetaTrader entirely. Disable sleep mode on any machine meant to run an EA continuously.
- Scheduled restarts and updates. Windows Update, antivirus scans, and even browser updates can trigger an unplanned reboot that closes MetaTrader mid-session.
- ISP or router instability. Home connections are not built for 24/5 uptime the way a data center connection is, and gold can move sharply around news events precisely when a home connection is more likely to be strained.
This is why most serious algorithmic traders eventually move to a VPS (virtual private server): a small remote computer that stays powered on and connected near the broker's trade server, independent of your home internet or laptop. Our guide to choosing a VPS for forex EA trading covers what specs actually matter, and monitoring VPS uptime and connection stability walks through how to confirm your setup is actually staying connected rather than assuming it is. A VPS doesn't fix a misconfigured EA, but it removes an entire class of "it just didn't trade" problems caused by nothing more than a dropped connection.
Fix 7: The EA Is Fine, It Just Hasn't Found a Valid Setup Yet
Once AutoTrading, permissions, symbol, timeframe, margin, and connectivity are all confirmed correct, there's a scenario that isn't a "fix" at all: the EA is working exactly as intended and simply hasn't encountered conditions it's designed to trade. This is the outcome traders find hardest to accept, because it feels like something should be happening.
Rule-based automated systems, by design, only act when their specific criteria line up. That's the whole point of automated trading versus discretionary trading: a system that fires on anything close to a setup, just to feel active, is generally a worse system than one that waits. Depending on how an EA is built, that can mean waiting for a particular trend structure, a volatility threshold, or a specific session window to align. None of that is visible from the outside; all you see is a chart that isn't opening trades.
A few things help you tell "waiting" apart from "broken":
- A waiting EA shows no errors in the Experts/Journal tab and keeps the smiley face (MT4) or a normal Algo Trading status (MT5).
- A broken EA usually shows a frowning face, a red X, or a specific error message the moment something is wrong.
- Comparing recent price action against the conditions described in the EA's documentation (if published) can confirm whether the market simply hasn't met them yet.
It also explains a pattern many traders notice: an EA that performed well in a backtest or demo period going quiet for a stretch on a live account. Backtests compress historical data into idealized fills, while live markets include real spread, real latency, and real gaps between price updates, so the exact moment a condition is met can differ. If you want to understand that gap in more depth, see what to do when live results differ from backtests, and if you haven't already validated the EA on a demo account first, our guide on running an EA on demo before going live explains why that step matters before drawing conclusions from a live account.
Broker-Side Issues That Can Look Like EA Problems
Not every "EA not trading" case originates on your side of the screen. Brokers occasionally introduce conditions that stop orders from executing even when your terminal, EA, and account are all configured correctly:
- Scheduled server maintenance. Brokers periodically take trade servers offline briefly, usually over the weekend, for updates. Orders placed during this window fail regardless of the EA.
- Spread widening around news. Around major economic releases, brokers can widen spreads sharply for a short period. If an EA has a maximum-spread condition, wide spreads can legitimately prevent entries during that window.
- Symbol trading session limits. As noted above, brokers set their own session hours per symbol on their servers, and these occasionally shift without a public announcement.
- Execution mode changes. A broker can switch a symbol's execution mode (e.g., between instant and market execution) at the server level, which can affect how orders are filled.
If you suspect a broker-side cause, checking your broker's status page or contacting their support directly is faster than assuming the EA is at fault. It's also worth staying alert to the reverse problem: vendors or "signal" services that promise an EA will always find trades, or that frame every quiet period as a bug rather than normal rule-based behavior, are a red flag worth treating with skepticism. Regulators such as the CFTC and the FTC publish ongoing guidance on spotting unrealistic automated-trading claims, and it's worth a read if you're evaluating any vendor, including us.
Prevention Checklist
Follow this checklist every time you set up or restart your EA to prevent issues:
- After platform restart: verify AutoTrading button is green
- After account switch: re-check all EA permissions
- After broker update: verify symbol names have not changed
- After Windows/MetaTrader updates: re-confirm AutoTrading and connection status
- Weekly: check free margin is sufficient for lot size settings
- Monthly: verify license/subscription is still active
- Monthly: confirm your VPS (if used) has stayed online and hasn't silently rebooted
- Always: keep the Experts tab visible to catch errors early
- Always: add the MetaTrader folder to your antivirus/firewall exceptions
When to Contact Support
Contact your EA provider if:
- You completed every step in this guide and the EA still does not trade
- The Experts tab shows an unresolvable error message
- The EA was working and stopped without any settings changes
- The EA has not traded after 48+ hours during active market hours
For Golden Viper EA users, reach us via Telegram @viprasol_help, email. We typically respond within hours.
Frequently Asked Questions About EA Not Trading
Why is my EA not making any trades in MT5?
Usually one of five MT5-specific issues: Algo Trading is off (button not green), the symbol is not in Market Watch or is spelled differently, the EA's "Allow Algo Trading" box is unchecked, the order filling mode is unsupported for that symbol, or there is not enough free margin. Enable Algo Trading, confirm the exact symbol on the right timeframe, and check the Experts/Journal tabs for the specific message.
What are common reasons an MT5 EA is not opening trades?
The common reasons an MT5 EA is not opening trades are: Algo Trading disabled, a wrong or unsubscribed symbol, the wrong timeframe, an unsupported filling mode, insufficient margin, a license/init error, or simply no valid signal yet. Work through the diagnostic checklist above. In most cases it's Algo Trading or the symbol.
Why is my EA not trading even though it shows a smiley face?
A smiley face means the EA is loaded and permitted to trade, but it may not have found valid conditions yet. Check if the market is open, verify the correct symbol and timeframe, ensure spread is within the EA's maximum, and review the Experts tab.
How do I enable AutoTrading in MT4?
Click the AutoTrading button in MT4's toolbar so it turns green. Also go to Tools, Options, Expert Advisors and check "Allow automated trading." Both must be enabled.
Why does my EA show a frowning face?
A frowning face means the EA lacks permission to trade. Common causes: AutoTrading disabled, "Allow live trading" unchecked, or a license/initialization error. Check the Experts tab for specifics.
My EA works on demo but not on live -- why?
Possible causes: license restricted to demo, live account has different symbol name, account type doesn't support EAs, or higher live spreads exceed the EA's maximum spread setting.
When should I contact support about my EA not trading?
After completing the full diagnostic checklist with no resolution. If all settings are correct and the EA has not traded after 24-48 hours during market hours, contact support with screenshots.
Can antivirus or a firewall stop an EA from trading?
Yes. Security software occasionally blocks MetaTrader's outbound connections or quarantines EA files, which can silently stop trade execution. Add the MetaTrader folder and terminal.exe to your antivirus and firewall exceptions, and check the Experts tab for connection-related errors after any security software update.
Why did my EA stop trading after a Windows or MetaTrader update?
Platform and OS updates can reset AutoTrading to off, change file permissions, or restart the terminal with a different working directory. After any update, reopen MT4/MT5, confirm the AutoTrading button is green, and re-check that the EA is still attached with "Allow live trading" or "Allow Algo Trading" checked.
Is it normal for an EA not to trade every single day?
Yes. A rule-based EA only opens a trade when its specific conditions are met, so quiet days or even quiet weeks are normal and expected, not a malfunction. This is different from a broken EA, which shows errors in the Experts tab or a frowning face instead of simply waiting.
Why does my EA trade fine in a backtest but not live?
Backtests use historical data and idealized fills, while live trading depends on your broker's real spread, execution speed, and server connection at that moment. A live account with a wider spread, a different symbol name, or an inactive AutoTrading button can produce zero trades even when the same settings backtest normally.
Does a VPS help fix an EA that is not trading?
A VPS does not fix configuration problems like a disabled AutoTrading button, but it removes a common cause of missed trades: your home internet dropping, your PC sleeping, or MT4/MT5 disconnecting overnight. Running the EA on a VPS keeps the terminal connected 24/5 so it can act the moment its conditions are met.
Can broker maintenance cause an EA to appear stuck?
Yes. Brokers periodically take trade servers offline for scheduled maintenance, usually over the weekend, and orders placed during that window will fail regardless of how the EA is configured. If your EA seems unresponsive during a specific short window, check your broker's status page before troubleshooting the EA itself.
Let Golden Viper EA trade gold for you
Automated XAUUSD trading for MT4 & MT5, verified live on Myfxbook. One-time $199, lifetime access.
Get Lifetime Access — $199