Optimize EUR/USD M5 signals: 1:1 RR, vol/agreement filters, disable XAU

Tune EUR/USD M5 trade setup for balanced profitability (78% WR, 1.68 PF,
+26.5R over 365d) under a 4-hour max hold constraint. Key changes:
- Raise min RR from 0.5 to 1.0 and TP multiplier from 1.0x to 1.2x ATR
- Tighten SL floor (0.8→0.7 ATR) and swing lookback (50→20 bars)
- Add volatility regime filter (block "high" vol) and min 6 indicator
  agreement gate in signal_aggregator
- Raise BE trigger 0.2→0.3R, buffer 0.05→0.15R to let winners run
- Block weak hours (06, 09, 11 UTC) on M5
- Disable XAU strategy checks by default; XAU pair config re-enables

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
harwinder
2026-05-21 19:12:58 -04:00
parent 9a2b1f7b1e
commit 25791fefa3
5 changed files with 38 additions and 11 deletions
+7 -5
View File
@@ -142,7 +142,7 @@ class XauStrategyConfig:
Legacy gates (H4 RSI, H1 MACD, M15 score) removed in favor of
new momentum indicators (ROC, Keltner squeeze, ADX slope).
"""
enabled: bool = True
enabled: bool = False
rsi_entry_threshold: float = 45.0
tp_atr_multiplier: float = 1.0
sl_atr_multiplier: float = 2.0
@@ -172,10 +172,10 @@ class EurUsdStrategyConfig:
allowed_weekdays: List[int] = field(default_factory=lambda: [0, 1, 2, 3, 4])
min_atr_threshold: float = 0.0003
sl_atr_multiplier: float = 1.5
tp_atr_multiplier: float = 1.0
tp_atr_multiplier: float = 1.2
sl_atr_floor: float = 1.2
min_rr_ratio: float = 0.5
min_rr_ratio: float = 1.0
mature_move_threshold: float = 35.0
tp_quality_scale: Dict[str, float] = field(default_factory=lambda: {
"A+": 1.0, "A": 1.0, "B": 1.0, "C": 1.0,
@@ -188,8 +188,10 @@ class EurUsdStrategyConfig:
min_entry_score: float = 38.0
min_entry_confidence: float = 60.0
block_rsi_extended: bool = True
be_trigger_r: float = 0.2
be_buffer_r: float = 0.05
blocked_vol_regimes: List[str] = field(default_factory=list)
min_indicator_agreement: int = 0
be_trigger_r: float = 0.3
be_buffer_r: float = 0.15
@dataclass