auto_trade_sys/backend/init_config.py
薇薇安 639d9eb510 a
2026-01-13 18:47:18 +08:00

75 lines
2.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
初始化配置到数据库从config.py迁移
"""
import sys
from pathlib import Path
# 添加项目根目录和trading_system目录
project_root = Path(__file__).parent.parent
trading_system_path = project_root / 'trading_system'
# 确保trading_system在路径中
if str(trading_system_path) not in sys.path:
sys.path.insert(0, str(trading_system_path))
# 确保backend在路径中用于导入database模块
backend_path = Path(__file__).parent
if str(backend_path) not in sys.path:
sys.path.insert(0, str(backend_path))
# 导入数据库模型
from database.models import TradingConfig
# 导入交易系统配置现在在trading_system目录下
try:
import config
except ImportError:
# 如果直接导入失败尝试从trading_system导入
sys.path.insert(0, str(trading_system_path))
import config
def init_configs():
"""将config.py中的配置初始化到数据库"""
print("开始初始化配置到数据库...")
# API配置
TradingConfig.set('BINANCE_API_KEY', config.BINANCE_API_KEY, 'string', 'api', '币安API密钥')
TradingConfig.set('BINANCE_API_SECRET', config.BINANCE_API_SECRET, 'string', 'api', '币安API密钥')
TradingConfig.set('USE_TESTNET', config.USE_TESTNET, 'boolean', 'api', '是否使用测试网')
# 交易配置
trading_config = config.TRADING_CONFIG
for key, value in trading_config.items():
# 确定类型
if isinstance(value, bool):
config_type = 'boolean'
elif isinstance(value, (int, float)):
config_type = 'number'
elif isinstance(value, (list, dict)):
config_type = 'json'
else:
config_type = 'string'
# 确定分类
if 'POSITION' in key:
category = 'position'
elif 'RISK' in key or 'STOP' in key or 'PROFIT' in key:
category = 'risk'
elif 'SCAN' in key or 'INTERVAL' in key or 'VOLUME' in key:
category = 'scan'
else:
category = 'strategy'
TradingConfig.set(key, value, config_type, category, f'{key}配置')
print("配置初始化完成!")
print(f"共初始化 {len(trading_config) + 3} 个配置项")
if __name__ == '__main__':
try:
init_configs()
except Exception as e:
print(f"初始化失败: {e}")
import traceback
traceback.print_exc()