|
阅读:194回复:0
QMT交易接口重连示例
该示例演示交易链接断开时重连的代码处理
注意: 1. 该示例不是线程安全的,仅演示断开链接时应该怎么处理重连代码,实际使用时请注意避免潜在的问题 2. 本策略只用于提供策略写法及参考,若您直接进行实盘下单,造成损失本网站不负担责任。 import time from xtquant.xttrader import XtQuantTrader, XtQuantTraderCallback from xtquant.xttype import StockAccount from xtquant import xtconstant #指定客户端所在路径 path = 'E:\qmt\\userdata_mini' # 指定session id 整数类型,任意整数即可,同时运行的策略不能重复 session_id = 123456 xt_trader = None class MyXtQuantTraderCallback(XtQuantTraderCallback): def on_disconnected(self): """ 连接断开 :return: """ print("connection lost, 交易接口断开,即将重连") global xt_trader xt_trader = None def connect(): global session_id # 重连时需要更换session_id session_id += 1 xt_trader = XtQuantTrader(path, session_id) # 创建资金账号为1000000365的证券账号对象 acc = StockAccount('1000000365') callback = MyXtQuantTraderCallback() xt_trader.register_callback(callback) # 启动交易线程 xt_trader.start() # 建立交易连接,返回0表示连接成功 connect_result = xt_trader.connect() if connect_result == 0: return xt_trader, True else: return None, False if __name__ == "__main__": xt_trader, success = connect() print(xt_trader, success) while 1: if xt_trader is None: print('开始重连交易接口') xt_trader, success = connect() if success: print('交易接口重连成功') time.sleep(3) |
|
|