Tighten signal pipeline: yfinance-only XAU/XAG, leaner Telegram /scan

- XAU/XAG always route to Yahoo Finance and skip Twelve Data entirely
  (excluded from batch prefetch, served per-symbol via yfinance).
- Daily chart cleanly skipped for gold/silver — engine drops it from MTF.
- Telegram /scan limited to EURUSD, USDJPY, GBPUSD, XAUUSD.
- SCAN_TIMEFRAMES reduced to single H1 primary; engine still pulls
  M15+H1+D1 internally via confirmation TFs (halves API credits per scan).
- Default confirmation TFs swapped H4 -> D1 in config and main.py.
- mtf_agreement_threshold kept at 2-of-3.
- CLAUDE.md cleaned up — old XAUUSD/synthetic-data bug reports removed.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Harwinder
2026-05-05 19:52:41 -04:00
parent 4c1d839a1a
commit 1100b9eaf2
5 changed files with 45 additions and 70 deletions
+6 -5
View File
@@ -403,17 +403,18 @@ def run_analysis(args) -> List[SignalReport]:
}
config.primary_timeframe = tf_map[args.timeframe]
# Configure confirmation timeframes based on primary
# Configure confirmation timeframes based on primary.
# H1 uses M15 + D1 for high-conviction confluence (3-of-3 threshold).
tf_confirmations = {
"M5": [Timeframe.M1, Timeframe.M15],
"M15": [Timeframe.M5, Timeframe.H1],
"M30": [Timeframe.M15, Timeframe.H1],
"H1": [Timeframe.M15, Timeframe.H4],
"M15": [Timeframe.H1, Timeframe.D1],
"M30": [Timeframe.H1, Timeframe.D1],
"H1": [Timeframe.M15, Timeframe.D1],
"H4": [Timeframe.H1, Timeframe.D1],
"D1": [Timeframe.H4, Timeframe.W1],
}
config.confirmation_timeframes = tf_confirmations.get(
args.timeframe, [Timeframe.M15, Timeframe.H4]
args.timeframe, [Timeframe.M15, Timeframe.D1]
)
# Configure pairs