LinkDailyHammerReversalLong
Hypotheses
LINK Daily Hammer Reversal Long with 200-SMA Bull Regime Filter
Hypotheses
A long-only single-instrument SINGLE-BAR CANDLESTICK-PATTERN strategy on LINKUSDT perpetual futures using daily bars and OHLCV-only data, with a 200-SMA bull regime filter. The trigger is the classic 'hammer' (or bullish pin bar) — a single-bar formation documented by Steve Nison (Japanese Candlestick Charting Techniques, 1991) and extensively tested by Al Brooks (Reading Price Charts Bar by Bar). The hammer is defined by specific geometric proportions of a single daily bar: a long lower shadow, a small body, and a close near the bar's high — visually resembling a hammer. This represents a within-bar tail-rejection event: sellers pushed price materially lower during the day, but buyers absorbed all that supply and drove price back up to close near the high — a textbook supply-exhaustion signature occurring within a single bar's worth of trading flow. This is mechanistically NOVEL within the portfolio: no existing strategy fires on a single-bar tail-rejection signal. EthDailyBullishEngulfingLong fires on a 2-bar engulfing relationship (requires a specific prior-bar relationship); SolDailyInsideDayBreakoutLong fires on 2-bar compression (range containment); EthDailyConsecutiveDownDayPullbackLong fires on a multi-bar count of bearish events; the drawdown/oscillator strategies measure continuous statistics. None capture within-bar rejection geometry. LINK 1D timeframe is chosen because (a) LINK 1D data path is empirically the most-cached for LINK (used by LinkDailyMultiWeekTrendContinuationLong at Sharpe 2.55 paper-trading), (b) candlestick patterns have their canonical tested-since-1991 statistical foundation at the daily timeframe, NOT intraday, (c) LINK has well-documented multi-cycle volatility-and-rejection dynamics (oracle-protocol news cycles produce intraday spikes-and-recoveries that resolve as hammer formations on daily bars), (d) LINK is currently UNDERUTILIZED in the portfolio (only 1 LINK strategy), and adding a reversal-pattern strategy diversifies LINK's existing trend-continuation coverage with an orthogonal reversal-pattern signal. Only 3 explicit parameters (regime SMA period, lower-shadow-to-body ratio threshold, stop-loss pct) — minimum-parameter portfolio addition.
Hypotheses
Iteration 2 fix for the Layer-2 'frozen signal (value=0.0)' failure in steady_uptrend, steady_downtrend, and volatility_spike. Root cause was the gated-signal anti-pattern: calculate_signal returned a conviction only when the full hammer geometry AND bull regime held and 0.0 otherwise, which on smooth trend/spike synthetic data is every bar -> all 296 post-warmup signals identical at 0.0. Fix: calculate_signal now ALWAYS returns a continuous, bar-varying hammer-geometry score = tanh(lower_shadow_frac - body_frac - upper_shadow_frac), which changes every bar with candle shape, so the signal varies in every scenario. The exact entry decision is unchanged: a confirmed hammer in a bull regime returns magnitude >= 2.0 (graded by lower-shadow fraction), and should_enter()/position_size() gate at entry_threshold=1.5, so the same hammer+regime condition drives trades at Layer 3 and the version that already passed Layer 1 is preserved. No imports changed (numpy only), retaining the Layer-1 pass, and the stop/take-profit/trend-break/time-stop exit logic is untouched. 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. The daily hammer (single-bar tail-rejection) reversal on LINK with a 200-SMA bull filter has decisively negative expectancy: profit_factor 0.44 (gross losses more than double gross profits), expectancy -1141/trade, Sharpe -1.75, total_return -70.5%, losing in 5 of 6 years (only 2024 positive, carried by one +48% day). The edge is doubly adverse — win_rate 37.9% AND avg_win (2338) < avg_loss (3263), payoff ratio 0.72 — so neither hit-rate nor payoff tuning has anything to work with: the 'buy the long-lower-tail' entry catches falling knives, the 5% stop is hit by continuation far more often than the 10% TP reaches a reversal, and the 200-SMA filter does not rescue it. This is the SAME single-bar hammer/pin-bar reversal mechanism that already failed on BCH 4H (PF 0.53) — a repeating dead-premise pattern. The signal is implemented correctly (66/66 entries, 0 dropped) over a moderate sample, so this is a hypothesis-level failure, not a code or sizing bug (avg_position_pct 137% is mildly elevated but not the cause — PF 0.44 loses at any size). Not worth 2 hours of optimization.
Implementation
Long-only single-bar hammer reversal on LINKUSDT.BINANCE USD-M perp, daily bars, pure OHLCV. Enters long when the current daily bar is a hammer (long lower shadow >= 2x body, lower tail dominating the upper, small body <= 40% of range) AND price is in a bull regime (close > 200-SMA). calculate_signal() returns a continuous tanh hammer-geometry score (lower-shadow fraction minus body and upper-shadow fractions) every bar so the signal varies, while a confirmed hammer-in-bull-regime returns magnitude >= 2.0. Entries are gated in should_enter() at entry_threshold=1.5. Exits: 5% stop, 10% take-profit, trend break below the SMA, or a 10-bar max hold. Leverage 2.0 (~1.2x equity notional).
Verification Results
Verification failed (Layer 2 — synthetic scenarios):
Parameters used: ['min_notional', 'position_pct', 'max_body_frac', 'max_hold_bars', 'regime_period', 'stop_loss_pct', 'take_profit_pct', 'upper_dominance', 'shadow_body_ratio']
Check that __init__ sets all attributes from self.parameters.get().
- steady_uptrend: Frozen signal: all 296 signals are identical (value=0.0). calculate_signal() likely has a bug — the signal never varies.
- steady_downtrend: Frozen signal: all 296 signals are identical (value=0.0). calculate_signal() likely has a bug — the signal never varies.
- volatility_spike: Frozen signal: all 296 signals are identical (value=0.0). calculate_signal() likely has a bug — the signal never varies.
Backtest Review
Signal functions cleanly: 66 entries from 2115 bars, 0 dropped, metrics_reliable=true
Backtest Review
Single-instrument/single-timeframe LINK daily — no staleness risk
Backtest Review
Badly negative edge: profit_factor 0.44, expectancy -1141/trade, total_return -70.5%, Sharpe -1.75
Backtest Review
Doubly adverse: win_rate 37.9% AND avg_win (2338) < avg_loss (3263), payoff ratio 0.72
Backtest Review
Loses 5 of 6 years (2020 -28.5%, 2021 -48.6%, 2022 -19.9%, 2023 -21.8%, 2025 -32.4%); only 2024 positive, carried by one +48% day
Backtest Review
max_drawdown 72.8% (CI to 94.6%)
Backtest Review
Same single-bar hammer/pin-bar reversal mechanism that already failed on BCH 4H (PF 0.53)
Backtest Review
avg_position_pct 137% mildly elevated (worth a glance, not the primary failure)
Outcome Summary
This strategy added an orthogonal reversal signal to LINK's trend-continuation coverage, entering long on daily hammer candles (within-bar tail rejection) in a 200-SMA bull regime. The signal fired cleanly across 66 trades but was decisively unprofitable — profit factor 0.44, Sharpe -1.75, expectancy -$1,141/trade, a -70.5% return and a 72.8% drawdown, losing in five of six years with its only positive year carried by a single +48% day. The analyst abandoned it at the backtest-review gate on its second iteration, noting the doubly-adverse payoff (buying falling knives with a stop hit by continuation before the target) and that this is the same single-bar hammer mechanism already failed on BCH 4H — a repeating dead premise with nothing for optimization to fix, so it never advanced to optimization or risk review.
Outcome Summary
A single-bar hammer/pin-bar reversal is a repeating dead premise on crypto majors — it buys falling knives and is doubly adverse (sub-40% win rate AND average win below average loss), so a profit factor of 0.44 loses at any size and no parameter tuning helps; a mechanism already refuted on one asset (BCH) should not be expected to work on another (LINK).
Outcome Summary
The backtest-review analyst issued an 'abandon' verdict: the signal was implemented correctly, so this is a hypothesis-level failure — the 'buy the long-lower-tail' entry catches falling knives, the 5% stop is hit by continuation far more often than the 10% take-profit reaches a reversal, and the 200-SMA filter does not rescue a doubly-adverse edge; it is the same single-bar hammer/pin-bar mechanism that already failed on BCH 4H (PF 0.53).
Outcome Summary
A long-only single-bar candlestick-pattern strategy on LINKUSDT daily Binance futures (2.0x leverage) entering on the classic hammer / bullish pin bar (long lower shadow, small body, close near the high — a within-bar tail-rejection signal) gated by a 200-SMA bull regime filter, with a minimal 3-parameter design.
Outcome Summary
Across 66 trades it returned -70.5% with profit factor 0.44, expectancy -$1,141/trade, Sharpe -1.75, win rate 37.9% (avg win 2,338 < avg loss 3,263, payoff ratio 0.72) and a 72.8% max drawdown, losing in 5 of 6 years (only 2024 positive, carried by a single +48% day).
Backtest and paper results are hypothetical. Trading involves risk of loss.