Weekend data holes and the false gap in historical charts
Historical data usually contains a gap between Friday close and Sunday open, plus occasional holes when the feed was down. Backtesters treat these gaps in different ways, and strategies that hold positions across them may produce misleading results.
For scalpers who stay flat overnight and on weekends, the issue seems irrelevant. But indicators calculated across the gap can carry artifacts. A moving average or ATR computed over bars that straddle the weekend includes the jump as if it were a normal price change, distorting values for the next several bars.
The effect is most visible on Monday opening bars, where volatility indicators spike and signals fire without real cause. Strategies that filter by volatility may behave differently on Mondays purely because of the gap.
The cure is resetting the indicator calculation at the start of each session, or excluding the first N bars after a gap from signal generation.
Review the logs of Monday-morning trades to see whether results differ from other times, and examine whether gaps are a factor.
Do Monday morning signals behave differently from the rest of the week in the trade log?
Weekend data holes and the false gap in historical charts
Re: Weekend data holes and the false gap in historical charts
Checked this with a 14 period ATR on 1 minute EUR/USD. On the first bars after the Sunday open, ATR jumped because one of the bars included the weekend gap, which on a normal week was 5 to 15 pips but occasionally more. My volatility filter read that as an active market and allowed trades in what was actually the thin early Asian session. Adding a rule to ignore the first 30 bars after any gap longer than an hour fixed it. Small fix, cleaner signals.
It’s Fairman 
-
Amanhasnoname
- Posts: 1506
- Joined: Fri Oct 30, 2026 9:45 am
Re: Weekend data holes and the false gap in historical charts
The weekend gap bit me in a slightly different place, which is the session high and low I mark each morning. My script took the high and low of the previous 24 hours of bars, and on Mondays that window reached back across the closed weekend, so the Sunday open candle with its gap became the reference level for the whole Asian session. Several of my early Monday breakout entries were triggered off a level that only existed because of the gap.
I fixed it by defining everything from session start times instead of rolling windows, so Monday's reference range starts at the first bar after the open and nothing before it is used. It was a short code change, but it removed a whole class of odd Monday signals.
A quick way to see whether you have the same issue is to plot the trade count per weekday over a few months. Mine showed Monday with roughly forty percent more entries than Tuesday, which can't be explained by the market, and that was what sent me looking at the indicator inputs.
I fixed it by defining everything from session start times instead of rolling windows, so Monday's reference range starts at the first bar after the open and nothing before it is used. It was a short code change, but it removed a whole class of odd Monday signals.
A quick way to see whether you have the same issue is to plot the trade count per weekday over a few months. Mine showed Monday with roughly forty percent more entries than Tuesday, which can't be explained by the market, and that was what sent me looking at the indicator inputs.