Data-source parity — XAUUSD — dukascopy (backtest) vs MT5 (live)¶
Generated: 2026-06-09T08:36:46.953715296Z
Day: 2026-06-04 Timeframe: 1m
Source A (backtest): dukascopy XAUUSD ticks, aggregated by the engine's CandleAggregator
Source B (live): MT5 broker XAUUSDm historical bars via the gateway
Dukascopy ticks carry a real bid/ask; a paper-broker backtest throws it away and
fills at the mid. These are the spreads present in the data but not in paper PnL.
Compare against the broker spread the MT5 gateway reports for XAUUSDm.
Close parity measures whether the price level your backtest replays matches what
the broker recorded. Small deltas (a fraction of a dollar / a few bps on gold) mean the
data source is faithful: a backtest that fires on a price will see that price live too.
It does not measure execution. Even with identical prices, live fills pay the spread
and slippage; the default paper backtest does not. That gap is catalogued separately in
backtest-vs-live.md. Use --broker mt5-sim to model the spread.
Unaligned bars are usually session edges (the broker's day starts/ends at a different
wall-clock than 00:00 UTC) — expected, not a data fault, as long as the interior aligns.