Sign up with our partner broker and get free XAU/USD signals. JOIN US
LIVE MT5 BUILD 5830 LAST REV 2026-05-23
SESSION -- UTC --:--
SESSIONS
SYDNEY22:00–07:00 UTC
TOKYO00:00–09:00 UTC
LONDON07:00–16:00 UTC
NEW YORK12:00–21:00 UTC

Strategy Tester walkthrough: settings that actually matter

The Tester has 30+ settings. Most of them do not matter. The 7 that do, and how to configure them so your backtests are valid signals rather than wishful curve fits.

PUBLISHED 2026-05-23 READING TIME 10 MIN MT5 BUILD 5830 CATEGORY PLATFORM
Key points:
  • The Strategy Tester is MT5's most powerful feature and most misused. Bad backtest settings produce results that have no relationship to real-world performance.
  • Always use Every Tick Based on Real Ticks if your broker provides the data. It is the only setting that approximates real execution.
  • Spread should be set to "Current" or "Random" for realism. The default Fixed spread underestimates trading costs.
  • Always run a forward test after a backtest. Backtested results are necessary but not sufficient.

1. Opening the Strategy Tester

Press Ctrl+R or View > Strategy Tester. The Tester panel opens at the bottom of MT5, with three tabs: Settings, Inputs, Results.

The Settings tab is where everything important happens. Get this wrong and the rest is fiction.

2. The seven settings that matter

(1) Expert Advisor

Choose the EA from the dropdown. Only compiled EAs in your MQL5/Experts folder appear.

(2) Symbol

Critical for realism. Use the exact symbol you would trade in live. Different brokers have different specifications, different spreads, different swap rates. Backtesting on a different broker's symbol approximates that broker's behaviour, not yours.

(3) Period (timeframe)

The base chart timeframe the EA uses. This is the "main" timeframe. Your EA can reference other timeframes too (via iCustom or iMA on different periods), and the Tester handles that transparently.

(4) Modelling

This is the single most important setting. Five options:

ModeWhat it doesWhen to use
Every Tick Based on Real TicksUses your broker's actual recorded tick historyAlways, when available. The gold standard.
Every TickGenerates synthetic ticks within each bar based on OHLCWhen real ticks unavailable. Less accurate but acceptable.
1 minute OHLCSteps through M1 bars only; assumes one tick per barQuick smoke tests. Not for serious validation.
Open Prices OnlySteps through bar opens of the chosen timeframeStrategy logic uses only completed bars and is not sensitive to intra-bar movement. Fastest.
Math CalculationsNo price simulation at allCustom math-only optimisations. Niche.

The single biggest backtesting error: using Open Prices Only on a strategy that depends on intra-bar movement (e.g. checks if price touched a level during the bar). The backtest looks profitable but live performance is completely different because the strategy never triggers the way it does in real markets.

(5) Spread

Three options: Current, Random, or specify a fixed value.

  • Current: uses the current spread on your live market watch. Reasonable but does not reflect spread variations through the trading day.
  • Random: uses recorded historical spread variations (requires real-tick data with spread information).
  • Fixed (e.g. 10): uses a fixed value of 10 points. Useful for stress-testing: run with realistic spread, then run with 2x the spread to see if the strategy still works.

Real-world advice: run your initial validation with Current. Then run a stress test with 1.5x to 2x the spread to see how spread-sensitive the strategy is.

(6) Date range

From and To dates for the test period. Two principles:

  1. Use enough data to span multiple market regimes. For forex, 5+ years is the minimum for a serious validation.
  2. Reserve at least 6 months at the most recent date for forward testing - do not include them in your backtest range.

(7) Forward

This setting splits your test range into in-sample (for optimisation) and out-of-sample (for forward validation). Options: No forward, 1/2, 1/3, 1/4, or Custom.

Use 1/3 or 1/4 as a starting point. The Tester optimises on the in-sample period, then validates on the held-out forward period. If the strategy degrades drastically on forward, it is curve-fit.

