◆ New — Strategy Validator, Code Fixer & Prop Compliance Checker are live. Try one free →
Home / Learn / MT5 Strategy Tester Modes Compared: Every Tick, Real Ticks, 1-Minute OHLC, and Open Prices
MetaTrader

MT5 Strategy Tester Modes Compared: Every Tick, Real Ticks, 1-Minute OHLC, and Open Prices

The MT5 strategy tester offers four price-modeling modes, and the same EA can produce four visibly different equity curves depending on which one you pick. This guide explains exactly how 'Every tick', 'Every tick based on real ticks', '1 minute OHLC', and 'Open prices only' construct price inside each bar, why the differences concentrate in stop and limit fills and spread handling, and a workflow for choosing the right mode at each stage. Educational material only, not financial advice: no tester mode turns a backtest into a forecast, and trading carries a real risk of loss.

What is the difference between 'Every tick' and 'Every tick based on real ticks'?

In the MT5 strategy tester, Every tick generates a synthetic tick stream: it takes the M1 (one-minute) OHLC bars in your history and interpolates a plausible sequence of price movements inside each bar using a documented modeling algorithm. Every tick based on real ticks instead downloads and replays the broker's actual recorded tick history — every real quote, with its real bid and ask — and only falls back to generated ticks where real data is missing. Same EA, same dates, same settings: the two modes can and often do disagree, because one is a reconstruction and the other is a recording.

That distinction matters more than most beginners expect, because the tester mode is silently part of your result. Your EA's logic runs against whatever price stream the tester feeds it, so anything that depends on how price moved within a bar — intrabar stop-loss hits, take-profit touches, pending-order triggers, trailing-stop updates — inherits the assumptions of the mode.

There are two further modes on the same dropdown. 1 minute OHLC feeds your EA only four prices per minute bar (open, high, low, close) in a fixed assumed order. Open prices only calls your logic once per bar, at the open, and nothing else. Both are speed shortcuts with sharply defined validity conditions we will cover below. (A fifth entry, Math calculations, skips price history entirely and exists for running optimizations of pure computations, not trading logic.)

A framing note before the details: everything here is educational only, not financial advice. Picking the most faithful tester mode improves the honesty of a backtest; it does not make the strategy behind it profitable, and trading always carries a real risk of loss.

How 'Every tick' generates ticks — and where the reconstruction bends the truth

In generated-tick mode, MT5 builds each minute of price action from the M1 bar's four known points. The modeling algorithm lays down a predetermined wave pattern between open, high, low, and close — visiting the extremes in an assumed order and density that depends on the bar's shape. The result is a tick stream that is consistent with the bar (it touches the real high and low, opens and closes at the real prices) but whose internal path is an invention.

Two consequences follow. First, the intrabar sequence is assumed, not known. If your stop-loss and take-profit both sat inside the same minute bar's range, the generated path decides which was hit first — and the real market may have gone the other way. For an EA with a tight stop and a tight target, that single assumption can flip individual trades from winners to losers.

Second, the spread is not historical. Generated ticks carry a bid/ask spread taken from the tester's spread setting: either a fixed value you type in, or the current spread captured when the test starts. Real spreads breathe — they widen at rollover, around news, and in thin sessions. A scalping EA that looks viable at a constant 6-point spread can be paying triple that at exactly the moments it trades most.

