Backtest Process

Multi-Timeframe Backtesting: How to Test Top-Down Strategies Properly

Multi-timeframe backtesting means reproducing a top-down decision honestly: a higher timeframe for direction, a lower one for entry, with no hindsight leaking backwards. Most serious strategies are not single-chart, and this is exactly where hindsight loves to sneak in.

Multi-timeframe backtesting tests a strategy that uses a higher timeframe for bias and a lower timeframe for entries. The challenge is honesty: you must make the higher-timeframe read using only what was visible at that moment, then drop down to execute - never after seeing how the higher timeframe resolved.

Why traders use multiple timeframes

A higher timeframe answers "which direction and what context?" while a lower timeframe answers "where exactly do I enter?". Reading a daily chart for trend and a one-hour chart for the entry lets you trade with the bigger move while keeping stops tight. This top-down approach is common in trend, supply-and-demand, and structure-based strategies, and it is the reason single-chart backtests can miss the real logic.

The core danger: leaking the future

The classic multi-timeframe mistake is using a higher-timeframe candle that had not finished forming yet. In review it is tempting to look at a completed daily candle and say "the bias was obviously up", when at the moment of your lower-timeframe entry that daily candle was only half-built and looked very different. That is hindsight bias wearing a top-down costume, and it makes strategies look far better than they are.

The honest top-down orderbias first, entry second
Higher TF bias
decide first
Lower TF entry
then execute
Peek ahead
invalidates test

How to test it honestly

  1. Advance both timeframes together to the same point in time.
  2. Read the higher timeframe as it looked then - using only closed candles that had actually closed at that moment.
  3. Set your bias before looking for an entry.
  4. Drop to the lower timeframe and take the entry only if it agrees with the bias.
  5. Log the trade with its setup and the higher-timeframe context.

Choosing your timeframe pair

A rough four-to-six-times ratio works well: daily with one-hour, or four-hour with fifteen-minute. The higher timeframe should give clear, slow-changing context; the lower should give precise entries without drowning you in noise. Testing this pairing is closely related to running multi-timeframe mode in the simulator.

Important: the whole edge of multi-timeframe trading can be an illusion if the bias was set with future knowledge. Guard the order of decisions - bias from closed higher-timeframe candles first, entry second - and the test stays honest.

Backtest both charts without cheating

This is the one part of multi-timeframe testing you cannot do honestly by flicking between charts, because the higher timeframe on screen has already closed. FxBacktest advances both charts from the same replay clock, so the higher timeframe candle is still forming exactly as it would have been live, and the future stays hidden on both.

Doing this by hand across two windows is fiddly and error-prone. In a simulator with a multi-timeframe mode, both charts advance together so the higher timeframe only ever shows candles that had genuinely closed at that moment - making it structurally hard to leak the future. You read bias, drop down, and execute exactly as you would live, and the report logs each trade with its context intact.

Measured: what a higher timeframe costs you in sample size

Multi-timeframe analysis is usually sold as free confirmation. It is not free — every step up the timeframe ladder cuts the number of observations you have to judge the strategy on. Counted on the EURUSD archive:

TimeframeBars in the archiveBars per yearRelative to H1
H1100,213~6,2301x
H426,366~1,6403.8x fewer
D15,117~31319.6x fewer
W1854~52117x fewer
MN197~12509x fewer

There are 19.6 H1 bars for every D1 bar. So a daily-bias filter that you believe is adding confirmation is, statistically, being judged on one twentieth of the evidence — and a weekly filter on roughly one hundredth. Sixteen years of history contains only 854 weekly bars and 197 monthly bars. You cannot establish that a monthly filter works; there is not enough of it in existence to test.

Two practical consequences:

  • Keep the bias timeframe close to the entry timeframe. H1 entries with an H4 bias costs you 3.8x in sample. H1 entries with a weekly bias costs you 117x, and the result will not be significant however good it looks.
  • Count trades filtered, not bars. If a D1 filter removes 60% of your H1 entries, you need roughly 2.5x the history to end with the same number of trades. Budget the extra window before you start rather than discovering it at trade 40.

The other half of the problem is honesty about what the higher timeframe knew at the time. A higher-timeframe candle is only usable once it has closed — reading a partly-formed daily bar during an H1 entry hands the strategy information the market had not yet produced, which is the most common way multi-timeframe backtests inflate themselves.

Counted 2026-08-27 from the EURUSD shards of the FxBacktest OHLC archive (100,213 H1, 26,366 H4, 5,117 D1, 854 W1 and 197 MN bars, 2010-2026). Per-year figures use the measured mean of 313 trading days.

Multi-timeframe backtesting FAQ

What is multi-timeframe backtesting?

Testing a strategy that uses a higher timeframe for bias and a lower one for entries, reproducing that top-down process honestly for each trade.

How do you avoid hindsight in multi-timeframe testing?

Only use higher-timeframe candles that had actually closed at that moment, and set bias before the lower-timeframe entry, never after seeing how the higher timeframe resolved.

Which timeframes should I combine?

Roughly a four-to-six-times ratio, such as daily with one-hour or four-hour with fifteen-minute - clear context above, precise entries below.

Sources

Risk disclaimerTrading foreign exchange, CFDs, and other leveraged products carries a high level of risk and is not suitable for every investor — losses can exceed your deposits. Everything on this page is educational content, not financial advice. Backtest and simulator results are hypothetical: they do not represent live trading and past performance does not guarantee future results.