feat(qmt): 新增 Pydantic 配置模型并重构引擎架构
- 新增 config_models.py: 使用 Pydantic 提供强类型配置校验 - QMTConfig, QMTTerminalConfig, StrategyConfig 等数据模型 - 支持 slots/percentage 两种下单模式 - 兼容旧版配置格式迁移 - 新增 validate_config.py: 配置检测 CLI 工具 - 重构 TradingUnit 和 MultiEngineManager 使用新配置模型 - 新增百分比模式买卖逻辑 (_execute_percentage_buy/sell) - 完善日志记录和错误处理 - 删除 TODO_FIX.md: 清理已完成的缺陷修复任务清单
This commit is contained in:
@@ -184,7 +184,7 @@ class QMTAPIServer:
|
||||
import logging
|
||||
logger = logging.getLogger("QMT_API")
|
||||
logger.info(f"[POS DEBUG] manager.units 数量: {len(self.manager.units) if hasattr(self.manager, 'units') else 'N/A'}")
|
||||
logger.info(f"[POS DEBUG] manager.config strategies: {list(self.manager.config.get('strategies', {}).keys()) if hasattr(self.manager, 'config') else 'N/A'}")
|
||||
logger.info(f"[POS DEBUG] manager.config strategies: {list(self.manager.config.strategies.keys()) if hasattr(self.manager, 'config') else 'N/A'}")
|
||||
logger.info(f"[POS DEBUG] pos_manager 是否存在: {hasattr(self.manager, 'pos_manager') and self.manager.pos_manager is not None}")
|
||||
|
||||
# 1. 遍历所有终端单元获取实盘持仓
|
||||
@@ -210,7 +210,7 @@ class QMTAPIServer:
|
||||
real_pos_data[qmt_id] = positions
|
||||
|
||||
# 2. 遍历所有策略获取虚拟持仓
|
||||
for s_name in self.manager.config.get('strategies', {}).keys():
|
||||
for s_name in self.manager.config.strategies.keys():
|
||||
try:
|
||||
if hasattr(self.manager, 'pos_manager') and self.manager.pos_manager is not None:
|
||||
v_data = self.manager.pos_manager.get_all_virtual_positions(s_name)
|
||||
|
||||
Reference in New Issue
Block a user