Guide

How to backtest an MT5 Expert Advisor

Most retail backtests are fiction. Here's the professional workflow for MT5 Strategy Tester — real tick data, explicit spread, out-of-sample validation, walk-forward analysis, and the handful of metrics that actually correlate with live performance.

Why most backtests lie

Open MT5 Strategy Tester with default settings, run a strategy on the last 3 months, and you'll often see a curve that looks like a staircase to heaven. Then you deploy live and watch it give back 40% in the first week.

Every lie a backtest tells comes from one of these sources: unrealistic spread, missing commissions, no slippage, insufficient tick quality, overfit parameters, or in-sample optimization masquerading as out-of-sample validation. Fix these and the backtest becomes a serious planning tool. Ignore them and you're just wiggling the past.

1 — Get real tick data

Default MT5 backtests use "every tick" modeling — which is 'every tick' the broker's server happened to deliver, not every tick that ever occurred. Download proper historical tick data first:

  • Tick Data Suite (paid, ~$97) — import Dukascopy or TrueFX tick streams into MT5.
  • TickStory (free) — free tier for MT4, paid for MT5. Solid data quality.
  • MT5's built-in "Every tick based on real ticks" — better than nothing but broker-dependent.

Target modeling quality ≥ 99%. Below 90%, results are suggestive, not reliable.

2 — Model spread correctly

Default spread in Strategy Tester is "current spread" — whatever your terminal reads right now. On a weekend that's 15+ points wide on EURUSD and your backtest becomes garbage.

Set spread explicitly. Use the typical spread your broker shows during the session the EA actually trades. Add commission via Tester Settings → Custom.

3 — Separate in-sample and out-of-sample

Split your data in two. Optimize parameters on the first half. Lock them. Run the EA on the untouched second half. If the out-of-sample equity curve looks materially different from the in-sample one, you've overfit.

Rule of thumb: 70/30 split, or 60/40 for more stringent validation. Anything where you optimize on the full period and then "test" on the same period is not a test — it's a fit.

4 — Walk-forward validation

The professional version of out-of-sample testing. Optimize on a rolling window (e.g., 2020-2022), test on the next 3 months (2023 Q1). Slide forward. Repeat across the full history. The concatenated forward windows become your walk-forward equity curve — this is what will actually match live performance, within reason.

MT5 Strategy Tester has a built-in walk-forward feature as of 2022. Use it.

5 — Stress with Monte Carlo

Randomize trade order 1,000 times. See the 5th-percentile equity curve. If it's a disaster, your "great" backtest was just a lucky sequence. Our prop firm calculator uses the same Monte Carlo engine.

6 — Metrics that actually matter

  • Profit factor > 1.3 (below this, transaction costs eat the edge).
  • Sharpe ratio > 1.0 annualized on daily returns.
  • Max DD / CAGR < 0.5 (drawdown no more than half the annual return).
  • Trade count ≥ 300. Fewer and statistics are noise.
  • Consecutive losers — know the worst historical streak. Size so that 2x that streak doesn't violate your drawdown cap.

Frequently asked questions

Is 90% modeling quality good enough?

Borderline. You'll get ballpark-correct results but miss the tails. 99% is the professional bar.

How far back should my backtest go?

At least 3 years, ideally 5-10. You want to see multiple market regimes — 2015 CHF flash, 2020 COVID crash, 2022 rate hikes. Strategies that work only in calm markets will fail in crisis.

Can I optimize and then publish that as the EA's track record?

No. That's curve-fitting. Optimization results are not predictive. Only walk-forward or out-of-sample results should be published as performance.