← Back to Reviews
20260114_141423_eth_ema_rejection_hedge.md
# AI Review: eth_ema_rejection_hedge
**Date:** Wed Jan 14 14:14:23 CET 2026
**Strategy File:** /root/trade_rules/strategies/eth_ema_rejection_hedge.py
---
```json
{
"score": 85,
"flags": ["execution"],
"review": "## Strategy Assessment: eth_ema_rejection_hedge\n\n### Strengths\n\n**Robust Design Philosophy**\n- Uses only relative indicators (EMAs, RSI) with standard periods (10, 20, 50, 100, 14)\n- No magic numbers or curve-fitted parameters\n- Clean logic: death cross + EMA rejection + weak momentum + red bar confirmation\n- Appropriate hedge role with asymmetric risk/reward (4% stop, 6% take profit)\n- Good warmup period (200) matching indicator requirements\n- Clear exit logic with multiple failure modes (golden cross, RSI recovery, time stop)\n\n**Cross-Regime Performance**\n- Works consistently across all years in train period (2020-2025)\n- Returns range from 50-120% annually with no single \"lucky\" year dominating\n- Win rates stay in healthy 63-77% range across different market conditions\n- Low drawdowns (2-5%) indicate good risk control across regimes\n- Strong Sharpe ratios (3.26-6.15) show consistent risk-adjusted performance\n\n**Risk Management**\n- Tight stop loss (4%) appropriate for short-term hedge\n- High trade frequency (38-57 trades/year) ensures diversification\n- No concentration risk - returns distributed across many trades\n- Multiple exit conditions prevent holding losers\n\n### Issues Identified\n\n**Execution Concern (Minor)**\n- Entry condition checks \"current bar is red\" (closes[i] < opens[i])\n- This implicitly requires knowing the close price before entering\n- While documented as \"trade on next bar open\", the logic evaluates completed bar patterns\n- **Recommendation**: Entry should explicitly signal on bar close, execute next bar open\n- This is a documentation/clarity issue more than a true lookahead bias\n\n**Complexity at Acceptable Limit**\n- Has 6 entry conditions (death_cross, rejection, rsi_weak, rsi_declining, ema50_flat_down, red_bar)\n- Right at the recommended 5-6 condition maximum\n- Each condition adds surface area for overfitting\n- However, all conditions are logically connected to the core thesis\n\n### Verification Against Rules\n\n✅ **No Forbidden Patterns**\n- No specific price levels\n- No specific dates or events\n- No magic numbers\n- Standard indicator periods only\n\n✅ **Robustness Requirements Met**\n- Relative indicators only\n- Works across multiple regimes (bull 2020-2021, bear 2022, consolidation 2023-2024)\n- Year-over-year consistency demonstrates regime-independence\n\n✅ **Hedge Role Requirements**\n- Max DD 5.5% < 50% threshold ✓\n- Validation return positive ✓\n- Sharpe > 0.3 ✓\n- Trades > 2 minimum ✓\n\n✅ **Trade Distribution**\n- 38-57 trades per year ensures no concentration risk\n- No way 3 trades could dominate with this volume\n\n### Statistical Significance\n\n- Total trades across train period: ~294 trades (6 years × 49 avg)\n- Win rate: 63-77% with consistent execution\n- Multiple regime types tested\n- Strong evidence this is not curve-fitted noise\n\n### Final Assessment\n\nThis is a **well-designed hedge strategy** with strong fundamentals. The execution clarity issue is minor and doesn't invalidate the approach. The consistent performance across bull/bear/consolidation regimes (2020-2025) with no single dominant year demonstrates genuine edge rather than overfitting.\n\nThe strategy concept is sound: shorting failed rallies at resistance after death crosses is a classical technical pattern with logical market structure reasoning. The tight risk controls and multiple exit conditions show mature risk management.\n\n**Score Justification**: 85/100 (Good tier)\n- Would be 90+ if execution timing were explicitly clarified\n- Strong regime-independence and trade distribution\n- Clean, readable code with proper warmup\n- Meets all hedge role requirements with margin",
"rule_suggestion": "**Entry Timing Clarity**: All entry conditions must be evaluable at bar close without requiring intra-bar information. When checking current bar patterns (e.g., 'red bar'), document that signal is generated at close and executed at next bar open. Avoid same-bar entry logic even if technically feasible."
}
```