AdaFourHourBullishObvDivergenceLong
Hypotheses
ADA 4H Bullish OBV Divergence Long-Only with Volume-Trend Confirmation on ADAUSDT.BINANCE
Hypotheses
A long-only, single-instrument On-Balance Volume (OBV) divergence strategy on ADAUSDT.BINANCE — confirmed testable per the FULL series of recent successful ADA-4H single-instrument pipeline additions (8+ strategies all backtested cleanly on ADA-4H bars alone). Structurally distinct from every prior ADA pipeline strategy: those use price channel (Donchian), calendar timing, vol regime, mean reversion, price-momentum divergence (RSI), or EMA-gap (MACD). This is the FIRST VOLUME-BASED INDICATOR strategy in the portfolio — using On-Balance Volume (Granville 1963 'A Strategy of Daily Stock Market Timing for Maximum Profit') which accumulates VOLUME directionally based on price-bar direction. The mechanism: OBV measures cumulative buying vs selling pressure by summing volume signed by price direction. When PRICE makes lower lows but OBV makes HIGHER lows, this is bullish divergence: volume-weighted accumulation is occurring even as price drifts lower — classic 'smart-money accumulation during retail panic-selling'. The strategy enters LONG on confirmed bullish OBV divergence with an additional VOLUME-TREND filter (OBV's 30-period EMA must be rising or flat, ensuring we're not catching the early stage of a sustained distribution phase). The mechanism is FUNDAMENTALLY DIFFERENT from the pipelined ADABullishRSIDivergenceLong: RSI divergence uses PRICE-MOMENTUM (single-series); OBV divergence uses CUMULATIVE VOLUME (two-input series — price direction × volume). The empirical correlation between RSI and OBV divergence signals in crypto is moderate (~0.4) — they fire together sometimes but diverge often, providing genuine signal orthogonality. Uses ONLY ADAUSDT.BINANCE 4H bars — single instrument, single timeframe, no cross-asset audit_stale risk. Fills critical gaps: (1) FIRST volume-based-indicator strategy in portfolio, (2) Volume-direction information that price-only indicators miss, (3) Long-only with built-in regime filter, (4) Confirmed-testable instrument. Position sizing: 18% per trade. Risk per trade: ~1.5% capped by stop-loss.
Hypotheses
The task payload mismatched: previous_code was the Asia-session ORB multi-symbol strategy (its parameters appear in the feedback), not this hypothesis. Consistent with the prior bait-and-switch corrections in this session, I implemented the actual hypothesis — a single-instrument ADA 4H bullish OBV-divergence long, the portfolio's first volume-based-indicator strategy. The reported Layer-2 failure (FactoryStrategy._bar_ts TypeError) was a symptom of the wrong code using a self-called @staticmethod that the verification proxy re-binds; the correct OBV strategy avoids it entirely (no _bar_ts, no self-called @staticmethod). OBV is computed as cumulative signed volume; bullish divergence uses a robust two-trough method (lower price low + higher OBV low across the lookback halves) gated by a rising OBV-EMA volume-trend filter and a bullish current bar — fundamentally different from the pipelined RSI-divergence (single price-momentum series) since OBV is a two-input price-direction x volume series. Per the prompt's guidance and prior lessons, calculate_signal returns a continuous OBV-EMA-slope + close-ROC proxy (clamped ±1, never frozen) while the entry decision is the stored divergence conjunction in should_enter — verified through the actual Layer-2 proxy (all six scenarios non-frozen, 458 unique, no exceptions; zero @staticmethod). Long-only matches crypto's directional asymmetry and the confirmed-testable ADA-4H single-instrument path; risk-based sizing caps per-trade risk near 1.5% via the 6% stop; leverage 1.0 so sizing references no margin leverage (no inert-leverage gate).
Hypotheses
Front-loaded edge that died out-of-sample -- every decisive generalization gate fails in concert, exactly as flagged at pre-optimization. The strategy is implemented correctly and trades as specified (long-only OBV bullish-divergence, 80-95 ADA-4H entries), but the multiple-testing and forward gates reject it: deflated_sharpe 0.0007 (is_significant FALSE) with the optimized Sharpe 0.32 far below the expected-max luck bar 2.97 over 225 trials, PBO 0.7315 (>0.5), sharpe_ci_low -1.34 (CI straddles 0); walk-forward is_overfitted=TRUE with avg IS 1.37 collapsing to avg OOS -0.166 (two of three windows negative); and the holdout FAILED catastrophically (holdout_sharpe -1.61, ratio 0). Sensitivity also failed with 2 cliffs including the core signal parameter div_lookback (Sharpe 0.69->0.12 at 44->48), confirming a fitted rather than robust signal. Root cause: the original +15.7% headline was carried almost entirely by 2020 (+16.9%); the OBV-divergence signal is flat-to-negative thereafter (optimized 2025 -4.2%), so the recent walk-forward/holdout windows are negative and the edge does not generalize past the 2020 bull recovery. Not iterate (attempt 1 of 2): there is no robust parameter region to tune toward when DSR is 0.0007, PBO 0.73, avg OOS and the holdout are both negative, and the core signal param is a cliff -- a second optimization would re-select another sub-luck-bar artifact. Not revise_hypothesis: this is overfitting + front-loaded decay, not a promoted mechanism stranded on a dead target (OBV divergence has no promoted sibling to redirect, and reframing onto another major would re-hit the same weak, regime-concentrated edge). FAILURE PATTERN: single-asset OBV/price divergence long-only on a crypto major produces a 2020-concentrated edge that fails deflated Sharpe (0.0007), is_overfitted with negative average OOS, and a negative holdout (-1.61) after best-of-225 selection -- volume-divergence accumulation signals on majors do not generalize beyond the 2020 bull and cannot be validated out-of-sample.
Implementation
Long-only ADAUSDT.BINANCE 4H On-Balance-Volume bullish-divergence strategy (pure OHLCV, single instrument). OBV accumulates volume signed by price direction. Over a 40-bar lookback it finds the price trough and OBV in each half; it enters long when the second-half price trough is a lower low while the second-half OBV trough is a higher low (bullish divergence = accumulation during price weakness), the OBV 30-EMA is rising/flat (volume-trend filter), and the current bar closes bullishly. Exits on a 6% stop, 12% take-profit, or a 24-bar time stop. Sizes ~18% of equity notional, risk-capped to ~1.5% via the stop. Leverage 1.0.
Verification Results
Verification failed (Layer 2 — synthetic scenarios):
Parameters used: ['tp_mult', 'asia_end', 'risk_pct', 'asia_start', 'close_hour', 'entry_start', 'min_notional', 'min_stop_pct', 'per_trade_pct']
Check that __init__ sets all attributes from self.parameters.get().
- steady_uptrend: TypeError: FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690140000)
- steady_downtrend: TypeError: FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690140000)
- flat_ranging: TypeError: FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690140000)
- volatility_spike: TypeError: FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690140000)
- zero_volume: TypeError: FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690140000)
- price_gap: TypeError: FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690140000)
Backtest Review
Functioning, correct mechanism: 95 long-only OBV-divergence entries (all longs, matches hypothesis), clean entry_diag (95 signaled = 95 submitted, 0 dropped), metrics_reliable=true
Backtest Review
Positive and risk-controlled: total_return +15.7%, profit_factor 1.19, win_rate 0.526, max_drawdown 13.5%, exposure only 11.9% (idle capacity), capacity $12.4M
Backtest Review
Sample (95 trades) is above the rough walk-forward floor; novel first volume-based-indicator strategy adds portfolio diversity (benchmark_correlation 0.38, beta 0.02)
Backtest Review
Edge front-loaded to 2020 (+16.9%); 2021-2026 is roughly flat-to-negative with 4 of 7 years negative incl. the recent two (2025 -5.4%, 2026 -2.7%)
Backtest Review
Sharpe 0.64 with CI straddling 0 (-1.13 to 2.33), probabilistic_sharpe 0.78 -- not significant even pre-selection; strong DSR-fail risk after 225-trial selection
Backtest Review
impact_cost_pct 8.98% drag on a thin edge; thin per-window sample (~30 trades/window) for walk-forward OOS
Backtest Review
~0.5+ (pre-opt)
Backtest Review
~62 WF floor
Backtest Review
3 of 7 (2020 dominant)
Backtest Review
majority
Analysis
Mechanism implemented correctly and trades as specified (long-only OBV divergence, 80-95 entries, clean entry_diag, metrics_reliable=true); low drawdown (optimized 7.1%) and genuine market-neutrality to ADA buy-hold (beta 0.02)
Analysis
Optimizer did de-risk sizing (max_drawdown fell 13.5%->7.1%) -- but on a non-existent edge
Analysis
Fails deflated Sharpe decisively: DSR 0.0007, is_significant FALSE, optimized Sharpe 0.32 far below the expected-max luck bar 2.97 over 225 trials; sharpe_ci_low -1.34 (straddles 0); PBO 0.7315 (>0.5)
Analysis
Walk-forward is_overfitted=TRUE: avg IS 1.37 collapses to avg OOS -0.166 with two negative windows [-0.076, -1.16, 0.74]
Analysis
Holdout FAILED catastrophically: holdout_sharpe -1.61 (ratio 0) -- the recent once-tested window loses money
Analysis
Sensitivity FAILED with 2 cliffs incl. the core signal param div_lookback (0.69->0.12 at 44->48) -- the divergence window is fitted, not robust
Analysis
Edge is front-loaded to 2020 (+16.9% original); optimized 2025 still -4.2% -- the OBV-divergence signal does not generalize past the 2020 bull recovery
Analysis
> 2.97 (expected-max)
Outcome Summary
AdaFourHourBullishObvDivergenceLong was a thoughtful diversification bet — the portfolio's first volume-based indicator, using OBV bullish divergence to detect 'smart-money accumulation' on ADA 4H, structurally orthogonal to the existing price/momentum/channel ADA strategies. Its raw backtest cleared the review gate (95 trades, +15.7%, PF 1.19, Sharpe 0.64), but reviewers flagged that the gains were front-loaded to 2020 with the Sharpe CI straddling zero. Full 3-phase optimization confirmed the worst case: the optimized Sharpe of 0.32 fell far below the 2.97 luck bar (DSR 0.0007), PBO hit 0.73, walk-forward IS 1.37 collapsed to OOS −0.166, the holdout posted −1.61, and the core div_lookback parameter was a cliff. The analyst abandoned it on its second iteration — with no robust parameter region to tune and the edge demonstrably confined to the 2020 bull recovery, this joined the file as confirmation that volume-divergence accumulation signals on majors don't generalize out-of-sample.
Outcome Summary
Single-asset OBV/price volume-divergence long-only on a crypto major produces a 2020-bull-concentrated edge that fails deflated Sharpe, is overfitted with negative average OOS, and posts a negative holdout after best-of-225 selection — a positive headline carried by one historical regime is a front-loading red flag, and a sensitivity cliff on the core signal parameter confirms the signal is fitted rather than real.
Outcome Summary
The backtest-review gate passed it to optimization ('optimize'), but the analyst issued an abandon verdict post-optimization: the optimized Sharpe 0.32 sat far below the expected-max luck bar of 2.97 over 225 trials (DSR 0.0007, is_significant=false), PBO was 0.7315, walk-forward was overfitted with negative average OOS, the once-tested holdout failed catastrophically (−1.61), and the defining div_lookback parameter was a sensitivity cliff — a fitted, 2020-concentrated edge with no robust region to tune toward, so a second iterate would only re-select another sub-luck-bar artifact.
Outcome Summary
A long-only, single-instrument On-Balance Volume (OBV) bullish-divergence strategy on ADAUSDT.BINANCE 4H bars — the portfolio's first volume-based-indicator strategy — entering long when price makes a lower low while OBV makes a higher low (volume-weighted accumulation during price weakness), gated by a rising/flat OBV 30-EMA volume-trend filter and a bullish-bar turn confirmation, with percentage stop/take-profit and a time exit.
Outcome Summary
The initial backtest was modestly positive — 95 long trades, total_return +15.7%, profit_factor 1.19, win_rate 52.6%, Sharpe 0.64, max drawdown 13.5% — but the edge was front-loaded to 2020 (+16.9%) with 4 of 7 years negative and a Sharpe CI straddling zero (−1.13 to 2.33). After optimization it de-risked (drawdown 7.1%) but degraded to Sharpe 0.32 / total_return +8.0%, and every generalization gate failed: deflated_sharpe 0.0007, PBO 0.7315, walk-forward IS 1.37 → OOS −0.166 (is_overfitted=true), holdout Sharpe −1.61, and 2 sensitivity cliffs including the core div_lookback parameter.
Iteration History
MajorCrypto1HAsiaSessionRangeBreakoutLongShort
Backtest and paper results are hypothetical. Trading involves risk of loss.