Guide · Testing and backtesting

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 TesterMT5 Strategy Tester
Price path inside each barTicks generated from minute bars (“Every tick”)Your broker’s recorded ticks (“Every tick based on real ticks”), or generated ticks
SpreadOne fixed spread for the whole testThe real, varying spread from each recorded tick
CommissionNot reliably applied by the standard tester; check the reportApplied when the broker’s account passes it to the tester; check the report
Execution delayNone: every order fills instantlyOptional 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 testNot properly supportedYes, each symbol with its own ticks
Optimisation speedOne CPU coreEvery local core, other computers on your network, or the MQL5 Cloud Network
Out-of-sample checkManual, by changing datesBuilt-in forward period
Account typesHedging onlyHedging 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:

MultiSymbol.mq513 lines
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
General information about trading software, not financial advice. Backtests, on either platform, do not guarantee future results.

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.

Written by
Rohit B., Vertex Algorithms

Co-founder and lead developer. Building MT4/MT5 Expert Advisors, Python trading bots and Pine Script since 2018, with trading analysis by co-founders Harshal K. and Bilal M. About the founders →

Want your MT4 EA tested properly?

I convert MT4 EAs to MT5 and test them on your broker’s real ticks with realistic costs, then show you how the result compares with the MT4 report.

WhatsApp