Data sources

Where the prices come from

Every result you see was produced by replaying these series. This page says what they are, how far back they go, and what they cannot tell you.

FX majors and crosses
56 instruments
Aug 2021 to Aug 2026
Tick, aggregated to M1

One minute bars from the bid side, aggregated up. Spread is modelled on top, not read from the feed. Source: Dukascopy, the same kind of feed an MT5 broker gives you.

Metals
2 instruments
Aug 2021 to Aug 2026
Tick, aggregated to M1

Quoted per troy ounce against the dollar. Rollover breaks are marked, not smoothed over. Source: Dukascopy, the same kind of feed an MT5 broker gives you.

Crypto
7 instruments
Aug 2017 to Aug 2026
M1

Weekend trading included. No synthetic weekday-only fill. Sources: Dukascopy, the same kind of feed an MT5 broker gives you; Binance spot, not a broker feed — a real gap from what MT5 will show you.

How far back a test reaches depends on the candle. 1 year of M1, 3 years of M5, 5 years of M15 and slower — the finer the candle, the more of them a year holds. A one-minute strategy tested on a year is already reading more candles than a five-year hourly test, and every result names the exact range it used.

How the data is handled

Nothing is read before it could have been known

Every indicator value is computed from candles that had already closed at that moment in the test. A signal on a candle can only use that candle once it is complete.

The spread is modelled, not measured

We fetch one side of the market — the bid — and add a fixed spread per instrument on top of it. So a buy costs you that spread on entry, but it is our number, not the one your broker quoted at that second. Real spreads widen around news and at the session roll; ours does not. That is the single biggest gap between these results and a live account, which is why every test is also run again at 1.5 times those costs.

Gaps are left where they are

Weekend gaps, holiday closes and rollover breaks stay in the series. We do not interpolate a price that did not trade.

Costs are applied, then applied again harder

Every test runs twice: once at our modelled spread and commission, once at 1.5 times those costs. Both numbers are shown on the results screen.

What we do not have

Listed here rather than discovered later, when a rule silently fails to build.