Strategies
BTC Order-Flow-Confirmed Range Breakout, Long-Short (Single-Instrument BINANCE USD-M Perp, DEEP aggTrades, Trade a Range Break ONLY When a Same-Direction TAKER-FLOW SURGE Confirms Real Demand Is Behind It — Flow-PRIMARY Continuation, the Non-Price Filter That Separates Genuine Breaks From the False Ones OHLCV Breakout Can't — Fast Hold, ATR Stop, 3-Parameter)
Outcome: Abandoned
BtcTakerFlowConfirmedRangeBreakoutLS15m
Large trade sample (2,172) makes the negative verdict statistically decisive
Hypothesis
Negative-expectancy single-perp taker-flow-confirmed range-breakout continuation — no edge to optimize. Over 2,172 trades the mechanism returns -93.0% with profit_factor 0.60, avg_trade_return_pct -0.011% (NEGATIVE), expectancy -$42.95/trade and win_rate 33.9% (both legs <0.35). It loses in EVERY year 2020-2026 (-19% to -48%) and in every vol regime, so the 'flow-confirmed breaks continue' premise has the wrong sign on BTC. max_drawdown is 93.0% (CI to 100%), past the hard-abandon line (L19), with information_ratio -1.50, and commission_pct_of_gross 40.6% adds heavy fee drag on top of the negative gross edge. This is the L73 single-perp supplementary-gated directional class (the 5-min taker-ratio metrics gate substituted for the untestable aggTrades tape adds no robustness) crossed with the L30 pure-breakout graveyard. No parameter tuning of range_lookback/surge_z/atr_mult can flip a per-trade edge that is negative across all seven years. Not worth 2 hours of optimization. Failure pattern: fee_edge/no_edge single-perp order-flow-gated directional breakout loser.
Implementation
Long-short single-instrument BTCUSDT.BINANCE (USD-M perp) taker-flow-confirmed range-breakout continuation. It breaks a short rolling range (range_lookback bars, excluding the current bar) only on a DECISIVE, FRESH cross (close beyond the level by break_margin_atr x ATR, prior close inside), and ONLY when a same-direction aggressive-taker-flow surge confirms it: the taker imbalance (R-1)/(R+1), R = taker_long_short_vol_ratio from the deep 5-min metrics feed, must have a z-score >= surge_z for an up-break (aggressive buyers lifting) or <= -surge_z for a down-break (aggressive sellers hitting). The taker z is baselined on DISTINCT metric samples (no carry-forward duplicates). It rides the continuation with an ATR trailing stop (atr_mult) and exits when taker flow flips hard against the position (demand exhausted), the trail is hit, or a 6-hour max hold. Single position, no leverage, 0.5x-equity notional. 3 core parameters (range_lookback, surge_z, atr_mult).
Verification Results
CLEAN RESTART 2026-09-04 — this run's verdict history and learning records were removed and it was restarted from verification. Its previous abandonment came from the pipeline, not from the market: the Layer-2 harness mis-bound @staticmethod helpers (fixed), QA issued terminal performance verdicts on an unoptimized smoke test (removed — QA now judges correctness only), and sandbox timeouts came from backtest-slot starvation (fixed). The hypothesis and the strategy code are unchanged. Verify the code on its merits; performance is decided later by the full backtest and the optimizer.
Backtest Review
- Sharpe
- -0.05
- Total return
- -93.01%
- Max drawdown
- 93.01%
- Trades
- 2172
- Win rate
- 33.9%
- Profit factor
- 0.60
Large trade sample (2,172) makes the negative verdict statistically decisive
Clean single-instrument implementation with a genuine non-price (taker-ratio) gate
Net loser: profit_factor 0.60, total_return -93.0%, avg_trade_return_pct -0.011% (NEGATIVE), expectancy -$42.95/trade, win_rate 33.9% with both legs below 0.35
Loses in every single year 2020-2026 (-19% to -48%) and in every vol regime — the flow-confirmed-breakout-continues premise has the wrong sign on BTC
max_drawdown 93.0% (CI to 100%), far past the 50% hard-abandon line (L19); information_ratio -1.50
commission_pct_of_gross 40.6% — heavy fee drag compounds an already-negative gross edge
L73 single-perp supplementary(taker-ratio)-gated directional + L30 breakout graveyard: the flow gate does not manufacture an edge
Iteration History
Verification failed (Layer 4 — QA review): - EDGE EMPIRICALLY BELOW FEES, DECISIVELY NEGATIVE ON A LARGE SAMPLE. Sandbox: 536 trades, avg_trade_return_pct -0.045% (below the ~0.10% round-trip and 0.15% floor), profit_factor 0.383, win_rate 0.330, Sharpe -1.655 with CI [-3.43, -0.01] entirely below zero, PSR 0.03, total_return -41.63%, max_drawdown 41.75%. High-turnover fee-death pattern: turnover 307.2, total_impact_usd $9,233, and avg_win < avg_loss ($145.7 vs $187.8). The continuation mechanism as reconstructed has no fee-clearing edge. - PRIMARY SIGNAL NOT IMPLEMENTED. The hypothesis requires the taker-flow surge from the DEEP aggTrades feed as the primary signal; the code z-scores the 5-min metrics taker buy/sell VOLUME ratio (aggregate, not aggTrades) because aggTrades is un-wired here. Fifth strategy in this family to substitute the identical metrics proxy for an un-wired aggTrades edge — and it closes the loop: the fade variants were edge-dead, and now the continuation variant is also edge-dead (-41.6%, PF 0.38). The proxy carries no exploitable edge in either orientation.
Backtest and paper results are hypothetical. Trading involves risk of loss.