Skip to content

View translation

EthWeeklyOpeningRangeBreakoutLS

Hypotheses

ETH Weekly Opening-Range Breakout, Long-Short (Single-Instrument ETHUSDT.BINANCE Perp, Daily Bars — Trade the Break of the First-Day-of-Week Range for Weekly Momentum Continuation, ATR-Trailing, Pure OHLCV, 3-Parameter)

Hypotheses

A LONG-SHORT, single-instrument, pure-OHLCV calendar-breakout strategy on ETHUSDT.BINANCE USD-M perpetual: each week it marks the high/low of the FIRST calendar day (the weekly opening range) and trades a breakout of that range for the rest of the week, capturing weekly momentum-continuation. It is deliberately engineered against every failure mode this session has demonstrated. (1) It fires ~ONCE PER WEEK — ~50 trades/year, 150-250 over the multi-year catalog — directly fixing the death mode that just killed my last two ideas (BTC strangle collapsed to 2 trades; ETH-HL funding gave 19 trades with a Sharpe CI straddling zero, ruled 'statistically unmeasurable'). A weekly cadence is frequent enough for a measurable edge yet infrequent enough that cumulative fee drag stays light (~5%/yr at 0.10% RT), unlike daily/intraday systems that get eaten by fees. (2) It is SIMPLE pure-OHLCV, single-instrument, standard indicators — the only construction the developer reliably ships this session (options/tick/supplementary ideas all died on whole-strategy swaps, chain-scan timeouts, and instrument mismatches). (3) It is a DISTINCT family from everything pending or dead: not Donchian/N-day breakout (my SOL-HL breakout), not dual-timeframe MA momentum (the survivor), not trend-pullback (dead overfit), not range mean-reversion (my BTC-HL pending), not pairs/carry/options. The calendar-anchored weekly opening range is a specific, well-documented time-structure edge. It fills the under-target LONG-SHORT direction bucket (13.5% vs an 86%-long-only book). Uses DAILY bars (full multi-year ETH history on Binance — the deepest, most reliable data, no HL hourly-history cap), 3 parameters, and favorable reward:risk (winners ride the multi-day weekly leg, losers cut at a tight opposite-range stop).

Hypotheses

Straight answer first: I think QA's read is probably right and the Analyst should weigh abandonment seriously — a -1.37% avg trade over 22 trades in a family with zero session survivors is a decisive point estimate, and I am not going to claim two filters will reverse it. What I did NOT do is re-parameterize the trigger, because QA's own numbers rule that out: the reward:risk asymmetry the design leans on is present and working (avg_win 1.72x avg_loss), so shuffling the stop/target mix just slides along the same win-rate/RR trade-off. The one place real money is leaking that is NOT a directional-edge claim is the entry PRICE, so both changes attack that, and both are locked structural constants so the tunable surface stays at exactly 3 parameters. (1) NO-CHASE CAP: entry is now a band [entry_atr_mult, max_chase_atr=1.0 ATR] instead of a one-sided threshold. Previously any close beyond the range edge was taken, so a wide breakout day booked the fill 2-3 ATRs past the level — paying the whole impulse away up front while still carrying the full traverse-the-range distance to the opposite-range stop. Those trades are structurally the worst in the sample on every axis (worst fill, widest loss, most exhausted move), and at ~$17.7k average notional an avoided ATR of chase is on the order of the -$147/trade expectancy gap, so this is a cost fix with a quantified size rather than a threshold tweak. The cap is floored at 2x entry_atr_mult so optimization cannot collapse the band to empty. (2) WEEKLY-RUNWAY WINDOW: entries are confined to Tue-Sat (Monday forms the range), because a break appearing on the final day of the week is a weekly-momentum trade with zero weekly runway, held only by the ATR trail into the next week's unrelated range. Together these drop roughly a third of entries — the sandbox stays measurable (~14 trades) and the full-catalog projection stays around 30-40/yr, so I have not traded a Layer-4 finding for an unmeasurable sample or a no-trades Layer-3 regression. Everything that already passed is untouched: same imports, same class, same continuous ATR-excess signal with the interior score capped below the entry threshold (the no-chase cap is applied to the entry DECISION, never to the signal, so the signal stays continuous and varying), same exits, same sizing. On QA's second finding I made no code change and agree with their conclusion: this sizing path cannot produce a >100% drawdown at leverage 1.0 — quantity is anchored to risk_pct of equity, independently capped at 1.0x equity notional, floored and min-notional checked, avg_position_pct was 17.7%, and liquidated=false — so the reported max_drawdown 11.62 / total_return -3.22 is a metrics-engine normalization convention seen across every sandbox run this session and should be fixed engine-side, not papered over by shrinking this strategy's size.

Hypotheses

