real_trader/src/config.py
2025-04-30 23:27:37 +08:00

41 lines
1.6 KiB
Python

import os
import datetime
class Config:
# Server settings
PORT = int(os.environ.get("PORT", 9527))
HOST = os.environ.get("HOST", "0.0.0.0")
DEBUG = os.environ.get("DEBUG", "False").lower() == "true"
# Trading settings
TRADE_TIMEOUT = int(os.environ.get("TRADE_TIMEOUT", 5)) # 交易超时时间(秒)
SIMULATION_ONLY = os.environ.get("SIMULATION_ONLY", "False").lower() == "true"
# Trading hours
MARKET_OPEN_TIME = os.environ.get("MARKET_OPEN_TIME", "09:15")
MARKET_CLOSE_TIME = os.environ.get("MARKET_CLOSE_TIME", "15:30")
# Logging
LOG_DIR = "logs"
LOG_LEVEL = "INFO"
LOG_FORMAT = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
LOG_MAX_BYTES = 10 * 1024 * 1024 # 10MB
LOG_BACKUP_COUNT = 5
# API Rate limiting
RATE_LIMIT_REQUESTS = 100
RATE_LIMIT_PERIOD = 60 # seconds
# XtQuant 相关配置
XT_ACCOUNT = os.environ.get("XT_ACCOUNT", "80391818")
XT_PATH = os.environ.get("XT_PATH", r'C:\\江海证券QMT实盘_交易\\userdata_mini')
# RealTraderManager配置
RTM_ORDER_TIMEOUT = int(os.environ.get("RTM_ORDER_TIMEOUT", 60)) # 订单超时时间(秒)
RTM_MAX_RETRIES = int(os.environ.get("RTM_MAX_RETRIES", 3)) # 最大重试次数
RTM_USE_MARKET_ORDER = os.environ.get("RTM_USE_MARKET_ORDER", "True").lower() == "true" # 是否使用市价单进行补单
# 计划任务运行时间
STRATEGY_SAVE_TIME = os.environ.get("STRATEGY_SAVE_TIME", "15:30") # 每天保存策略数据的时间
CLEAN_ORDERS_TIME = os.environ.get("CLEAN_ORDERS_TIME", "00:01") # 每天清理超时委托的时间