From a15dc40050493f2fb54cc01dfe5f356a7704e879 Mon Sep 17 00:00:00 2001 From: harwinder Date: Mon, 11 May 2026 15:50:48 -0400 Subject: [PATCH] =?UTF-8?q?Replace=20XAU/USD=20with=20USD/CAD=20=E2=80=94?= =?UTF-8?q?=20TwelveData=20has=20no=20gold=20data?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit XAU/USD is not available in TwelveData's symbol list. Swapped to USD/CAD across config, scan pairs, Telegram buttons, and added CAD to tracked news currencies. Co-Authored-By: Claude Opus 4.6 --- config.py | 8 ++++---- telegram_bot.py | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/config.py b/config.py index b16f8ad..96e521b 100755 --- a/config.py +++ b/config.py @@ -39,13 +39,13 @@ class MarketSession(Enum): USDJPY = "USDJPY=X" EURUSD = "EURUSD=X" GBPUSD = "GBPUSD=X" -XAUUSD = "XAUUSD=X" +USDCAD = "USDCAD=X" PAIR_INFO = { USDJPY: {"display": "USD/JPY", "pip_value": 0.01, "is_jpy_pair": True}, EURUSD: {"display": "EUR/USD", "pip_value": 0.0001, "is_jpy_pair": False}, GBPUSD: {"display": "GBP/USD", "pip_value": 0.0001, "is_jpy_pair": False}, - XAUUSD: {"display": "XAU/USD", "pip_value": 0.10, "is_jpy_pair": False}, + USDCAD: {"display": "USD/CAD", "pip_value": 0.0001, "is_jpy_pair": False}, } # Defaults (kept for backward compat) @@ -121,7 +121,7 @@ class SignalConfig: @dataclass class NewsConfig: """Economic calendar & sentiment.""" - tracked_currencies: List[str] = field(default_factory=lambda: ["USD", "JPY", "EUR", "GBP"]) + tracked_currencies: List[str] = field(default_factory=lambda: ["USD", "JPY", "EUR", "GBP", "CAD"]) min_impact: str = "medium" pre_event_buffer_minutes: int = 30 post_event_buffer_minutes: int = 15 @@ -168,7 +168,7 @@ class PlatformConfig: refresh_interval: int = 300 scan_pairs: List[str] = field( - default_factory=lambda: [EURUSD, USDJPY, GBPUSD, XAUUSD] + default_factory=lambda: [EURUSD, USDJPY, GBPUSD, USDCAD] ) scan_timeframes: List[Timeframe] = field( default_factory=lambda: [Timeframe.M15, Timeframe.H1] diff --git a/telegram_bot.py b/telegram_bot.py index a663838..d765770 100755 --- a/telegram_bot.py +++ b/telegram_bot.py @@ -40,7 +40,7 @@ from telegram.ext import ( from config import ( PlatformConfig, SignalStrength, Timeframe, - EURUSD, USDJPY, GBPUSD, XAUUSD, PAIR_INFO, + EURUSD, USDJPY, GBPUSD, USDCAD, PAIR_INFO, ) from data_provider import ForexDataProvider from signal_aggregator import SignalAggregator, SignalReport @@ -63,7 +63,7 @@ CHAT_ID = os.environ.get("TELEGRAM_CHAT_ID", "6025899022") # ── Pairs & buttons ─────────────────────────────────────────────────── -SCAN_PAIRS = [EURUSD, USDJPY, GBPUSD, XAUUSD] +SCAN_PAIRS = [EURUSD, USDJPY, GBPUSD, USDCAD] SCAN_BUTTONS = [ {"cb": "scan_eurusd_m15", "symbol": EURUSD, "tf": Timeframe.M15, "label": "EUR/USD 15M"}, @@ -72,8 +72,8 @@ SCAN_BUTTONS = [ {"cb": "scan_usdjpy_h1", "symbol": USDJPY, "tf": Timeframe.H1, "label": "USD/JPY 1H"}, {"cb": "scan_gbpusd_m15", "symbol": GBPUSD, "tf": Timeframe.M15, "label": "GBP/USD 15M"}, {"cb": "scan_gbpusd_h1", "symbol": GBPUSD, "tf": Timeframe.H1, "label": "GBP/USD 1H"}, - {"cb": "scan_xauusd_m15", "symbol": XAUUSD, "tf": Timeframe.M15, "label": "XAU/USD 15M"}, - {"cb": "scan_xauusd_h1", "symbol": XAUUSD, "tf": Timeframe.H1, "label": "XAU/USD 1H"}, + {"cb": "scan_usdcad_m15", "symbol": USDCAD, "tf": Timeframe.M15, "label": "USD/CAD 15M"}, + {"cb": "scan_usdcad_h1", "symbol": USDCAD, "tf": Timeframe.H1, "label": "USD/CAD 1H"}, ] SCAN_LOOKUP = {b["cb"]: b for b in SCAN_BUTTONS}