Overfit with no out-of-sample edge — three UNWAIVABLE hard-gate failures: walk-forward is_overfitted=TRUE (IS 0.79 → OOS -0.062), OOS Sharpe -0.062 ≤ 0, and PBO 0.6124 > 0.5. Deflated Sharpe 0.061 (not significant, CI low -0.233) confirms the full-sample 0.40 Sharpe was best-of-N noise; Phase-1 sensitivity FAILED with 2 cliffs. Optimized config negative in 4 of 7 years, whole surface ~0.34 Sharpe — no robust region to tune toward. OHLCV breakout family with repeatedly-dead siblings; reframing overfits again, no structural reason a revise would fix. avg_trade_return_pct 1.25% clears the fee floor, so this is overfit/no-edge, not fee_edge.

Implementation

Long/short weekly opening-range breakout on the ETHUSDT.BINANCE USD-M perpetual, 1-DAY bars, pure OHLCV. Monday's high/low sets the weekly opening range; for the rest of the week a daily close beyond the range edge by between entry_atr_mult and max_chase_atr ATRs triggers a breakout entry in that direction (long above, short below), at most one entry per calendar week and only on Tue-Sat so the trade has weekly runway to continue into. Positions exit on whichever comes first: an ATR trailing stop trail_atr_mult ATRs from the best close since entry, an opposite-range stop when the close traverses back through the far side of the opening range, or a 28-day calendar max hold. Sizing risks risk_pct of equity per trade against the ATR stop distance, capped at 1x equity gross notional. Three tunables: entry_atr_mult, trail_atr_mult, risk_pct.

Verification Results

Verification failed (Layer 4 — QA review): - NEGATIVE PER-TRADE EXPECTANCY ON A MEASURABLE SAMPLE, in the zero-survivor pure-OHLCV breakout family -- nothing to optimize toward. Over a measurable 22-trade / 362-day sample (metrics_reliable=true, ~110-130 trades projected over the full ETH catalog) the strategy is a net LOSER: avg_trade_return_pct -1.37% (below zero, let alone the fee floor), profit_factor 0.80, Sharpe -0.29, total P&L negative, win_rate 0.318. Crucially this is not a 'needs more data / fees ate a real edge' case: the developer's OWN rationale concedes 'pure-OHLCV breakout continuation is a heavily mined family, and my expectation is that the edge, if any, lives mostly in the asymmetry between the tight opposite-range stop and the ATR trail rather than in directional accuracy.' The sandbox shows that hoped-for RR asymmetry IS present and working (avg_win $1893 = 1.72x avg_loss $1098) yet STILL loses, because the 31.8% win rate is too low to overcome it (0.318*1893 - 0.682*1098 = -$147/trade). So the one structural source of edge the design relied on is demonstrably insufficient -- the breakout-continuation signal has no directional edge on ETH. Per learning L7, pure-OHLCV breakout is a re-parameterized mechanism class with ZERO survivors across the session (the sibling SOL-HL Donchian breakout just failed too), so the bar is higher, not lower; a negative point estimate here is decisive rather than merely weak. - IMPLAUSIBLE RISK-METRIC UNITS -- verify, do not read at face value. max_drawdown is reported as 11.62 (1162%, CI [4.33, 19.77]) and total_return as -3.22 (-322%) despite leverage 1.0, risk_pct 0.02, a 1.0x-equity notional cap, avg_position_pct 17.7%, and liquidated=false. A literal >100% drawdown is impossible without liquidation, and the USD magnitudes do not reconcile with avg_position_pct at 1x (largest_loss -$2835 would exceed a 17.7%-notional position many times over). This is the SAME >100% drawdown pattern seen on every HYPERLIQUID/Binance sandbox run this session (663%, 362%, 321%, 183%), so it is almost certainly a metrics-engine normalization convention (initial-capital vs peak-equity, or a summed-return series), NOT four independent sizing bugs -- the sizing code here is sound (risk-anchored qty, independent notional cap, floor/min-notional guard). Flagging because if it is instead a real accounting/units defect it affects every strategy's reported risk this session and should be fixed engine-side.

Verification Results

At BACKTEST_REVIEW, verify on the FULL multi-year sample that (a) avg_trade_return_pct stays above the fee floor with the outlier win removed, (b) the Sharpe CI moves off zero, and (c) the ~100-trade result is not driven by one regime. If the positive edge does not survive the larger sample, abandon rather than optimize -- this family has no session survivors.

Verification Results

FRAGILE / UNPROVEN EDGE ON A SMALL SANDBOX SAMPLE -- the analyst's BACKTEST_REVIEW must confirm this holds on the full multi-year sample before it is trusted. The iteration-2 entry-quality filters flipped the result from net-negative (iter1: -1.37%/trade, PF 0.80, 22 trades) to net-positive (now: avg_trade_return_pct 0.245%, PF 1.19, Sharpe 0.230, 18 trades), which clears the 0.15% fee floor and the PF>1 bar. BUT the flip was produced by removing ~4 trades from an already-tiny 22-trade sample, the Sharpe CI is [-1.45, 1.77] (straddles zero -- edge not statistically distinguishable from none), and the positive total return leans on one outsized win (largest_win $5681 vs avg_win $1616, kurtosis 8.05). A sign change from re-filtering ~a fifth of a 22-trade sample is well within noise. It is genuinely measurable over the full ETH catalog (18/yr x ~6y ~= 100+ trades), which is exactly where the analyst should judge whether the positive edge is real or a small-sample artifact. Also note L7: pure-OHLCV breakout is a zero-survivor family this session (the sibling SOL-HL Donchian, BTC-HL trend-ride and this idea's own iter1 all failed), so the bar for a convincing full-sample edge is high.

