diff --git a/src/base_trader.py b/src/base_trader.py index ce0c5e6..12d8231 100644 --- a/src/base_trader.py +++ b/src/base_trader.py @@ -6,14 +6,14 @@ from position_manager import PositionManager from typing import Dict # 获取日志记录器 -logger = get_logger('base_trader') class BaseTrader(ABC): """交易基类,定义交易接口的通用方法""" - def __init__(self): + def __init__(self, logger): """初始化交易基类""" self.position_managers: Dict[str, PositionManager] = {} + self.logger = logger pass @abstractmethod @@ -168,7 +168,7 @@ class BaseTrader(ABC): return is_morning_session or is_afternoon_session except Exception as e: - logger.error(f"判断交易时间发生错误: {str(e)}") + self.logger.error(f"判断交易时间发生错误: {str(e)}") return False def is_trading_date(self, date=None): @@ -189,7 +189,7 @@ class BaseTrader(ABC): return is_workday(date) except Exception as e: - logger.error(f"判断交易日期发生错误: {str(e)}") + self.logger.error(f"判断交易日期发生错误: {str(e)}") return False def get_position_manager(self, strategy_name) -> PositionManager: diff --git a/src/real/xt_trader.py b/src/real/xt_trader.py index 61a6dbc..7d60c0e 100644 --- a/src/real/xt_trader.py +++ b/src/real/xt_trader.py @@ -39,7 +39,7 @@ class MyXtQuantTraderCallback: class XtTrader(BaseTrader): def __init__(self): - super().__init__() + super().__init__(logger) self.started = False self.connected = False self.subscribed = False diff --git a/src/simulation/simulation_trader.py b/src/simulation/simulation_trader.py index 62ac137..a7c0482 100644 --- a/src/simulation/simulation_trader.py +++ b/src/simulation/simulation_trader.py @@ -13,6 +13,7 @@ import random class SimulationTrader(BaseTrader): def __init__(self, logger=None): + super().__init__(logger) self.logger = logger or get_logger("simulation_trader") # 模拟资金账户信息 self.sim_balance = {"account_id": "simulation", "cash": 1000000.00, "frozen": 0.00, "total": 1000000.00}