LinkFourHourAtrExpansionBreakoutLong
Hypotheses
LINK 4H ATR-Expansion Breakout Long (Volatility-Regime-Change Entry)
Hypotheses
A long-only, single-instrument, single-timeframe strategy on LINKUSDT.BINANCE 4H bars implementing a NEW MECHANISM CLASS: VOLATILITY EXPANSION as the primary entry signal, not channel breach. The mechanism: detect bars where the current ATR has expanded meaningfully above its 30-bar smoothed average (atr_14 / atr_sma_30 >= 1.4) AND the bar closes bullishly AND price has progressed to a new 5-bar high — interpreting this as a 'volatility regime change' with directional bias. Gated by long-term uptrend filter (close > sma_100) to prevent fading downtrends. CRITICALLY DISTINCT from every existing pipeline mechanism: (a) NOT a Donchian breakout — uses ATR-expansion ratio as the primary trigger, not a channel-breach price level; (b) NOT a volume-spike — uses bar-range volatility (ATR), not transaction volume; (c) NOT a candlestick pattern or close-position pattern — uses multi-bar ATR aggregation, not single-bar or short-window bar geometry; (d) NOT a vol-targeting sizing strategy — vol expansion is the SIGNAL, not the sizing input. The mechanism class is 'volatility regime change' which is documented in Engle 1982 ARCH models and Mandelbrot 1963 vol-clustering literature, applied to crypto by Bekiros 2017 'Volatility persistence in cryptocurrency markets.' LINK is a new 4H instrument in the pipeline — only LinkDailyMultiWeekTrendContinuationLong exists (Daily timeframe), no LINK 4H strategy. LINK has distinct narrative cycles (oracle integrations, CCIP launches, Chainlink BUILD partnership news, RWA tokenization) that produce volatility-expansion events decoupled from BTC/ETH/SOL beta. Single-instrument, single-timeframe — directly avoids the multi-instrument audit_stale failure mode. Long-only because (i) vol expansion + bullish bar + uptrend confluence is bullish-biased, (ii) the trend gate prevents fading downtrends, (iii) shorts on crypto majors empirically refuted.
Hypotheses
Iteration 2 fix for the Layer-2 'frozen signal (value=0.0)' failure across five synthetic scenarios. Root cause was the gated-signal anti-pattern: calculate_signal returned the expansion ratio only when the full 4-condition confluence (vol_expanded AND bullish AND new_high AND trend_up) fired, and 0.0 otherwise — which on smooth synthetic data is every bar, giving a constant 0.0. Fix: calculate_signal now ALWAYS returns a continuous, bar-varying score = tanh((expansion-1)*2 + (close/SMA-1)), driven by the ATR-expansion ratio (the natural continuous decision variable that varies every bar in all scenarios, including zero_volume where prices still move). The strict entry decision is unchanged — computed in the same place and stored in self._long_trigger, which should_enter and position_size now consume instead of the raw signal sign — so Layer-3 trade behavior and the exit logic (which already passed Layer 1) are byte-identical. No imports changed (numpy only), preserving the Layer-1 pass. Venue/leverage unchanged: BINANCE futures at leverage 2.0 with position_size genuinely consuming leverage (equity * position_pct * leverage).
Hypotheses
No edge in the base mechanism, on a thin sample. The ATR-expansion + bullish-bar + new-5-bar-high + uptrend confluence on LINK 4H buys climactic breakouts that mean-revert: profit_factor 0.61, expectancy -640/trade, Sharpe -3.30, and it loses in every year except 2024. The edge is doubly adverse (win_rate 44.4% AND avg_win < avg_loss), so neither hit-rate nor payoff tuning has anything to work with. Only 45 trades over 6.4 years means optimization would fit parameters to noise. The signal is implemented correctly (45/45 entries, 0 dropped), so this is a hypothesis-level failure (the vol-expansion-continuation premise does not hold on this instrument/timeframe), not a code bug — not worth 2 hours of optimization.
Implementation
Long-only ATR-expansion (volatility-regime-change) breakout on LINKUSDT.BINANCE USD-M perp, 4H bars, pure OHLCV. Enters long when Wilder ATR(14) has expanded to >= 1.4x its 30-bar average AND the bar closes bullish AND price prints a new 5-bar high, gated by a close>SMA(100) uptrend filter. Exits: take-profit, stop-loss, trend break (close<SMA), or a 12-bar time stop. calculate_signal() returns a continuous tanh score driven by the ATR-expansion ratio and price-vs-trend so the signal varies every bar; the strict 4-condition entry confluence is stored in self._long_trigger and consumed by should_enter/position_size. Leverage 2.0 (~1.2x equity notional).
Verification Results
Verification failed (Layer 2 — synthetic scenarios):
Parameters used: ['atr_period', 'min_notional', 'position_pct', 'trend_period', 'max_hold_bars', 'stop_loss_pct', 'atr_sma_period', 'expansion_ratio', 'take_profit_pct', 'breakout_lookback']
Check that __init__ sets all attributes from self.parameters.get().
- steady_uptrend: Frozen signal: all 396 signals are identical (value=0.0). calculate_signal() likely has a bug — the signal never varies.
- steady_downtrend: Frozen signal: all 396 signals are identical (value=0.0). calculate_signal() likely has a bug — the signal never varies.
- flat_ranging: Frozen signal: all 396 signals are identical (value=0.0). calculate_signal() likely has a bug — the signal never varies.
- zero_volume: Frozen signal: all 396 signals are identical (value=0.0). calculate_signal() likely has a bug — the signal never varies.
- price_gap: Frozen signal: all 396 signals are identical (value=0.0). calculate_signal() likely has a bug — the signal never varies.
Backtest Review
Signal fires correctly: 45 entries from 13808 bars, 0 dropped — the 4-condition confluence is implemented as specified
Backtest Review
Single-instrument/single-timeframe, no multi-asset staleness risk
Backtest Review
Negative edge: profit_factor 0.61, expectancy -640/trade, total_return -28.2%
Backtest Review
Doubly adverse: win_rate 44.4% AND avg_win (2213) < avg_loss (2924)
Backtest Review
Sharpe -3.30, Sortino -4.87, max_drawdown 30.2% — deeply negative risk-adjusted
Backtest Review
Loses in every year except 2024 (2020 -5%, 2021 -12%, 2022 -8%, 2023 -6%, 2025 -10%) — fails across regimes
Backtest Review
Only 45 trades over 6.4 years — too thin for meaningful optimization even if the edge were marginal
Backtest Review
Mechanism buys new-high vol spikes that mean-revert on LINK 4H — entry is structurally mistimed
Outcome Summary
This strategy introduced a new mechanism class — volatility regime change — entering LINK long when ATR expanded sharply alongside a bullish bar, a new 5-bar high, and an uptrend filter, on the thesis that LINK's narrative-driven vol spikes carry directional continuation. The 4-condition confluence fired correctly across 45 trades, but it had a clearly negative edge: profit factor 0.61, Sharpe -3.30, -28.2% total return, and losses in every year except 2024, with a doubly-adverse profile of a 44.4% win rate and average wins below average losses. The analyst abandoned it at the backtest-review gate on its second iteration, concluding the vol-expansion-continuation premise fails on this instrument (it buys climactic breakouts that mean-revert) and that the thin 45-trade sample left nothing to optimize, so it never advanced to optimization or risk review.
Outcome Summary
Volatility expansion as a continuation entry is structurally mistimed on LINK 4H — buying ATR-expansion new-high spikes catches climactic moves that mean-revert, producing a doubly-adverse edge (sub-50% win rate AND average win below average loss), and at only ~7 trades/year the sample is too thin to optimize even if a marginal edge existed.
Outcome Summary
The backtest-review analyst issued an 'abandon' verdict: the signal fired correctly (45/45 entries, none dropped), so this is a hypothesis-level failure — the vol-expansion-continuation premise buys climactic new-high breakouts that mean-revert on LINK 4H, the doubly-adverse edge leaves nothing for hit-rate or payoff tuning, and only 45 trades over 6.4 years would make optimization fit noise.
Outcome Summary
A long-only, single-instrument strategy on LINKUSDT 4H Binance futures (2.0x leverage) implementing a new 'volatility regime change' mechanism class — entering long when ATR expanded to ≥1.4x its 30-bar average AND the bar closed bullishly AND price printed a new 5-bar high, gated by a 100-SMA uptrend filter.
Outcome Summary
Across 45 trades over 6.4 years it returned -28.2% with profit factor 0.61, win rate 44.4%, expectancy -$641/trade, Sharpe -3.30, Sortino -4.87 and a 30.2% max drawdown; the edge was doubly adverse (avg win $2,213 < avg loss $2,924) and it lost in every year except 2024.
Backtest and paper results are hypothetical. Trading involves risk of loss.