SD1H4H — Euro / US Dollar (EUR/USD) Multi-TF Structure Backtest Original Model

Dukascopy 1-minute BID data, Jan 2022 → present · Euro / US Dollar (EUR/USD) (EURUSD)
← All Markets Overview Strategy A Strategy B Trade Viewer Regime Analysis Entry Filters Trading Costs Monte Carlo Variant Model →

Entry Filters: Break-Quality & Session Timing

Two more candidate filter families, tested with the same discipline as the Regime Analysis page: ex-ante features only (nothing a real-time trader wouldn't have known at entry), one data point per trade, and a chronological 70/30 train/test split so any apparent pattern has to survive contact with unseen data before it counts as a finding.

1. Break-Quality Features

Properties of the specific break that triggered each entry — how far it cleared the level, how long the level had stood, how many times it was retested first — rather than the ambient market environment. All are intrinsic to the BOS/CHoCH signal itself.

Strategy A

MetricSpearman ρp-valueSignificant?Train: filter vs. otherTest: filter vs. otherHeld up?
Break Magnitude (close beyond level, x ATR14)+0.1520.0000p < 0.05-0.05R vs -0.09R-0.32R vs +0.18Rdid not hold up
Wick-Confirmation Lag (bars)excluded — too little variation for a balanced median split (values heavily concentrated at one value)
Broken Level's Age (bars since it was set)+0.0640.0230p < 0.05+0.06R vs -0.15R-0.23R vs +0.04Rdid not hold up
Level Touches Before Breaking (retest count)+0.0160.5637n.s.+0.07R vs -0.07R-0.39R vs -0.07Rdid not hold up
Break-quality scatter grid

Strategy B

MetricSpearman ρp-valueSignificant?Train: filter vs. otherTest: filter vs. otherHeld up?
Break Magnitude (close beyond level, x ATR14)+0.1750.0000p < 0.05-0.07R vs -0.10R-0.03R vs -0.42Rheld up
Wick-Confirmation Lag (bars)excluded — too little variation for a balanced median split (values heavily concentrated at one value)
Broken Level's Age (bars since it was set)+0.1030.0026p < 0.05-0.07R vs -0.09R-0.41R vs -0.12Rdid not hold up
Level Touches Before Breaking (retest count)excluded — too little variation for a balanced median split (values heavily concentrated at one value)
Break-quality scatter grid
Read: break magnitude (how far the close cleared the level, in ATR terms) is the one metric that reaches significance for both strategies and holds its direction in Strategy A's test set — bigger breaks lean toward better trades. It does NOT hold up for Strategy B (direction reverses out-of-sample), so this looks like it may matter more for the faster 1H-exit strategy than the slower 4H one. Treat even the Strategy A result as a lead worth more data, not a confirmed rule — one metric surviving out of four tested, on one strategy, is consistent with a real effect but not proof of one.

2. Session / Time-of-Day

Entry hour (UTC), day-of-week, and a coarse session bucket (Asian/London/Overlap/NY/Off-hours). Purely calendar facts, so there is no lookahead risk at all — the question is only whether any grouping is stable, not whether it's knowable in advance. Kruskal-Wallis tests whether groups differ significantly within the training data; the train/test rank correlation checks whether the same groups stay best/worst in the untouched test data — the real test of whether a grouping means anything.

Strategy A

By Entry Hour (UTC): Kruskal-Wallis p=0.0 (within-train group variation), train/test rank consistency ρ=-0.28 (p=0.1851)

By Entry Hour (UTC)

By Day of Week: Kruskal-Wallis p=0.2457 (within-train group variation), train/test rank consistency ρ=0.543 (p=0.2657)

By Day of Week

By Session Bucket: Kruskal-Wallis p=0.0 (within-train group variation), train/test rank consistency ρ=0.0 (p=1.0)

By Session Bucket

Strategy B

By Entry Hour (UTC): Kruskal-Wallis p=0.0004 (within-train group variation), train/test rank consistency ρ=-0.223 (p=0.2947)

By Entry Hour (UTC)

By Day of Week: Kruskal-Wallis p=0.0916 (within-train group variation), train/test rank consistency ρ=-0.143 (p=0.7872)

By Day of Week

By Session Bucket: Kruskal-Wallis p=0.0 (within-train group variation), train/test rank consistency ρ=0.7 (p=0.1881)

By Session Bucket
Read: Strategy A shows statistically significant variation across hour-of-day and session bucket WITHIN the training period (Kruskal-Wallis p < 0.01) — the kind of result that looks promising in isolation. But the train/test rank correlation is negative for both (as low as ρ=-0.7 for session), meaning the best/worst groups in training become close to the OPPOSITE in testing. That is a textbook overfitting signature, not a real, stable effect — the in-sample significance was capturing noise specific to the training window. No session/time-of-day grouping here is safe to use as a filter.

3. Unused Multi-Timeframe Information

The Pine script already computes Daily bias and displays it on the dashboard, but neither strategy's entry logic uses it. Two questions: does requiring Daily bias to also agree with the trade direction (not just 4H) help, and does how long the 4H bias has already been running at entry ('trend maturity') matter — trading a fresh 4H turn vs. chasing an extended one?

Strategy A

Daily-Bias Alignment

GroupTrain avg R (n)Test avg R (n)
disagrees-0.06R (n=426)-0.07R (n=182)
agrees-0.07R (n=452)-0.07R (n=197)

Kruskal-Wallis p=0.2771, consistent train→test: False

Daily alignment chart

4H Trend Maturity (bars since 4H bias last flipped)

ρ=+0.027, p=0.3466 (not significant) — train above-median +0.03R vs -0.18R, test -0.07R vs -0.07R — did not hold up

4H trend maturity chart

Strategy B

Daily-Bias Alignment

GroupTrain avg R (n)Test avg R (n)
disagrees-0.05R (n=297)-0.08R (n=133)
agrees-0.11R (n=296)-0.37R (n=125)

Kruskal-Wallis p=0.2387, consistent train→test: True

Daily alignment chart

4H Trend Maturity (bars since 4H bias last flipped)

ρ=+0.014, p=0.6897 (not significant) — train above-median +0.01R vs -0.18R, test -0.28R vs -0.16R — did not hold up

4H trend maturity chart
Read: Daily-bias alignment shows no meaningful, consistent effect for Strategy A (train and test both nearly flat, and the ranking flips between them). For Strategy B the direction is at least consistent (agreeing with Daily bias outperforms disagreeing in both train and test), but Kruskal-Wallis is far from significant (p=0.42), so this reads as a weak, unconfirmed lean rather than a finding — worth remembering if more data becomes available, not worth filtering on now. 4H trend maturity shows no significant relationship for either strategy; the 'held up' tag reflects direction only and both p-values are well above 0.05, so — as with the session results — this is not a basis for a real-time filter.