Strategies
DOT Dual-Timeframe Momentum Confluence, Long-Short (DOTUSDT.BINANCE USD-M, 4H Primary + 1D Trend Confirm, Flat on Disagreement, ATR-Trailing Exit, 3-Parameter)
Outcome: Abandoned
DotDualTimeframeMomentumConfluenceLS
Outcome Summary
Porting the minimal recipe to a fresh instrument doesn't confer strip-proof robustness; DOT is too slow to validate (underpowered OOS vault).
Hypothesis
Implementation
Long-short dual-timeframe momentum confluence on DOTUSDT.BINANCE USD-M perpetual. The fast leg (4H primary bars) computes an ATR-normalized EMA spread (EMA12 vs EMA~36) returned continuously every bar; the slow leg (1-DAY bars via extra_instruments/extra_bar_types) computes an 18-day return sign as the trend confirm. A position is taken ONLY when the two agree (spread>0 and daily up -> LONG; spread<0 and daily down -> SHORT); on disagreement the strategy stands flat. Exits on (a) an ATR trailing stop of 3x the entry ATR from the best close since entry, (b) the daily trend flipping against the position, or (c) the 4H spread flipping against the position. Sizing is risk-first: equity * 1.5% / (trail_atr_mult * ATR), hard-capped at 25% of current equity times the requested 2x leverage, so per-trade risk and gross notional are both bounded relative to current equity. Only three tunables are exposed (ema_ratio, daily_lookback, trail_atr_mult), each clamped to the ranges declared in _param_bounds.
Verification Results
No change required; the overrides are intentional and call through to the base where needed.
min_bars_required() and _submit_exit() override framework methods (base_shadow warnings from static analysis). Both overrides are deliberate and behave correctly: min_bars_required gates warmup and _submit_exit calls super() then resets trailing/side state. No functional problem.
Sandbox (unoptimized smoke test) is only mildly positive: Sharpe 0.33, and the normal vol tercile is net negative (-7.1%, Sharpe -0.15) with the entire edge concentrated in the stressed tercile (+37.6%, Sharpe 1.08). That regime concentration is expected of a trend follower, but the analyst should confirm on full history that the DOT carrier reproduces the BTC/ADA survivor's Sharpe rather than relying on a single high-vol regime. Per-trade return 0.85% and 390 trades are healthy, so measurability is not in doubt.
Backtest Review
- Sharpe
- 0.33
- Total return
- 39.72%
- Max drawdown
- 15.66%
- Trades
- 390
- Win rate
- 36.9%
- Profit factor
- 1.09
Mechanism correctly implements the hypothesis: 191 long / 199 short is the intended balanced long-short confluence, flat-on-disagreement, ATR-trailing exit — this IS the factory's only empirically-surviving recipe (BTC/ADA dual-TF confluence) applied minimally to an under-mined instrument, no added filters.
Numerically viable on a reliable 390-trade / 6-year sample: avg_trade_return_pct 0.849% sits far above the 0.15% USD-M fee floor (commission only 3.92% of gross), so this is NOT a fee-edge case; expectancy +$61/trade, PF 1.09 > 1, drawdown a modest 15.66%.
DOT is essentially absent from the corpus and long_short is an under-represented direction bucket, so this is a genuine breadth addition rather than a re-test of a dead target.
Thin base edge: Sharpe only 0.335 with the bootstrap CI [-0.51, 1.09] straddling zero, and PF 1.09 sits in the fee-drag band. This is well below the ADA/BTC survivor tier (Sharpe ~1.6-2.0, PF ~2.2) — the real risk is that the 3-phase deflation strips it to noise.
Regime-concentrated: the entire edge lives in the stressed vol tercile (+37.6%, Sharpe 1.08) while the normal tercile is net negative (-7.1%); recent calendar years are negative (2025 -1.8%, 2026 -9.6%). QA's concern is that the carrier is riding one high-vol regime rather than reproducing the survivor's broad-based edge — optimization must confirm a robust parameter region, not just the current one.
Analysis
Per-trade edge clears the fee floor comfortably (avg_trade_return_pct 0.69%, well above the 0.15% Binance USD-M floor) so this is NOT a fee-edge death.
Mechanism is correctly implemented: balanced 162 long / 184 short confluence, flat-on-disagreement, ATR-trailing exit — a faithful minimal twin of the surviving BTC/ADA dual-TF recipe.
Concentrates positive performance in the stressed vol tercile (Sharpe 1.49), the regime a trend follower should exploit.
Walk-forward is_overfitted=TRUE: avg IS Sharpe 1.339 collapses to avg OOS 0.099, with OOS windows +0.14 / -0.85 / +1.01 — no consistent out-of-sample edge.
PBO 0.541 > 0.5 — the parameter selection is more likely than not overfitting.
Holdout FAILED (HARD gate): holdout Sharpe -0.266 <= 0 on 50 trades over an unseen 331-day window — the edge did not show up on the last 20% of history.
Robustness collapses: deflated_sharpe 0.119 << 0.95, is_significant=false, Sharpe CI [-0.42, 1.18] straddles zero, and it does not survive programme-level FDR (keeps 4 of 242, candidate_p 0.88).
Sensitivity shows 3 cliff parameters (fast_ema, ema_ratio, daily_lookback) and the whole grid maxes at ~0.34 Sharpe — no robust parameter region to tune toward.
The 'normal' vol tercile is persistently negative (-19.3%, Sharpe -0.65), so the headline depends on a single regime.
oos_vault flagged UNDERPOWERED (~73 expected trades vs 100 needed) — the mechanism is too slow to validate on this instrument's history.
Benjamini-Hochberg at q=0.10 over 242 programme candidates keeps 4. A candidate that does not survive here is not distinguishable from the programme's own noise, however good its individual statistics look.
Outcome Summary
Three failed HARD gates post-optimization: walk-forward overfit (IS 1.34 → OOS 0.099), PBO 0.541 > 0.5, failed holdout (Sharpe -0.266).
A minimal 3-parameter long-short dual-timeframe momentum-confluence trend follower on DOTUSDT.BINANCE USD-M...
6-year, 390-trade backtest cleared the fee floor (0.85% per-trade, PF 1.09, 15.66% DD) but thin Sharpe 0.335; optimized to Sharpe 0.41 yet stayed overfit.
Backtest and paper results are hypothetical. Trading involves risk of loss.