3. Tester inputs (the EA's parameters)

Switch to the Inputs tab. You see every external input the EA exposes. For each, you can:

  • Set a single value (for a one-off backtest)
  • Set Start, Step, and Stop (for an optimisation pass)
  • Enable or disable optimisation per input

Example: an EA has inputs MovingAveragePeriod (default 20), StopLossPips (default 50), TakeProfitPips (default 100).

To optimise: tick the Optimise box next to MovingAveragePeriod, set Start=10, Step=5, Stop=50. The Tester will run nine passes (10, 15, 20, 25, 30, 35, 40, 45, 50) and report results for each.

4. Optimisation modes

Above the Inputs tab is an Optimisation dropdown:

  • Disabled: single pass with the default inputs.
  • Slow Complete Algorithm: exhaustive search across all combinations. Slow but thorough.
  • Fast Genetic Based Algorithm: genetic algorithm search. Finds good combinations much faster but may miss the global optimum.
  • All Symbols Selected in Market Watch: not a search algorithm, but applies the EA across all market watch symbols for portfolio testing.

Use Genetic for initial exploration. If you find a promising region of parameter space, narrow the ranges and use Complete to verify.

5. Reading the results

After a backtest, the Results tab shows summary statistics and the equity curve. The most-misunderstood metrics:

MetricWhat it actually means
Net ProfitTotal P/L in deposit currency. Obvious.
Profit FactorGross profit / gross loss. Above 1.5 is good, above 2.0 is suspicious (likely curve-fit).
Expected PayoffAverage P/L per trade. Should be positive and stable across periods.
Absolute DrawdownWorst loss from initial balance. Less useful than relative drawdown.
Maximal DrawdownWorst peak-to-trough loss. The number you should size positions around.
Relative DrawdownMaximal drawdown as percentage of balance at the peak. The most useful single number.
Recovery FactorNet profit / max drawdown. Above 5 is good, above 10 is suspicious.
Sharpe RatioRisk-adjusted returns. MT5 calculates it on a per-trade basis, not annualised, so the number looks different from textbook Sharpe.

The equity curve is more useful than any single number

Look at the Graph tab. A healthy equity curve is steadily up and to the right, with drawdowns but no flatlines and no clusters of losses concentrated in narrow periods. A curve that ramps then plateaus suggests the strategy worked under one market regime and stopped working when conditions changed.

6. The optimisation pass table

After an optimisation, the Optimisation tab shows every parameter combination tested, ranked by your chosen metric (default: profit).

What to look at:

  • The top result: noise. Almost certainly the best curve-fit combination, unlikely to generalise.
  • Stable parameter neighbourhoods: if multiple adjacent combinations all show similar good results, that region is robust. Pick parameters from the centre of a stable region, not the absolute top of a sharp peak.
  • The forward column: if you set Forward = 1/3, you see two numbers per pass: in-sample and out-of-sample. The ratio matters more than either number alone. A 10:1 ratio (huge in-sample win, modest forward win) is a healthy sign. A 10:0.1 ratio (huge in-sample, tiny forward) means curve fit.

7. Practical workflow

Step 1: Sanity test

Open Prices Only modelling. Default inputs. 6 month test. Just confirms the EA runs without errors and trades approximately as expected. Takes 1 to 5 minutes.

Step 2: Validation backtest

Every Tick Based on Real Ticks. Default inputs. 5+ years. Current spread. No forward split. Look at equity curve and drawdown. If the curve is ugly, fix the strategy before optimising parameters.

Step 3: Robustness optimisation

Genetic optimisation across a few key parameters. Forward = 1/3. Look for stable parameter neighbourhoods. Pick a parameter set from a stable region.

Step 4: Stress test

With your chosen parameters, run additional backtests at 1.5x spread, 2x spread. Run on a different broker's symbol if you have access. Run with different starting dates (rolling 1-year windows).

Step 5: Forward test on demo

Deploy on a demo account for 1 to 3 months. Compare actual demo performance to the backtest expectations. Any major divergence means the backtest was misleading.

Step 6: Live with small size

Deploy on live with 1/10th of intended position size for the first month. Real fills may differ from demo. Confirm before scaling up.

8. Common backtest mistakes

  • Open Prices Only on an intra-bar strategy. Already covered. Lethal.
  • Backtest period too short. 3 months of data tells you almost nothing about a strategy's robustness.
  • Ignoring spread variation. Real spread is wider at low-liquidity hours and during news. Fixed spread underestimates costs.
  • Ignoring commissions. Make sure your EA accounts for the commission your broker charges. The Tester does respect it if it is in the symbol specification.
  • Optimising too many parameters. Beyond 3 or 4 simultaneously optimised parameters, you are curve-fitting noise.
  • No forward split. Without forward validation, you have no way to tell if your optimisation generalised.
  • Cherry-picking the best optimisation pass. Almost always the worst-generalising. Choose from a stable region instead.

FAQ

Where does Real Ticks data come from?

From your broker's history server. Your MT5 client downloads it on demand when you run the Tester. The first run on a long historical period may take 10 to 60 minutes just to download.

How accurate is Every Tick mode (synthetic) vs Real Ticks?

For low-frequency strategies (above 5-minute holding times), Every Tick is acceptable. For sub-minute scalping, Real Ticks matters significantly because the intra-bar ordering of ticks affects fill prices.

Can I backtest multi-symbol strategies?

Yes. The MT5 Strategy Tester has supported multi-currency (multi-symbol) testing since the platform launched in 2010. The tester automatically downloads history for any additional symbols your EA references via standard MQL5 calls. You select one "primary" chart symbol but the EA can read prices from, and trade, any symbol the broker exposes.

Why is my backtest slow?

Real Ticks modelling on multiple years is genuinely slow. Use Open Prices Only for initial development iterations. Switch to Real Ticks for the final validation pass.