{ "telegram": { "token": "123456789:REPLACE_WITH_YOUR_BOT_TOKEN", "chat_id": "REPLACE_WITH_OWNER_CHAT_ID", "channel_id": "-100REPLACE_WITH_CHANNEL_ID_OR_EMPTY_STRING", "alert_min_quality": "C" }, "data_providers": { "active": "oanda", "streaming": "tiingo", "twelve_data": { "api_key": "REPLACE_WITH_YOUR_TWELVE_DATA_API_KEY" }, "oanda": {}, "tiingo": { "api_key": "REPLACE_WITH_YOUR_TIINGO_API_KEY_OR_EMPTY" } }, "scanning": { "pairs": ["XAU/USD"], "timeframes": ["M5", "M15", "H1", "H4"] }, "pairs": { "XAU/USD": { "blocked_hours_utc": [0, 1, 2, 10, 11, 13, 16, 21] } }, "oanda": { "account_id": "REPLACE_WITH_ACCOUNT_ID", "api_token": "REPLACE_WITH_API_TOKEN", "base_url": "https://api-fxpractice.oanda.com" }, "deepseek": { "api_key": "REPLACE_WITH_YOUR_DEEPSEEK_API_KEY_OR_EMPTY", "model": "deepseek-v4-flash", "enabled": true, "timeout_seconds": 12, "daily_request_cap": 500 }, "agent_panel": { "enabled": false, "telegram": true, "dashboard": false, "min_quality": "B", "max_panels_per_day": 20, "reuse_ttl_seconds": 3600, "candles_enabled": true, "candle_bars_primary": 20, "candle_bars_confirm": 10 }, "market_outlook": { "enabled": false, "telegram": false, "max_per_day": 12, "candles_bars": 20 }, "signal_log": { "enabled": true, "path": "logs/signals.db", "log_blocked_scans": true }, "log_level": "INFO" }