当前位置: 首页 > 工具软件 > QMT > 使用案例 >

QMT交易接口定义交易账户全局信息类

缪坚诚
2023-12-01

这里使用单例模式,确保Trader中的RPC实例和账户信息唯一:

class Singleton(object):
    _instance = None
 
    def __new__(class_, *args, **kwargs):
        if not isinstance(class_._instance, class_):
            class_._instance = object.__new__(class_, *args, **kwargs)
        return class_._instance
 
class Trader(Singleton):
    xt_trader = None
    account = None
 
    def set_trader(self, qmt_dir, session_id):
        self.xt_trader = XtQuantTrader(qmt_dir, session_id)
        # 启动交易线程
        self.xt_trader.start()
        # 建立交易连接,返回0表示连接成功
        connect_result = self.xt_trader.connect()
        return connect_result
    
    def set_account(self, account_id, account_type):
        self.account = StockAccount(account_id, account_type=account_type)
        return self.account
 
    @property
    def get_account(self):
        return self.account
    
    @property
    def get_trader(self):
        return self.xt_trader

 类似资料: