Triple-Filter Trend Day — retired
We built it, it was our flagship strategy pick, and then attribution revealed the zone-bias DN filter was inverted across all 5 years. Retired after ~$3k drawdown since 2024.
updated 2026-04-22The thesis
Stack three strong filters — each Tier-1 in our audit — and only take trades when all three align:
- VWAP REGIME at 10:30 (price vs session VWAP)
- 0809 Zone Bias (BULLISH / BEARISH / BULL_SPRING)
- W1 + SB Continuation (9:30 first candle agreeing with 10–11 range direction)
When all three say BULL, go long with a ladder exit: OB MID MAGNET → OB BULL target → EXT UP (9:30-frozen projection). Mirror for short. ~15–20 fires/month, 3× normal size, stops at the opposite side of the 9:30–10:30 opening range.
On paper, headline backtest numbers looked strong (85–92% in some cohorts). It was ranked Strategy #1 in our build queue.
Reality
Built as TripleFilterTrendDay.cs. Ran a 5-year simulated backtest. The aggregate looked fine:
| Metric | 5-yr aggregate |
|---|---|
| Trades | 91 |
| Win rate | 54.9% |
| Total P&L (3 contracts) | +$1,313 |
| Max drawdown | −$3,485 |
| R:R | 0.89 |
| Profit factor | 1.08 |
A PF of 1.08 and R:R below 1 on the “highest-edge” strategy in our backlog was a bad signal. The year split told the story:
| Year | P&L | WR |
|---|---|---|
| 2021 | +$1,641 | 62% |
| 2022 | +$406 | — |
| 2023 | +$2,249 | 65% |
| 2024 | −$1,482 | 42% |
| 2025 | −$990 | 47% |
| 2026 YTD | −$511 | — |
Pre-2024: +$4,296 on 63 trades (63% WR, this looks like the flagship it was supposed to be). From 2024 on: −$2,983 on 28 trades.
Per-filter attribution
We built backtest_triple_filter_attribution.py to figure out which filter broke. All three degraded post-2024, but two of them are still directionally correct. One is structurally inverted:
| Filter | UP side (all years) | DN side (all years) | Pre-24 | 24+ | Δ |
|---|---|---|---|---|---|
| VWAP Regime @ 10:30 | 58.6% ✓ | 50.9% (neutral) | 56.9% | 52.7% | −4.1pt |
| 0809 Zone Bias | 57.1% ✓ | 47.1% INVERTED (all 5yr) | 51.3% | 53.2% | +1.9pt |
| W1+SB Continuation | 60.2% ✓ | 53.1% (weak) | 59.3% | 54.1% | −5.2pt |
| All 3 aligned (strict) | — | — | 62.6% | 55.2% | −7.4pt |
The 0809 Zone Bias DN side has been structurally broken across all 5 years (40.6 / 53.6 / 41.8 / 48.8 / 46.0% on bear close-dir). It’s not “degraded recently” — it was never right on that side. The aggregate looked fine because the bull side was strong enough to mask it.
Why it passed the first audit
We signed off on the filter in isolation because the aggregate bull+bear number was close to 50/50 but leaned bullish — which we interpreted as “bullish edge, neutral bear.” In reality, the DN leg was consistently anti-predictive (40–48% bear close-dir against a 46% baseline → worse than coin flip).
Compounded in a three-filter stack, that one broken leg drags the whole strategy below 1.0 R:R on the short side and leaves the long side dependent on regime tailwind.
Retirement
- File archived:
TripleFilterTrendDay.cs.archived_2026-04-22 - Strategy queue re-ranked — HCS Reversal moves to #1 because its yearly stability is much cleaner (81% touch, 5/6 years)
- The 3 filters remain individually useful in confluence scoring — they just can’t be stacked for a multiplicative edge
Lessons
- Always run per-year attribution before deploying a multi-filter strategy. Aggregate numbers hide regime breaks and per-direction inversions.
- A 5-year-consistent single-side bias is a red flag. If one leg of your stack has been wrong on one direction for 5 straight years, that’s not “the bear side is weak” — that’s structurally anti-predictive and compounds badly.
- Target PF > 1.3 and R:R ≥ 1.0 for strategies, not just WR. A 54% winner with 0.89 R:R is just barely positive in sample and will flip negative in live on any execution slippage.
- Don’t assume “Tier 1 filter” transfers to “Tier 1 strategy.” A signal that contributes usefully to a confluence score may not be strong enough in isolation to survive stacking.