MT4 vs MT5 Strategy Tester: which gives a more honest backtest?
Short answer
The MT5 Strategy Tester gives the more honest backtest. It can replay your broker’s real ticks with their variable spreads, simulate execution delay, test several symbols in one run and optimise on every CPU core. The MT4 tester builds ticks from minute bars, uses a fixed spread with no delay, and optimises on a single core.
Both testers can run the same strategy and give very different answers. Here is what each one actually simulates, side by side, where the MT4 tester flatters an EA, and when it is worth converting an EA to MT5 just to test it properly.
Based on our team’s research and live testing since 2018.
Many traders still develop on MetaTrader 4 because their EA was written for it years ago. The EA may be fine. The problem is the tester. MT4’s Strategy Tester simulates a simpler market than the one your EA trades in, and the simplifications almost always make results look better. MT5’s tester was rebuilt with real tick data, variable spreads and multi-core optimisation.
This guide compares what each tester actually simulates. It is based on the MetaTrader documentation and our own work testing client EAs on both platforms.
How do the MT4 and MT5 Strategy Testers compare?
| MT4 Strategy Tester | MT5 Strategy Tester | |
|---|---|---|
| Price path inside each bar | Ticks generated from minute bars (“Every tick”) | Your broker’s recorded ticks (“Every tick based on real ticks”), or generated ticks |
| Spread | One fixed spread for the whole test | The real, varying spread from each recorded tick |
| Commission | Not reliably applied by the standard tester; check the report | Applied when the broker’s account passes it to the tester; check the report |
| Execution delay | None: every order fills instantly | Optional fixed or random delay |
| Data quality figure | “Modelling quality”, at most 90% with the terminal’s own data | “History quality”, the share of the test covered by real ticks |
| Several symbols in one test | Not properly supported | Yes, each symbol with its own ticks |
| Optimisation speed | One CPU core | Every local core, other computers on your network, or the MQL5 Cloud Network |
| Out-of-sample check | Manual, by changing dates | Built-in forward period |
| Account types | Hedging only | Hedging or netting, as your account is set up |
Why does the MT4 tester flatter EAs?
1. Generated ticks smooth the price path
MT4 makes up the ticks inside each minute bar from that bar’s open, high, low and close. Real prices jump, spike and reverse inside a minute. An EA with a tight stop and target, or one that trails its stop tick by tick, often gets better fills on generated ticks than it would on real ones.
2. A fixed spread hides the expensive moments
Live spreads widen at the daily rollover, at session opens and around news, which is often exactly when breakout and scalping EAs trade. A fixed spread charges the same small cost at those moments as at the quietest hour. On gold and indices the difference can be large.
3. No delay, no slippage
Every MT4 test order fills instantly at the requested price. Live orders travel to the broker and back, and the price moves in the meantime. MT5 can simulate a random delay, which is a fair stand-in for a retail connection.
4. Missing costs
If commission is not in the report, a strategy with many small trades can show a profit that disappears once costs are added. Always check the deals list, not just the summary.
What can MT5 test that MT4 cannot?
The biggest practical difference for many EAs is multi-symbol testing. Basket EAs, correlation filters, currency-strength logic and portfolio risk limits all read more than one symbol. In MT5, one test can run them all, each with its own recorded ticks:
1// MT5: one EA, several symbols, one test. The tester loads each symbol's own ticks.2string Symbols[] = { "EURUSD", "GBPUSD", "XAUUSD" };3 4void OnTick()5{6 for(int i = 0; i < ArraySize(Symbols); i++)7 {8 MqlTick tick;9 if(!SymbolInfoTick(Symbols[i], tick)) continue; // real bid/ask for that symbol10 double spread = tick.ask - tick.bid; // varies, as it did live11 // ... signal and risk checks per symbol ...12 }13}The second difference is speed. MT5 spreads an optimisation across all your CPU cores and, if you want, across other computers or the paid MQL5 Cloud Network. That makes proper walk-forward testing practical, where in MT4 it can take days.
Does MT4 still have a place?
Yes, for some jobs. If your broker or prop firm only offers MT4, the EA has to run there, and a quick MT4 test is still useful to check that the logic works. Third-party tick data tools improve MT4’s price path a lot. But for the final decision, whether a strategy deserves real money, we test on MT5 whenever the strategy can run there.
Should you convert an MT4 EA to MT5 just to test it?
It is worth it when any of these is true:
- The EA trades tight stops, scalps, breakouts or around news.
- It trades gold, indices or another symbol with very variable spreads.
- It reads more than one symbol.
- You want walk-forward tests and the MT4 optimiser is too slow.
- You are moving to a prop firm or broker that uses MT5 anyway.
A conversion is a rewrite, not a translation: MT5 uses a different order model, and the converted EA must be checked against the original trade by trade. That is how we do MT4 to MT5 conversion. Once it runs on MT5, follow how to backtest with real tick data to set up the test, and read why an EA works in the backtest but not live if the new results disagree with the old ones.
Checklist
- Final tests on MT5 with “Every tick based on real ticks”, where the strategy can run there
- History quality checked across the whole period
- Your broker’s account, with commission visible on each deal
- Random delay switched on
- Multi-symbol EAs tested in one run, not symbol by symbol
- MT4 results treated as a first look, not a verdict
Quick answers
Is 90% modelling quality in MT4 good enough?
It is the highest the MT4 tester reports with its own data, and it means every tick was generated from minute bars. Generated ticks are a model, not the real price path, so tight stops and scalps can still look better than they would live.
Can MT4 reach 99% modelling quality?
Only with third-party tick data imported into the terminal. That improves the price path, but the MT4 tester still applies a fixed spread and no execution delay, so costs remain simplified.
Can I run an MQL4 EA in the MT5 tester?
No. MQL4 and MQL5 are different languages with different order models. The EA has to be converted to MQL5 first, and the conversion should be checked trade by trade against the original.
Does the MT5 tester include commission?
It can, if your broker’s account is set up to pass commission to the tester. Check that each deal in the report shows commission. If it does not, add it yourself before trusting the result.
Is MT5 always closer to live trading?
With real ticks, your broker’s account and random delay switched on, it is usually much closer. It still cannot model requotes, partial fills or your VPS failing, so a demo run is still needed.