A backtest is an interview, and your settings write the questions.
The defaults ask softballs. Here's how to make the tester hostile — and why only that version is worth trusting.
How do I run a backtest in MT5?
Press Ctrl+R (or View → Strategy Tester), and the tester panel docks at the bottom of the terminal. Work top to bottom through its Settings:
- Expert: Pick the EA from the dropdown. It lists whatever is compiled under MQL5\Experts (install guide here).
- Symbol and timeframe: Choose the market the EA was built for. Both matter. An M1 scalper tested on H1 is a different system.
- Date: Choose Custom period and set real dates. Include ugly regimes on purpose, especially ranges and news spikes. Make sure the year the trend died is in there.
- Modelling: The setting that decides everything — next section.
- Deposit and leverage: Match your actual account. Margin behaves differently at real size. Finding out live that "it only failed at scale" is ugly.
- Start: It's at the bottom right. The first run on a symbol downloads its price history. The progress bar at the bottom is doing real work, so let it finish.

Which modelling mode should I use?
Every tick based on real ticks is the right mode when your broker serves tick history. It replays the actual recorded ticks with spreads included, and it's the only mode that tests your stops honestly. Every tick (generated from one-minute bars) is the fallback.
Use Open prices only for rough scans of systems that act strictly on bar close. Nothing that uses a stop-loss belongs there.
What happens inside a bar is the reason. Your stop and your target can both sit within one candle's range; only tick-level simulation decides which was hit first, and that decision is your win rate. Coarser modes guess.
Two cautions. Real-tick mode's first run downloads a lot of data, including gigabytes on long ranges. Start with a year, not a decade.
And ticks are your broker's ticks. The same EA on another broker's feed is a slightly different backtest. That's normal, and it's the first reason backtests diverge from live results.

The three settings people skip
Delays. The default is Zero latency, ideal execution: fills come instantly at the exact price, every time.
No live account has ever experienced this. Set a realistic delay and watch scalping edges shrink; the ones that survive are the real ones.
Forward. The tester can hold out a slice of your date range (say, the final third) as a forward window. Tune on the first part, then verify on the held-out part.
If performance collapses on data the tuning never saw, you optimized noise. Better to learn it here than live.
Profit in pips. This small checkbox restates results per-pip instead of per-dollar, skipping deposit-currency and margin effects — which is exactly why it makes the same logic comparable across symbols.
How do I read the result without fooling myself?
Trade count comes first. A few dozen trades amount to an anecdote, nowhere near a distribution, so judge nothing on them.
Once the sample is real, read the per-trade numbers before the curve. Start with expectancy in R, not dollars, then compare maximum drawdown with what you'd actually sit through.
The curve you're admiring is one path through history. Resampling the trade list shows how wide "this exact system" really runs across the distribution of paths.
And the gap between a modelled curve and a live account has structural causes no setting removes. Feed and slippage matter. So does the regime after your data ends.
That's why our own EA's page carries the modelled results while the real-tick sweep is published separately, each labeled as what it is. The honest version of a backtest is plural.




