← Back to Reviews

20260114_062037_trend_fade_hedge.md

# AI Review: trend_fade_hedge **Date:** Wed Jan 14 06:20:37 CET 2026 **Strategy File:** /root/trade_rules/strategies/trend_fade_hedge.py --- ```json { "score": 85, "flags": [ "complexity" ], "review": "## Strategy Quality Assessment: trend_fade_hedge\n\n### Strengths\n\n**Robust Parameter Selection**\n- Uses standard indicator periods (10, 20, 50, 100, 14) - excellent adherence to anti-overfitting rules\n- No magic numbers or curve-fitted values\n- All parameters are industry-standard technical analysis values\n\n**Relative Indicators Only**\n- Uses EMAs, RSI, and ATR - all relative measures\n- No absolute price levels or specific support/resistance zones\n- Properly designed for unknown future market conditions\n\n**Execution Realism**\n- Trades on next bar (no same-candle execution)\n- Includes stop loss (4%) and take profit (6%) levels\n- Time-based exit prevents indefinite holding\n- Reasonable slippage assumptions for 4h timeframe\n\n**Year-Over-Year Consistency**\n- Returns distributed across all years in train period (34-114%)\n- No single \"lucky year\" driving performance\n- Works across different market regimes (bull/bear/sideways)\n- Consistent win rates (64-78%) across years\n\n**Statistical Significance**\n- 330+ trades across train period\n- 69 trades in validation period\n- Well above minimum threshold for statistical validity\n\n**Role Compliance (Hedge)**\n- Max DD ~5% << 50% threshold\n- Validation return 39.91% > 0% requirement\n- Sharpe 3.05 > 0.3 minimum\n- Trades: 69 >> 2 minimum\n- **Fully meets hedge role requirements**\n\n**No Concentration Risk**\n- 69 validation trades suggests no reliance on few large winners\n- Consistent win rates indicate distributed PnL\n\n### Areas of Concern\n\n**Entry Condition Complexity (6 conditions)**\n- Death cross active\n- EMA rejection (with 2 sub-conditions)\n- RSI weak zone check\n- RSI declining check\n- EMA50 flat/down check\n- Red bar confirmation\n\nThis is at the upper limit of acceptable complexity. While each condition is logically sound, having 6 simultaneous requirements can:\n- Make the strategy fragile to parameter changes\n- Reduce future trade frequency if any condition becomes less reliable\n- Potentially overfit to specific market transitions\n\n**EMA50 Flatness Check**\n- Uses `ema_50[i] <= ema_50[i-5] * 1.005` (0.5% tolerance over 5 bars)\n- The 1.005 multiplier (0.5%) is not a standard value\n- Should use rounder thresholds: 1.00 (perfectly flat), 1.01 (1%), or 1.02 (2%)\n- The 5-bar lookback is acceptable but the percentage threshold adds specificity\n\n**EMA Rejection Logic**\n- Uses `highs[i] > ema_20[i] * 0.99` (1% tolerance)\n- While reasonable, the 0.99 multiplier is slightly fitted\n- Consider simplifying to `highs[i] >= ema_20[i]` for cleaner logic\n\n### Risk Assessment\n\n**Overfitting Risk: LOW-MODERATE**\n- Uses standard parameters throughout\n- Minor concern with the 0.99 and 1.005 multipliers\n- 6 entry conditions increases curve-fit risk\n\n**Lookahead Bias: NONE**\n- All indicators calculated on full arrays correctly\n- No future data referenced\n\n**Execution Issues: NONE**\n- Proper next-bar execution\n- Realistic stops and targets\n\n**Regime Dependence: LOW**\n- Strong performance across multiple years\n- Works in different market conditions\n\n### Recommendations\n\n1. **Simplify EMA rejection logic**: Remove the 0.99 multiplier, use direct comparison `highs[i] >= ema_20[i]`\n\n2. **Round the EMA50 flatness threshold**: Change 1.005 to 1.01 or remove percentage check entirely, just compare `ema_50[i] <= ema_50[i-5]`\n\n3. **Consider reducing entry conditions**: The strategy might be just as effective with 4-5 conditions instead of 6. Test removing the weakest contributor (likely the red bar confirmation or RSI declining check).\n\n4. **Monitor future trade frequency**: With 6 conditions, there's risk of too few trades in different market regimes\n\n### Overall Assessment\n\nThis is a **well-designed hedge strategy** with strong fundamentals. The consistency across years, proper use of relative indicators, and statistical significance are all excellent. The main concern is modest complexity (6 entry conditions) and use of slightly fitted percentage thresholds (0.99, 1.005) rather than round values.\n\nThe strategy passes all hedge role requirements with comfortable margins and shows no signs of concentration risk or lucky-year dependence. With minor simplifications to remove the non-standard multipliers, this would score in the 90+ range.\n\n**Verdict: APPROVED** - Minor refinements recommended but fundamentally sound.", "rule_suggestion": "When using percentage tolerances in price comparisons (e.g., rejection checks, flatness tests), prefer round values: 1.00 (exact), 1.01 (1%), 1.02 (2%), 1.05 (5%), 1.10 (10%). Avoid fitted decimals like 0.99, 1.005, 0.985, etc. If a tolerance is needed, it should be a standard trading threshold, not optimized to historical data." } ```