Strategies
BTC Liquidity-Sweep Continuation, Long-Short (Single-Instrument BTCUSDT.BINANCE Perp, TRADE-TICK Driven — Detect a Large Aggressive Volume BURST That Sweeps Resting Liquidity, Trade WITH the Sweep for Short-Term Continuation, Fee-Aware Large-Event-Only, Tight Stop / Time Stop, 3-Parameter)
Outcome: Abandoned
BtcLiquiditySweepContinuationTickDriven
BTC Liquidity-Sweep Continuation, Long-Short (Single-Instrument BTCUSDT.BINANCE Perp, TRADE-TICK Driven — Detect a Large Aggressive Volume BURST That Sweeps Resting Liquidity, Trade WITH the Sweep for Short-Term…
Hypothesis
verification_loop: Verification failed (Layer 3 — sandbox backtest): No trades produced Bar type used: BTCUSDT.BINANCE-1-MINUTE-LAST-EXTERNAL, Bars processed: 40270 Diagnostics: should_enter() returned a side 0 times over 40266 evaluated bars -> your ENTRY CONDITION never triggered. Loosen the entry logic / thresholds. Ensure your strategy produces trades with the given data and parameters.
Implementation
Long-short, event-driven microstructure strategy on BTCUSDT.BINANCE USD-M perp. From the trade tape it maintains, in ~1-second buckets, the taker volume printed in the last burst_window_seconds and its signed (buy-minus-sell) imbalance. A LIQUIDITY SWEEP is a burst whose volume exceeds burst_volume_mult times an EWMA baseline of normal per-window volume AND is at least 80% one-sided. The most extreme sweep since the previous bar is latched and traded WITH its direction (aggressive selling sweeps bids -> SHORT; aggressive buying -> LONG) at the next 1-minute bar boundary while still fresh. Exits are a 0.25% profit target (~2.5x the 0.10% round trip), a tight 0.15% stop (0.6x target, ~1.67:1 reward:risk) and a 30-minute time stop anchored to bar timestamps. Per-tick work is pure arithmetic; all evaluation happens at most once per bucket. With no trade tape it deliberately trades nothing — there is no OHLCV sweep proxy.
Verification Results
Verification failed (Layer 3 — sandbox backtest): No trades produced Bar type used: BTCUSDT.BINANCE-1-MINUTE-LAST-EXTERNAL, Bars processed: 40270 Diagnostics: should_enter() returned a side 0 times over 40266 evaluated bars -> your ENTRY CONDITION never triggered. Loosen the entry logic / thresholds. Ensure your strategy produces trades with the given data and parameters.
Iteration History
Verification failed (Layer 3 — sandbox backtest): smoke test exceeded the 300s wall-clock limit. This almost always means per-bar work that scales with history — e.g. rescanning the full funding/supplementary series, or rebuilding a list and calling min()/sorted() inside calculate_signal()/on_bar() on every bar. Precompute sorted timestamp arrays ONCE in __init__ and use bisect, or cache lookups keyed by timestamp, so per-bar cost is O(log n) not O(n).
Verification failed (Layer 3 — sandbox backtest): No trades produced Bar type used: BTCUSDT.BINANCE-1-MINUTE-LAST-EXTERNAL, Bars processed: 40578 Diagnostics: should_enter() returned a side 0 times over 40574 evaluated bars -> your ENTRY CONDITION never triggered. Loosen the entry logic / thresholds. Ensure your strategy produces trades with the given data and parameters.
Verification failed (Layer 1.5 — hypothesis/config consistency) [class=hypothesis_mismatch]: - config.instrument_id is SOLUSDT.BINANCE but the hypothesis declares BTCUSDT.BINANCE — a different asset. Implement the hypothesis as written (or the Research Lead must revise it).
Backtest and paper results are hypothetical. Trading involves risk of loss.