Skip to content
EA
Research

A 90% modelling quality backtest is not a 90% accurate backtest

7 min read

Modelling quality measures how the strategy tester guessed the price path inside each bar. It is a statement about the data, not about the strategy — and on MT4 the number stops at 90% because the tester is inventing ticks from M1 bars.

A modelling quality of 90% is reported by the Strategy Tester on every MT4 backtest, and it has no bearing on whether the strategy is profitable, whether the parameters are sane, or whether the trades could have been filled. It is a statement about how the tester reconstructed the price path inside each bar. The figure stops at 90% because MT4 invents ticks from M1 data, and for any strategy that acts inside a bar, those invented ticks decide the result.

What the percentage is actually counting

Modelling quality is printed at the top of every backtest report the MetaTrader strategy tester produces. It tells you how completely the tester was able to reconstruct price movement inside each bar of the test period. Nothing else.

It does not speak to the merit of the strategy. It does not speak to the choice of parameters. It does not speak to whether a broker would have filled the orders at the stated prices. Those are separate questions, and modelling quality answers none of them.

The clearest way to see this is with a simple comparison. Run two different expert advisors on the same symbol, the same chart timeframe, the same period, and the same broker data. Two completely different systems, with different logic and different outcomes. Both reports will show the same modelling quality. The number tracks the data, not the strategy. If the tester had to guess the path inside a bar, it guesses the same way regardless of what the EA is doing.

Treat the percentage as a property of the test environment. It is closer to a file-integrity check than to a performance score.

Why the ceiling is 90% and what the missing 10% hides

MT4's highest-fidelity mode, labelled "Every tick", does not use real ticks. It cannot. The platform works from M1 bars and builds a synthetic tick sequence by interpolating within each of those bars.

When a complete M1 history is available, the tester can reconstruct more of the path, and the reported figure approaches 90%. That is the practical maximum on MT4. A report showing 90% means the M1 data was largely intact. A report showing 89%, or 76%, or anything below the ceiling, flags a sparser history. Gaps in the M1 record force the tester to interpolate across longer stretches, and the quality figure drops.

The shift matters because of what interpolation actually is. Inside any given M1 bar, the tester knows the open, the high, the low, and the close. It does not know the order in which the high and the low occurred. The synthetic ticks it generates are a guess at that sequence. The guess is plausible. It is not real.

For strategies that only act on bar close — an EA that checks a signal at the close of an H1 candle and places a trade with a fixed stop and target — the guess rarely changes the outcome. The close is a real data point. The prices that matter to the decision are not inside the ambiguous zone.

For strategies that act inside the bar, the guess is the outcome. A scalper entering and exiting within a single M1 candle lives entirely in the interpolated path. A grid system with tightly spaced orders needs to know whether price touched one level before another. A trade whose stop is hit and then recovers within the same M1 bar can be recorded as a loss, a win, or never triggered at all, depending on the invented sequence. The tester picks one path. The EA's results are shaped by that choice.

Our published testing standard states that interpolated ticks inflate scalping results several times over. That is not a caution about individual EAs. It is a structural feature of the test method.

The other number no one quotes: spread

A MetaTrader backtest can be run with a fixed spread that stays constant for the whole test period. The tester will happily fill every order at that spread, in every session, across every news event.

Real spreads do not behave that way. On gold and on index CFDs, spreads widen many times over around scheduled news and during the daily rollover. A backtest run at a narrow fixed spread assumes liquidity that was not present at the moments that mattered. It will show entries and exits at prices no participant could have received.

The distortion is largest for precisely the strategies where interpolation also matters most. Short holding times and small take-profit distances leave no room for a spread that widens by a pip or several. A strategy that captures a few pips on most trades can show a smooth equity curve under a fixed spread and a completely different outcome under recorded spreads.

Modelling quality says nothing about any of this. A report can carry a 90% figure and still have been run at a spread the live account would never have seen. The two numbers are adjacent in the report. They are not measuring the same thing.

What a report has to state before it means anything

A backtest report is a claim that a certain sequence of trades could have happened. For that claim to be checkable, several things must be stated explicitly.

The tick source. Real ticks from a named broker's server, or ticks generated by the tester from M1 bars. If the report does not say which, the reader cannot know what was being simulated.

The spread model. Fixed at a stated value, or variable as recorded by the broker. A fixed spread of an unspecified size is a number without a context.

The broker and account type. Spread and execution are properties of the account, not of the EA. The same system on the same data can produce different results on two different account types at the same broker.

The parameter set, and whether it was optimised on the same period it is reported against. A result that has been tuned on the data it is shown against is not a result. It is a curve-fit, and it says nothing about the period that follows.

The exact test period. The starting balance. The leverage used.

If any of these is missing, the run cannot be reproduced. An unreproducible backtest is a screenshot. It may be a suggestive screenshot. It is not evidence.

How this site runs backtests, stated so it can be checked

We run on MT5, using the mode labelled "Every tick based on real ticks". This pulls the broker's own recorded tick history rather than generating ticks from bars. The modelling quality figure then reports at 99.90%. The difference between that and 90% is the entire point.

The data comes from the broker we actually test on. Spread and execution belong to the same account type the reader would open. We do not test on one broker's data and report as if the result were universal.

We test with vendor default parameters and no optimisation. The reported result is what the EA does out of the box, not what a solver found after ten thousand passes over the same period.

Every test period includes June to August 2025. That gold move removed a batch of systems that had produced clean backtests for years on calmer data. A test that ends before that window is not a test of the same system.

We use backtests to exclude, never to select. A good backtest does not show that an EA will survive. It shows that the report is describing something that could have happened. A bad backtest settles the question in the other direction, and it settles it quickly.

Where a report does not meet this standard, we do not publish it as a result. The first full run is on the site, with every one of the products we tested and the reason each one is or is not ranked.

The limits of all of this, stated plainly

Real tick history is not available for every symbol at every broker. Coverage for older periods is often thinner than for recent ones. A strategy that looks clean on two years of tick data may simply not have been tested on the years where the tick record is incomplete.

Tick data from one broker does not tell you what would have happened at another. Spreads, execution speed, and order matching differ. The same system on the same period can survive at one desk and fail at another.

Slippage and requotes during fast markets are not fully represented in any tester. The backtest will fill orders that a live desk would have slipped or rejected. That is true of MT4 and MT5 alike.

None of this makes a backtest a prediction. A report that scores well on every criterion above is still only a statement about the past. What it gives you is narrower and more useful: a reason to believe the past being described actually happened in the way the report says it did.

Updated Aug 27, 2026