MT5 Strategy Tester: How to Use It, and How to Fix It When It's Not Working
The MT5 Strategy Tester is MetaTrader 5's built-in tool for running an Expert Advisor (EA) over historical prices to see how it would have traded. Open it with View > Strategy Tester or Ctrl+R, pick the EA, symbol, timeframe, dates and modelling mode on the Settings tab, and press Start. When it is "not working", the cause is almost always one of six things: missing price history, the EA in the wrong folder, a blocked DLL, a broker rule the EA breaks, the wrong modelling mode, or the testing agents being blocked. All six are covered below.
If you have not backtested before, our primer on how to backtest a strategy covers the concepts; this article covers the tool.
Opening the tester
In MT5, open the Strategy Tester from the View menu or with Ctrl+R. A panel appears with the main configuration options.
The settings that matter
- Expert Advisor. Pick your EA from the dropdown. It must already be installed - see how to install an EA in MT5.
- Symbol and timeframe. Match what the EA was built for. Testing a EURUSD H1 system on GBPJPY M5 tells you nothing useful.
- Date range. Longer is generally better - you want the EA to face different market conditions, not just one friendly stretch.
- Forward. MT5 can hold back part of your date range as a forward (out-of-sample) period: 1/2, 1/3, 1/4 or a custom date. If you optimise, always use it: results on the forward slice are far more honest than results on the part you optimised.
- Modelling mode. "Every tick based on real ticks" is the most accurate where your broker provides real tick data; "Every tick" simulates ticks from bar data; "Open prices only" is fast but only valid for EAs that decide strictly on bar open. When in doubt, use the most detailed mode you can.
- Deposit, leverage and inputs. Set a realistic starting balance and check the EA's input parameters before running.
Reading the results
When the run finishes, work through the report rather than jumping to the profit figure:
- Total trades. A handful of trades proves nothing. Small samples flatter luck.
- Maximum drawdown. The deepest peak-to-trough fall - arguably more important than the return. See what drawdown really means.
- Profit factor and win rate. Useful together, misleading alone. A high win rate with a few huge losses is a classic failure shape.
- The equity curve. Smoothness and consistency across the whole period matter more than the end point - equity curve analysis covers how to read one properly.
The traps
- Zero or unrealistic spread. Test with a spread at least as wide as your broker's typical live spread, and remember live adds slippage on top.
- Poor history data. Gaps or low-quality data quietly distort results. Let MT5 download full history for the symbol first.
- Testing only the good years. Cherry-picked date ranges are self-deception with extra steps.
- Treating one backtest as proof. A single in-sample pass is the weakest form of evidence. Out-of-sample testing and walk-forward analysis are what separate a robust system from a fitted one.
MT5 Strategy Tester not working: the fixes
1. Stuck on "waiting for update" or at 0%
The tester is downloading price history from your broker before it starts. It gets stuck when it cannot.
- Check the terminal is connected: the connection indicator at the bottom right should show traffic, not "No connection" or "Invalid account".
- Add the symbol to Market Watch (right-click Market Watch > Symbols, find it, Show Symbol).
- Shorten the date range. If you ask for years your broker does not hold, the tester waits for data that never arrives.
- Give the first run time. With "Every tick based on real ticks", the first download for a symbol can take many minutes; later runs use the cached copy.
- Read the Journal tab. It says exactly what the tester is waiting for.
2. Your EA is not in the list
- The compiled
.ex5file must be inMQL5\Experts. Open the right folder with File > Open Data Folder, then MQL5, then Experts. Copying it into the program's install folder instead is the most common mistake; see how to install an EA in MT5. - Right-click Expert Advisors in the Navigator and choose Refresh, or restart the terminal.
- An
.ex4file is an MT4 EA and will never appear in MT5. See converting an MT4 EA to MT5. - If you only have the
.mq5source, open it in MetaEditor and press F7 to compile it. Fix any errors it reports first.
3. "DLL loading is not allowed"
The EA calls an external DLL file and the terminal is blocking it. Go to Tools > Options > Expert Advisors and tick Allow DLL imports, then run the test again. Only do this for EAs from sources you trust: a DLL can run any code on your computer.
4. The test runs but takes no trades
Open the Journal tab and look for the error the EA logged. The usual ones:
- Invalid volume: the lot size is below the broker's minimum or not a multiple of its step. Adjust the lot or risk input.
- Not enough money: the deposit is too small for the lot size and leverage.
- Invalid stops: stop-loss or take-profit is closer than the broker's minimum stop level.
-
Symbol name: the EA was written for
EURUSDbut your broker calls itEURUSDm, so its checks never pass. - No errors at all: the EA's conditions simply never triggered. Try a longer date range, or check the inputs (session filters, spread filters and news filters often switch an EA off).
5. It is extremely slow
- Untick Visual mode unless you need to watch the trades.
- Do a first pass on 1 minute OHLC, then confirm on real ticks.
- For optimisation, use the fast genetic algorithm and fewer input combinations.
- Check the Agents tab: local agents should be enabled. Tick data is cached on disk and can run to many gigabytes, so free space matters.
6. Agents fail, or the test stops with an agent error
Testing runs in separate agent processes (metatester64.exe). Security software sometimes blocks them. Add the MetaTrader folder as an exception, restart the terminal, and check the Agents tab shows local agents as ready.
Why your results don't match someone else's
Two people can test the same EA and get different results, and both can be right. Brokers have different price histories, spreads, commissions and contract sizes, and the modelling mode, delays and date range change the outcome too. That is why a single screenshot of somebody else's backtest is weak evidence. When you compare, match every setting: symbol, timeframe, dates, modelling, deposit and leverage.
Nebula, the EA software we make, includes a parity check for exactly this reason: every system it exports comes with the Strategy Tester settings to reproduce its backtest on your own broker's data, so you can confirm the numbers yourself rather than take them on trust. See how Nebula works.
Where the tester stops helping
The Strategy Tester validates one EA, one configuration, one run at a time - and it will happily let you optimise a strategy into a curve-fit fantasy. That is fine for checking a system you already trust, but building and validating strategies at scale is a different job. It is the problem Nebula was built for: it generates and stress-tests strategies across unseen data automatically, then exports the survivors as standard MT5 EAs - which you can, of course, verify yourself in the Strategy Tester.
Frequently asked questions
Why is my MT5 Strategy Tester not working?
Usually one of six things: the tester cannot download price history (check the connection, Market Watch and date range), the EA is not in the MQL5\Experts folder, a DLL is blocked (Tools > Options > Expert Advisors > Allow DLL imports), the EA breaks a broker rule such as minimum lot size, the modelling mode is wrong for the EA, or security software is blocking the testing agents. The Journal tab shows which.
What does 'waiting for update' mean in the MT5 Strategy Tester?
The tester is downloading price history from your broker before the test starts. If it never finishes, check that the terminal is connected, that the symbol is in Market Watch and that the date range is within the history your broker holds.
Which modelling mode is most accurate in MT5?
Every tick based on real ticks, because it replays the broker's recorded ticks and spreads. It needs the broker's tick history and is the slowest mode. Open prices only is fast but only valid for EAs that make every decision at the open of a new bar.
How do I fix 'DLL loading is not allowed' in MT5?
Go to Tools > Options > Expert Advisors and tick Allow DLL imports, then run the test again. Only enable it for EAs from sources you trust, because a DLL can run any code on your computer.
Why does my EA take no trades in the Strategy Tester?
Check the Journal tab. Common causes are a lot size below the broker's minimum, not enough deposit for the margin, stops closer than the broker allows, or a symbol name the EA does not recognise. If there are no errors, the EA's entry conditions never triggered in that date range.
Can I run an MT4 EA in the MT5 Strategy Tester?
No. MT4 EAs (.ex4 files) only run in MT4. To test the strategy in MT5 you need an MT5 version (.ex5), either from the vendor or rebuilt from the original source.
Screens show backtests and simulations. Past performance is not a reliable indicator of future results. Trading involves risk to your capital.
Want the whole system, not just the tool?
76 complete trading systems, each tested on data it never saw, from £9.99. Buy 3 and save 15%.
Start free. Deploy one system.
See pricing › Or browse the ready made Systems Library ›
Download Nebula free · What Nebula does · Funded and prop firm traders · Free trading tools · Reviews · Discord · YouTube · About · Contact
- Free tier, no card: build, test and make one real deploy before you pay anything
- Runs on your own PC or Mac: your MT4/MT5 account stays with your broker
- 14-day cooling-off on any purchase before activation, in line with UK consumer law
- A real person answers: Ross, the founder, via contact or Discord
- Real reviews · Nebula on Trustpilot
Reviews on Trustpilot: Nebula & tools (Orion RFX) · private mentoring (Pip Surfing Society)
Watch AI trade, right on your phone.
In NESAB, five AI models run nine simulated portfolios on live prices. Every decision is logged with its reason. Follow one or all of them.
ROSS20Use the code when you subscribe after the free 3 day trial.
Why we partnered ›NESAB portfolios are simulated. Past or simulated performance does not guarantee future results.