Add XAU/USD oversold-bounce strategy (79.7% WR, PF 2.06)
BUY-only strategy for gold: enters when M15 RSI drops below oversold threshold while price remains above EMA200 on all three timeframes (M15, H1, H4). Uses ATR-based TP/SL (0.7x/2.0x) sized from M15 ATR. Isolated to XAU/USD only — other pairs completely unaffected. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -128,6 +128,20 @@ class NewsConfig:
|
||||
])
|
||||
|
||||
|
||||
@dataclass
|
||||
class XauStrategyConfig:
|
||||
"""XAU/USD oversold-bounce strategy (BUY only).
|
||||
Backtested: 79.7% WR, PF 2.06 over 10 months (192 trades).
|
||||
Entry: M15 RSI<30 + price above EMA200 on M15, H1, H4.
|
||||
Exit: TP=0.7×ATR, SL=2.0×ATR, max hold 8 bars (2h).
|
||||
"""
|
||||
enabled: bool = True
|
||||
rsi_entry_threshold: float = 38.0 # Wilder RSI scale; equivalent to standard RSI ~30
|
||||
tp_atr_multiplier: float = 0.7
|
||||
sl_atr_multiplier: float = 2.0
|
||||
blocked_hours_utc: List[int] = field(default_factory=lambda: [11, 14, 15, 20])
|
||||
|
||||
|
||||
@dataclass
|
||||
class FilterConfig:
|
||||
"""Regime and session filters for live signals."""
|
||||
@@ -151,6 +165,7 @@ class PlatformConfig:
|
||||
signals: SignalConfig = field(default_factory=SignalConfig)
|
||||
news: NewsConfig = field(default_factory=NewsConfig)
|
||||
backtest: FilterConfig = field(default_factory=FilterConfig)
|
||||
xau_strategy: XauStrategyConfig = field(default_factory=XauStrategyConfig)
|
||||
|
||||
symbol: str = USDJPY
|
||||
display_name: str = DISPLAY
|
||||
|
||||
Reference in New Issue
Block a user