Every tick based on real ticks removes both distortions where data exists: the path is the recorded path, and every tick carries its recorded bid and ask. The caveats are practical. Real tick history is large (a deep test can pull gigabytes from the broker's server), coverage varies by broker and rarely extends many years back, and where ticks are missing the tester silently substitutes generated ones — so always check the history quality figure reported with the results before treating a 'real ticks' run as fully real.

1 minute OHLC and Open prices only: when the fast modes are safe

1 minute OHLC gives your EA four calls per minute bar — open, high, low, close, in that assumed order — and nothing in between. It is dramatically faster than tick simulation and is a reasonable iteration mode for strategies that operate on bar closes with stops and targets wide relative to one-minute ranges. Its failure mode is the same intrabar-ordering problem as generated ticks, but coarser: with only four points, fills of stops, limits, and pending orders are approximated to those points, and anything that both triggers and exits within one minute is essentially fiction.

Open prices only is stricter and, used correctly, more honest than it looks. The tester calls your logic once per bar, at the bar's open price. This is only valid for EAs written to make decisions exactly once per completed bar — check signals at the new bar, act at the open, never consult intrabar price. If your EA follows that discipline, open-prices results are structurally close to what slower modes produce for the same logic. If it does not — if it manages a trailing stop tick by tick, or uses intrabar highs and lows — the mode is invalid for it, and the tester will happily produce a meaningless curve anyway.

The standard pattern that makes an EA open-prices-safe is explicit new-bar gating:

5
// Educational only — validate before trading; not financial advice.
bool IsNewBar()
  {
   static datetime lastBar = 0;
   datetime cur = iTime(_Symbol, _Period, 0);
   if(cur != lastBar)
     {
      lastBar = cur;
      return(true);
     }
   return(false);
  }

If every decision in OnTick() sits behind if(!IsNewBar()) return;, the EA sees the same decision points in every mode, and mode-to-mode disagreement collapses to fill-price detail rather than logic divergence.

Same EA, four modes, four equity curves — where the differences actually come from

Run one EA over one date range in all four modes and compare the reports. The divergence you see is not noise; it decomposes into a short list of causes, and knowing them tells you which numbers to distrust.

Intrabar fill ordering. Any bar whose range contains both your stop and your target is ambiguous. Open prices only never sees the conflict; 1 minute OHLC resolves it with four points and an assumed order; generated ticks resolve it with an interpolated path; real ticks resolve it with what actually happened. The tighter your stops relative to bar range, the more trades fall into this ambiguous class and the wider the equity curves fan out.

Spread realism. Fixed or start-of-test spread flatters strategies that trade during spread widenings. Real ticks charge you the recorded spread. For a strategy averaging a few points per trade this line item alone can separate the modes' results decisively.

Pending orders and trailing logic. Stop orders trigger on touches; a mode that never simulates the touch (open prices) or approximates it (OHLC) will fill you at different prices — or not at all — compared with tick modes. Trailing stops updated intrabar are simulated meaningfully only in tick modes.

Data coverage. Real-tick tests silently degrade to generated ticks where history is missing, so early portions of a long test may effectively be a different mode than recent portions.

The honest reading: the spread between modes is itself diagnostic. If your EA's results are stable across all four, its edge — whatever it is — does not live in intrabar microstructure. If results collapse as modeling fidelity increases, the backtest was measuring the simulator, not the strategy. That second pattern is one of the most common findings when a promising EA is re-audited properly.

A sane workflow: which mode to use at which stage

Treat the modes as a fidelity ladder and climb it deliberately.

Develop and debug on the fast modes. Use Open prices only (if your EA is new-bar disciplined) or 1 minute OHLC while you are iterating on logic. They are orders of magnitude faster, and at this stage you are hunting bugs and structural behaviour, not final numbers.

Validate on 'Every tick based on real ticks'. Before you take any statistics seriously, re-run on real ticks over the period where your broker actually has tick coverage, and read the history quality figure in the report — a 'real ticks' run backed by 40% real data is mostly a generated-tick run wearing a better label. Compare the equity curve against your fast-mode runs; investigate every material divergence rather than keeping whichever curve you prefer.

Stress the spread. Re-run generated-tick tests with a deliberately pessimistic fixed spread. If viability disappears at a spread your broker regularly shows, the real-tick result was telling you something the averages hid.

Remember what no mode simulates. Even a perfect tick replay omits live-execution reality: your latency, slippage on stop fills, requotes, partial fills, and the broker-side liquidity that existed at that moment. Real ticks are the ceiling of historical fidelity, not a rehearsal of live trading.

And the caveat that belongs at the end of every tester discussion: a backtest — in any mode — is a description of the past under stated assumptions, not a forecast. The mode determines how honest the description is; it cannot make the strategy good. This is educational material only, not financial advice, and trading carries a real risk of loss.

Key takeaways

Educational only — not financial advice. Trading involves substantial risk of loss.

Catch the bug that compiles.Run auditGet Pro