闭贴~~
经过多次测试,已确认是以CTP接口为模板的资管接口和CTP冲突引起。
在notebook中只引用了资管CTP接口,而vntrader中引入了资管CTP接口和真CTP接口。
如题,
以下是Jupyter Notebook下,仿照script_trader写的代码,
from typing import Sequence, Type
from vnpy.gateway.xxx import xxx_gateway
from vnpy.event import EventEngine, Event
from vnpy.trader.engine import MainEngine
from vnpy.trader.gateway import BaseGateway
from vnpy.trader.event import EVENT_LOG
def process_log_event(event: Event):
""""""
log = event.data
print(f"{log.time}\t{log.msg}")
default_setting={xxxx}
event_engine = EventEngine()
event_engine.register(EVENT_LOG, process_log_event)
main_engine = MainEngine(event_engine)
main_engine.add_gateway(xxx_gateway, 'name1')
main_engine.connect(default_setting, "name1")
返回结果如下:
2020-11-25 21:30:12.146094 交易服务器连接成功
2020-11-25 21:30:12.185898 交易服务器授权验证成功
2020-11-25 21:30:12.215818 交易服务器登录失败,代码:4,信息:用户不活跃
而在vntrader上使用则只出现:
,交易服务器连接断开,原因4097,name1
,交易服务器连接断开,原因4097,name1
,交易服务器连接断开,原因4097,name1
,交易服务器连接断开,原因4097,name1
,交易服务器连接断开,原因4097,name1
,交易服务器连接断开,原因4097,name1
===============
已排查原因:
已经确认:接口调用完全一致、setting信息完全一致(从notebook上复制到json文件,并且在gateway的connect中打印出来完全一致)