Verification Results

Confirm the drawdown/return normalization engine-side (initial-capital vs peak-equity); recurs across unrelated strategies, so it is a reporting convention.

Verification Results

IMPLAUSIBLE RISK-METRIC UNITS -- verify (unchanged, engine-side). max_drawdown 7.84 (784%, CI [3.63, 15.05]) with leverage 1.0, risk_pct 0.02, a 1.0x notional cap, avg_position_pct 17.6%, and liquidated=false is impossible as an equity fraction; it is the same metrics-normalization convention seen on every HL/Binance sandbox run this session (663%/362%/321%/1905%...), not a sizing bug. The sizing code is correct (risk-anchored, capped, floored, min-notional checked). Both the developer and I reached this conclusion; flagging for engine-side confirmation, not a strategy change.

Backtest Review

Genuine positive per-trade edge: avg_trade_return_pct +0.998% (~10x the 0.10% round-trip fee), expectancy +$197.6/trade, profit_factor 1.24

Backtest Review

Favorable reward:risk works as designed — avg_win $3035 vs avg_loss $1266 (~2.4x), so the 34% win rate is intentional; the iteration-2 no-chase/runway fixes achieved the intended geometry

Backtest Review

Adequate, genuinely two-sided sample (144 trades, 75 long / 69 short over 6.5 years) implementing the stated weekly opening-range breakout mechanism

Backtest Review

Positive across most years with contained max_drawdown 13.7% — not a single-regime artifact; light fee drag (turnover 5.6)

Backtest Review

Sharpe only 0.40 with CI [-0.243, 1.002] straddling zero — the edge is weak and may not survive walk-forward/holdout/PBO robustness gates

Backtest Review

OHLCV-only breakout family, which historically has few survivors; profit_factor 1.24 is only just above the 1.2 bar

Backtest Review

information_ratio -0.738 vs buy-hold, but benchmark comparison is less decisive for a market-neutral-ish long-short breakout

Outcome Summary

This weekly opening-range breakout was engineered to escape the session's death modes — a measurable ~50-trades/year cadence, simple pure-OHLCV construction, and favorable reward:risk — and it succeeded further than any sibling, clearing verification and passing the pre-optimization backtest-review gate with a genuine positive per-trade edge (avg trade +0.998%, PF 1.24) over 144 two-sided trades across 6.5 years. But its full-sample Sharpe was only 0.40 with a confidence interval straddling zero, and the 3-phase optimization exposed it as overfit: walk-forward in-sample 0.79 collapsed to out-of-sample -0.062, PBO was 0.612, the deflated Sharpe was insignificant, and sensitivity showed parameter cliffs. The analyst abandoned it on three unwaivable hard-gate failures, judging the edge best-of-N noise with no robust region to tune toward. It reached optimization and analysis before being abandoned — the deepest any strategy in this batch progressed, but still short of promotion.

Outcome Summary

A positive, fee-clearing per-trade edge on a decisive in-sample is not enough — a weak full-sample Sharpe with a CI straddling zero often collapses out-of-sample, and OHLCV-only breakout families keep failing walk-forward/PBO robustness because the apparent edge is best-of-N noise, not structure.

Outcome Summary

It was the only strategy this session to clear verification and pass the backtest-review gate (verdict: optimize), but the analyst abandoned it post-optimization on three unwaivable hard-gate failures — walk-forward overfit, out-of-sample Sharpe ≤ 0, and PBO > 0.5 — concluding the full-sample edge was best-of-N noise with no robust region to tune toward.

Outcome Summary

It marked the high/low of the first calendar day of each week (the weekly opening range) on ETHUSDT.BINANCE daily bars and traded ATR-buffered breakouts of that range for the rest of the week as long-short momentum-continuation, with a no-chase entry band, opposite-range and ATR-trailing stops, one entry per week.

Outcome Summary

The initial backtest showed a genuine positive per-trade edge over a decisive 144-trade, two-sided sample (avg_trade_return_pct +0.998%, expectancy +$197.6/trade, profit_factor 1.24, avg_win $3035 vs avg_loss $1266, total_return +33.6%, max_drawdown 13.7%), but Sharpe was only 0.40 with a CI [-0.243, 1.002] straddling zero; optimization then failed robustness — walk-forward is_overfitted=TRUE (IS 0.79 → OOS -0.062), PBO 0.612, deflated Sharpe 0.061 (not significant), and Phase-1 sensitivity failed with 2 cliffs.
Strategy report

Backtest and paper results are hypothetical. Trading involves risk of loss.