deploy: 2026-03-20 07:49
This commit is contained in:
54
config/settings.py
Normal file
54
config/settings.py
Normal file
@@ -0,0 +1,54 @@
|
||||
"""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"}
|
||||
Reference in New Issue
Block a user