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:
@@ -474,6 +474,27 @@ class SignalAggregator:
|
||||
f"EUR CONF FILTER: {report.final_confidence} < {eur.min_entry_confidence}"
|
||||
)
|
||||
report.signal_quality = "F"
|
||||
if (report.signal_quality != "F"
|
||||
and eur.blocked_vol_regimes
|
||||
and report.volatility_regime):
|
||||
if report.volatility_regime in eur.blocked_vol_regimes:
|
||||
report.warnings.append(
|
||||
f"EUR VOL FILTER: {report.volatility_regime} volatility blocked"
|
||||
)
|
||||
report.signal_quality = "F"
|
||||
if (report.signal_quality != "F"
|
||||
and eur.min_indicator_agreement > 0
|
||||
and report.primary_analysis):
|
||||
agree_count = sum(
|
||||
1 for ind in report.primary_analysis.indicators.values()
|
||||
if ind.signal.value != 0
|
||||
and (ind.signal.value > 0) == (report.final_score > 0)
|
||||
)
|
||||
if agree_count < eur.min_indicator_agreement:
|
||||
report.warnings.append(
|
||||
f"EUR AGREE FILTER: {agree_count} < {eur.min_indicator_agreement}"
|
||||
)
|
||||
report.signal_quality = "F"
|
||||
if (report.signal_quality != "F"
|
||||
and eur.block_rsi_extended
|
||||
and report.primary_analysis):
|
||||
|
||||
Reference in New Issue
Block a user