"""Global application settings loaded from environment variables.""" from typing import List from pydantic_settings import BaseSettings class Settings(BaseSettings): """Application configuration powered by pydantic-settings. Values are loaded from environment variables or a .env file. """ # -- Exchange -- EXCHANGE_ID: str = "binance" API_KEY: str = "" API_SECRET: str = "" SANDBOX_MODE: bool = True # -- Trading -- TRADING_PAIRS: List[str] = ["BTC/USDT", "ETH/USDT"] DEFAULT_LEVERAGE: int = 1 MAX_LEVERAGE: int = 3 # -- ICT Parameters -- SWING_LENGTH: int = 50 FVG_JOIN_CONSECUTIVE: bool = False OB_CLOSE_MITIGATION: bool = False LIQUIDITY_RANGE_PERCENT: float = 0.01 MIN_CONFLUENCE_SCORE: int = 3 # -- Timeframes -- HTF_TIMEFRAME: str = "4h" MTF_TIMEFRAME: str = "1h" LTF_TIMEFRAME: str = "15m" # -- Risk Management -- MAX_RISK_PER_TRADE: float = 0.02 MAX_DAILY_LOSS: float = 0.05 MAX_CONCURRENT_POSITIONS: int = 3 MAX_DRAWDOWN: float = 0.15 # -- Notification -- TELEGRAM_BOT_TOKEN: str = "" TELEGRAM_CHAT_ID: str = "" # -- Database -- DB_PATH: str = "data/trading.db" # -- Logging -- LOG_LEVEL: str = "INFO" LOG_FILE: str = "logs/bot.log" model_config = {"env_file": ".env", "env_file_encoding": "utf-8"}