Strategies
BCH USD-M 4H Donchian Channel Breakout, Long-Short with 1D Trend Filter and ATR-Trailing Exit (Turtle-style, 3-parameter)
Outcome: Abandoned
BchDonchianBreakoutTrendFilteredLS
Outcome Summary
BchDonchianBreakoutTrendFilteredLS was a structurally-distinct, 3-parameter Turtle-style Donchian breakout on BCH 4H, chosen to diversify away from the saturated EMA-momentum family and the corpus's BTC concentration. Its first backtest was statistically indistinguishable from zero, so it passed backtest-review with an 'optimize' verdict on the strength of a fee-clearing per-trade return and a genuinely novel construction. Optimization then exposed the edge as noise: the walk-forward was overfit (IS Sharpe 1.033 collapsing to OOS -0.811), PBO 0.623, deflated Sharpe 0.0, and the unseen holdout returned a negative -0.539 Sharpe. After 2 iterations the analyst abandoned it as an overfit / no-generalization death — the same fate the Donchian channel-breakout mechanism has met repeatedly across BTC, BNB and BCH variants.
Hypothesis
Implementation
Turtle-style Donchian channel breakout on BCHUSDT.BINANCE USD-M perpetual, 4H bars, long AND short. Entry: 4H close breaks above the highest high (below the lowest low) of the prior donchian_len 4H bars, gated by a 1-DAY trend filter (rolling SMA of trend_sma_len daily closes sampled from the 4H stream) so longs require close > daily SMA and shorts close < daily SMA. Exit: ATR-multiple trailing stop from the best excursion since entry (also serves as the initial stop). Sizing is Turtle volatility sizing - risk_pct of equity over the atr_trail_mult*ATR stop distance, capped at max_notional_frac*leverage of equity notional. Three searched parameters: donchian_len, trend_sma_len, atr_trail_mult.
Verification Results
Verify on full history that avg holding lengthens with the 4-ATR trail; if holds stay ~3 bars, the trailing-stop distance is being cleared by intrabar range and the horizon is effectively unchanged.
The rationale expects ~60-150 trades and 'decisively longer holds' from the widened Turtle horizon, but the sandbox shows 362 round-trips at ~11h39m average holding. The ATR-trail exit is firing far faster than intended, so the horizon fix may not deliver the fee-headroom the hypothesis argues for. Not a code defect — the mechanism is implemented faithfully — but the stated remediation is not evidenced in the smoke test.
No action required; the override is deliberate and safe.
min_bars_required overrides a framework method (Layer-1 base_shadow warning). Confirmed intentional here — it correctly gates warm-up on only the 4H components while the daily SMA is checked separately in should_enter, so entries are correctly deferred until the daily trend filter has filled. No correctness impact.
Sandbox Sharpe is +0.125 with a CI [-0.63, 0.89] straddling zero and total_return is driven by a few large wins (largest_win 6063 vs avg_win 553; kurtosis 5.27) — near-noise on this smoke draw. More notably, the iteration-2 horizon widening (donchian 55, atr_trail_mult 4.0) did NOT produce the long holds the rationale claims: avg holding is ~11h39m (~3 bars) over 362 trades, i.e. the ATR trail is being hit quickly and the system still whipsaws. It also LOSES in the stressed vol tercile (-9.79%, Sharpe -0.21), the regime a Turtle breakout should exploit. avg_trade_return_pct 0.27% clears the fee floor but with little margin. The analyst should confirm on full history whether the widened trail actually lengthens holds and whether the breakout edge is real vs. optimized-in.
Backtest Review
- Sharpe
- 0.12
- Total return
- 14.98%
- Max drawdown
- 14.06%
- Trades
- 372
- Win rate
- 43.0%
- Profit factor
- 1.15
Reliable, ample sample: 372 trades over 6.7 years (14,634 bars), balanced long (190) / short (182) breakouts that match the long-short trend-filtered Donchian hypothesis — the mechanism trades what it claims.
avg_trade_return_pct 0.288% clears the Binance USD-M 0.15% fee floor with margin and is already net of impact (impact_folded=true); PF 1.147 (>1.10, above the fee-drag band), positive expectancy (+$30/trade), total_return +15%, max_drawdown a contained 14%.
Structurally distinct from the saturated EMA momentum-confluence family and applied to an unmined liquid major (BCH), diversifying the corpus — worth a genuine 3-phase test rather than a pre-emptive kill.
Entry diagnostics are clean (372 signaled = 372 submitted; 0 dropped for size/notional/cash), so it is a fair test.
Base Sharpe 0.118 with CI [-0.64, 0.89] straddling zero — near-noise; the edge, if any, is thin and the deflation/holdout gates at ANALYZING will be the real test.
QA concern borne out on full history: avg holding ~2.5 bars (~9h51m) despite the 55-bar channel and 4xATR trail — the widened horizon did NOT lengthen holds, so the system is scalping breakouts that reverse rather than riding trends.
impact_cost_pct 31.8% (>25%) and capacity_usd ~$990K — the edge exists only at small scale; reassess capacity/size after optimization.
Flat regime spread (calm 0.20 / normal 0.12 / stressed 0.18) — no differentiated edge in the high-vol regime a Turtle breakout should exploit.
Analysis
Reliable, ample sample: 208 optimized trades (372 default) over 6.7 years, balanced long/short breakouts that faithfully implement the trend-filtered Donchian mechanism.
avg_trade_return_pct 0.343% clears the Binance USD-M 0.15% fee floor, so this is NOT a fee-edge death — the edge, where it exists, is above costs.
Modest drawdown (10.9%) and BCH instrument choice genuinely diversifies the corpus's BTC concentration.
Four unwaivable HARD gates fail: walk-forward is_overfitted=TRUE (avg IS Sharpe 1.033 -> avg OOS -0.811, windows 0.0 / -2.78 / +0.34), OOS Sharpe -0.811 <= 0, PBO 0.623 > 0.5 (selection more likely than not overfitting), and the holdout FAILED with Sharpe -0.539 on 25 trades over the unseen 366-day window (a NEGATIVE forward edge, not merely marginal).
Robustness confirms best-of-N noise: deflated_sharpe 0.0 << 0.95, is_significant=false, Sharpe CI [-0.765, 0.798] straddles zero, and it does not survive programme-level FDR (keeps 4 of 246, candidate_p 1.0).
Sensitivity flags 3 cliff parameters (donchian_len, atr_trail_mult, breakout_threshold); the whole grid tops out around 0.25 Sharpe and collapses negative just off-base — there is no robust parameter region to tune toward.
Optimization made it WORSE, not better (base Sharpe 0.118 -> optimized 0.079), and the oos_vault is itself flagged UNDERPOWERED (~70 expected trades vs 100 needed) — the mechanism is too slow to validate on available history.
Pre-registered predictions missed on the two that matter: OOS Sharpe -0.811 vs declared 0.9, PF 1.118 vs declared 1.25.
Backtest gate: - metrics unreliable: Incoherent: Sharpe 0.12 disagrees in sign with total_return -0.49% — the Sharpe is computed from the mtm_equity_curve series while the return comes from the equity curve. Judge on the equity curve.
Benjamini-Hochberg at q=0.10 over 246 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
Re-pointing the Donchian/Turtle channel-breakout recipe at a fresh instrument or longer horizon does not escape the family's recurring overfit death; a thin, near-zero base Sharpe with cliff-prone parameters offers no robust region to tune toward, and slow mechanisms lack enough trades to validate on available history.
The analyst abandoned it at ANALYZING after four unwaivable HARD gates failed — overfit walk-forward, OOS Sharpe ≤ 0, PBO > 0.5, and a failed holdout with a negative forward edge — confirming best-of-N noise rather than a real, generalizing edge.
A 3-parameter Turtle-style Donchian channel-breakout strategy on BCHUSDT 4H (USD-M perp), trading long and short gated by a 1D trend-filter SMA with an ATR-multiple trailing exit, deliberately aimed at an unmined liquid major to diversify the corpus's BTC concentration.
The initial backtest showed +14.98% total return, Sharpe 0.118 (CI [-0.64, 0.89]), profit factor 1.15 and avg_trade_return_pct 0.288% over 372 balanced long/short trades (14,634 bars, ~6.7 years), clearing the fee floor but with a near-zero edge. Optimization made it worse (Sharpe 0.079, PF 1.118) and every generalization gate failed: walk-forward is_overfitted=TRUE (avg IS Sharpe 1.033 → OOS -0.811), PBO 0.623, deflated Sharpe 0.0, and a holdout Sharpe of -0.539 on 25 trades.
Backtest and paper results are hypothetical. Trading involves risk of loss.