Strategies
Percentage Crossover Channel, restated as a volatility-scaled ratchet-channel breakout (REVERSE mode only) on 4 OKX alt perps, 4H, long-short with flat-on-midline exit
Outcome: Abandoned
OkxFourAltVolScaledRatchetBreakout
Outcome Summary
The hypothesis turned a contrarian channel EA, which its pre-study had already falsified, into a volatility-scaled ratchet-channel breakout traded long-short on four OKX alt perps. The pre-study showed a thin positive edge, mostly from AVAX. Over 3 iterations the coded strategy never passed verification: the Layer 3 sandbox smoke test kept exceeding the 300s limit on a 2400-day ADAUSDT.OKX 4H window. The run was abandoned before any real backtest, optimization or analyst verdict.
Hypothesis
The user's idea is concrete (type a), so I kept its indicator and both of its trade triggers. I changed three things, each backed by the pre-study: (1) the DEFAULT contrarian mode is dropped because it is negative on every width and every coin; the source's own 'Reverse trade' option is the mode kept. (2) The fixed 'Percent' width becomes a vol-scaled width, because the only positive region is a wide ~6-sigma channel and that has to adapt across regimes. (3) The midline-cross becomes the EXIT, so the strategy is flat between swings rather than always-in. Venue: OKX USDT swaps (1.6% of corpus; quota >= 5%), long-short. Four non-BTC alts give a combined sample of ~500 trades; per lesson L173 this is kept to 4 sleeves to stay inside compute budget. Two tunables only, because overfit is a frequent killer. I expect a modest result (OOS Sharpe ~0.6) and flag it as low priority.
verification_loop: sandbox_timeout: Verification failed (Layer 3 — sandbox backtest): smoke test exceeded the 300s wall-clock limit on a ~20000-bar window (2400 days of ADAUSDT.OKX-4-HOUR-LAST-EXTERNAL). 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).
Implementation
Trades volatility-scaled ratchet-channel breakouts independently on four OKX altcoin perpetuals, exiting when price crosses the midline or the catastrophic stop.
The fixed 1.0 leverage now appears in parameters as required by the research plan and is used in both sizing paths. The previously passing signal and exit logic is retained.
Verification Results
sandbox_timeout: Verification failed (Layer 3 — sandbox backtest): smoke test exceeded the 300s wall-clock limit on a ~20000-bar window (2400 days of ADAUSDT.OKX-4-HOUR-LAST-EXTERNAL). 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).
Iteration History
Verification failed (Layer 1.5 — hypothesis/config consistency) [class=hypothesis_mismatch]: - optimization_plan fixes leverage at 1.0
code_identical: iteration 2 resubmitted byte-identical code to iteration 1 — the previous feedback was not acted on, so the result cannot change. Either change the code to address it, or state recommendation='abandon' with the reason if no code change can help. Previous feedback: Verification failed (Layer 1.5 — hypothesis/config consistency) [class=hypothesis_mismatch]: - optimization_plan fixes leverage at 1.0
Outcome Summary
Per-bar work on multi-instrument strategies has to stay O(1) or O(log n) and be checked against the ~20k-bar sandbox budget before submitting, or a thesis that may be valid never gets a real backtest.
It was abandoned in the verification loop after 3 iterations. The Layer 3 sandbox backtest went over the 300s wall-clock limit on a ~20,000-bar (2400-day) window of ADAUSDT.OKX 4-hour data. Because of this, backtest review, analyst review and risk review were never reached.
It restated the Percentage Crossover Channel as a REVERSE-mode breakout on four OKX alt perps (ADA, DOT, LINK, AVAX) on 4H bars. The channel width was scaled to volatility (k≈6 × 180-bar stdev of log returns), each coin ran as an independent long-short sleeve at 25% of equity, and a position went flat when the close crossed back through the midline.
No factory backtest or optimization was produced: the backtest report is empty and there is no optimization report. The only numbers come from the hypothesis's own pandas pre-study: ADA +1.23%/trade (133 trades, Sharpe 0.27), DOT +1.15% (123, 0.26), LINK +0.13% (132, 0.04) and AVAX +11.5% (112, 0.61). The edge was thin and concentrated in AVAX.
Analysis
Percentage_Crossover_Channel_EA
Backtest and paper results are hypothetical. Trading involves risk of loss.