Strategies
BCH 4H Hammer Pinbar Reversal Long-Only (BINANCE USD-M Futures, 4H, OHLCV-Only, Single-Bar Pinbar Mechanism)
Outcome: Abandoned
BchFourHourHammerPinbarReversalLong
Outcome Summary
This strategy filled two portfolio gaps at once — the first-ever BCH coverage and the first single-bar wick-rejection mechanism — entering long on hammer candles forming as uptrend pullbacks above a 50-SMA. The signal fired cleanly across 89 trades from 2020-2026, but it had negative expectancy (-$439/trade, profit factor 0.53, Sharpe -3.76, -38.8% total return) and lost in every major year, with a doubly adverse profile of a 41.6% win rate and average wins smaller than average losses. The analyst abandoned it at the backtest-review gate on its second iteration, judging it a clean hypothesis-level failure with nothing for optimization to work with, so it never advanced to optimization or risk review.
Hypothesis
No edge in the base mechanism: single-bar hammer/pinbar reversal long-only on BCH 4H has negative expectancy across 2020-2026. profit_factor 0.53, avg_trade_return -439, Sharpe -3.76, and it loses in every major year (bull, bear, and chop). The edge is doubly adverse — win_rate only 41.6% AND avg_win (1204) < avg_loss (1608) — so neither hit-rate nor payoff tuning has anything to work with. The signal fires correctly (89/89 entries, 0 dropped), so this is a hypothesis-level failure, not a code or sizing bug; optimization would only overfit parameters to noise. Not worth 2 hours of optimization.
Implementation
Long-only single-bar Hammer/Pinbar reversal on BCHUSDT.BINANCE USD-M perp, 4H bars, pure OHLCV. A bar qualifies as a hammer when it has a small body (<35% of range), a long lower wick (>=2x body), a short upper wick (<=30% of body), and closes in the upper half of its range; acted on only in an uptrend (close > SMA50). calculate_signal() returns a continuous hammer-shape score (lower-wick dominance and close-position net of body/upper-wick penalties, weighted by trend position) so the signal varies every bar; the strict hammer+uptrend trigger is stored in self._hammer_trigger and consumed by should_enter/position_size. Exits: take-profit, stop-loss, trend break, or 6-bar time stop. Leverage 2.0 (~1.2x equity notional).
Verification Results
Verification failed (Layer 2 — synthetic scenarios): Parameters used: ['body_frac', 'upper_frac', 'wick_ratio', 'min_notional', 'position_pct', 'trend_period', 'max_hold_bars', 'stop_loss_pct', 'take_profit_pct'] Check that __init__ sets all attributes from self.parameters.get(). - steady_uptrend: Frozen signal: all 446 signals are identical (value=0.0). calculate_signal() likely has a bug — the signal never varies. - steady_downtrend: Frozen signal: all 446 signals are identical (value=0.0). calculate_signal() likely has a bug — the signal never varies. - flat_ranging: Frozen signal: all 446 signals are identical (value=0.0). calculate_signal() likely has a bug — the signal never varies. - volatility_spike: Frozen signal: all 446 signals are identical (value=0.0). calculate_signal() likely has a bug — the signal never varies.
Backtest Review
- Sharpe
- -3.76
- Total return
- -38.78%
- Max drawdown
- 46.34%
- Trades
- 89
- Win rate
- 41.6%
- Profit factor
- 0.53
Signal fires correctly: 89 hammer entries over 2020-2026, 0 dropped (min_notional/size), clean entry diagnostics
Reasonable trade count for the strategy type — sample is adequate, so the negative result is informative not noise
Negative expectancy: profit_factor 0.53, avg_trade_return -439, total_return -38.8%
Doubly adverse edge: win_rate 41.6% AND avg_win (1204) < avg_loss (1608)
Sharpe -3.76, Sortino -4.36, max_drawdown 46.3% — risk-adjusted performance deeply negative
Loses in every major year (2021 -25%, 2022 -9%, 2023 -14%) across all regimes — not a regime artifact
Fees+impact ~20% of gross, but strategy loses even gross — costs are secondary to the missing edge
Outcome Summary
A single-bar hammer/pinbar reversal long has no edge on BCH 4H — its losses are doubly adverse (low win rate AND average win below average loss), so the mechanism fails at the hypothesis level across all regimes and cannot be rescued by parameter tuning.
The backtest-review analyst issued an 'abandon' verdict: the signal fired correctly (89/89 entries, none dropped), so this is a hypothesis-level failure rather than a code or sizing bug — with both a sub-50% win rate and average wins smaller than average losses, neither hit-rate nor payoff tuning has anything to work with, and optimization would only overfit noise.
A long-only single-bar hammer/pinbar reversal strategy on BCHUSDT 4H Binance futures (2.0x leverage) — the portfolio's first BCH strategy and first single-bar wick-rejection mechanism — entering long after a hammer candle (small body, long lower wick, short upper wick, close in the upper half) formed as an uptrend pullback above a 50-bar SMA.
Across 89 trades over 2020-2026 it returned -38.8% with profit factor 0.53, win rate 41.6%, expectancy -$439/trade, Sharpe -3.76, Sortino -4.36 and a 46.3% max drawdown; the edge was doubly adverse (avg win $1,204 < avg loss $1,608) and it lost in every major year, with fees and impact ~20% of gross.
Backtest and paper results are hypothetical. Trading involves risk of loss.