vn.py官网
开源量化社区
Member
avatar
加入于:
帖子: 140
声望: 13

闭贴~~

经过多次测试,已确认是以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中打印出来完全一致)

Member
avatar
加入于:
帖子: 140
声望: 13

已知CTP和CTPtest无法共存,CTP和融航CTP无法共存。
由此,可确认在vnpy中,CTP接口无法与任何类CTP的期货资管接口并存。

国内的TB也是融航和CTP无法共存,这是已知的。
但是神奇的是,金字塔能够兼容所有接口(CTP、融航、鑫管家、恒生、lanyee等),这是怎么做到的?!!!!!!

Administrator
avatar
加入于:
帖子: 4887
声望: 284

将API放到子进程中即可,采用跨进程通讯的方案,会导致执行延时增加一些

© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3

沪公网安备 31011502017034号