NQ DPO Zero Cross
Cycle-timing system: a Detrended Price Oscillator zero cross marks a swing turning.
Last validated: 2026-10-16 (baseline; weekly cadence starts after launch) · Validation status: Flagged — Long-history validation FAILED; year 1 nearly flat.
1 full-size NQ contract. Test window 2024-09-23 to 2026-09-23 (2 years). Slippage 4 ticks per order, $2.50 commission per contract per side ($5 round trip); $100k account. 4-tick slippage per side = NQ $20, ES $50, GC $40 before commission.
Plain-English rules
- Market
- Nasdaq-100 E-mini (NQ)
- Timeframe
- 15m — 15m only
- Direction
- Long & short
- Style
- Momentum / cycle
- Frequency
- about 87 trades a year
- In stacks
- All-Instrument Stack
- DPO(20) (price minus a 20-period average shifted back 11 bars). Long when it crosses up through zero, short when it crosses down, with the shared NQ filters.
- Exits: shared stop and trailing stop, the opposite zero cross, or flat at 16:00 ET. Of 174 trades: 84 opposite-cross exits, 67 end-of-day flatten, 23 stops.
- Shared NQ filters: Regular session only; entries from 20 min after the open to 14:30 ET; long and short, one position at a time, max 2 trades/day; trend and volatility filters must agree (price vs 100-EMA and its slope, ADX(14) ≥ 18 with DI agreeing, ATR(14) ≥ 10 pts); initial stop 2.2×ATR then a 2.8×ATR trailing stop; flat at 16:00 ET.
Summary of the rules. The full parameter-level rules document is delivered to subscribers (documents only — no code).
Equity curve & drawdown
Year-by-year
| Period | Net | PF | Trades |
|---|---|---|---|
| Year 1 (exits to 2025-08-31) | $6,640 | 1.12 | 86 |
| Year 2 (from 2025-09-01) | $61,660 | 1.96 | 88 |
90% of the 2-year profit came in year 2. Year 1 = exits 2024-09-23 to 2025-09-22; year 2 = exits 2025-09-23 to 2026-09-23 (saved trade list clipped to the window: 174 trades, +$68,300, PF 1.57; closed-trade DD $12,110). Per TV4REAL's NQ/GC stack files.
Recent form
Last 3 months (exits 2026-06-24 to 2026-09-23): 16 trades, +$5,875, PF 1.45. No trade in the list after 2026-09-09.
Robustness
Long-history check (2019–2026) FAILED: PF 1.29, max DD $21,275, top 5 trades 58.6% of net, 2020 crash PF 0.28, walk-forward positive in only 48% of folds. Neighbor-timeframe and parameter-nudge checks not run.
Other timeframes
| Timeframe | Net | PF | Win % | Trades | Max DD | Result |
|---|---|---|---|---|---|---|
| Other timeframes | — | — | — | — | — | no other timeframe passes on file |
Flags for this strategy
- FRAGILE (Tier B). Long-history validation failed (2019–2026: PF 1.29, DD $21,275).
- Year 1 nearly flat (PF 1.06); about 95% of profit came in year 2.
- Single timeframe (15m only).
- A long-history export carried 2-tick instead of 4-tick slippage; the 2-year exports were not independently checked for this.
- In the NQ-only stack DPO is left out (its taken trades net −$785 there). In the mixed All-Instrument tested set it takes 119 trades for +$56,005 — the biggest single contribution — because the other markets leave slots open. Both are in-sample results on one window; its long-history validation still failed.
- Inside the NQ stack tests DPO is dead weight: its 110 taken trades net −$785. Kept out of the NQ Stack.