VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 14
声望: 1

vnpy2.2 实现IBgateway断开自动重连,但是好像已经订阅的行情重连要重新订阅才能接收数据,请问有没有办法断开重连后自动订阅断开前的行情?

Administrator
avatar
加入于:
帖子: 4501
声望: 321

收到,我们来加一下这个功能

Member
avatar
加入于:
帖子: 93
声望: 14

这个功能完成了吗??

Administrator
avatar
加入于:
帖子: 4501
声望: 321

2.2.0已经完成发布了,请试下吧

Member
avatar
加入于:
帖子: 93
声望: 14

怎么好像没有起作用,
https://gitee.com/vnpy/vnpy/blob/master/vnpy/gateway/ib/ib_gateway.py#
这里下载的十五天前更新的代码

Member
avatar
加入于:
帖子: 4669
声望: 285

https://github.com/vnpy/vnpy/commit/7efece46b8fa5e2b15eafab25e700c62cea61974#diff-ff9222ee62227be2f19d5115ffc3da77589a976e7fd8bcc26d4b69478b2c5c09
添加了定时(10秒)重连的功能,但是没有重新订阅

Member
avatar
加入于:
帖子: 93
声望: 14

是的,可以自动重连,但已经订阅的行情不会变动。

Member
加入于:
帖子: 10
声望: 0

用Python的交易员 wrote:

收到,我们来加一下这个功能
断线后也不能接收到成交回报

Administrator
avatar
加入于:
帖子: 4501
声望: 321

45168 wrote:

用Python的交易员 wrote:

收到,我们来加一下这个功能
断线后也不能接收到成交回报

请用2.2.0测试下,看看现在是否可以了

Member
avatar
加入于:
帖子: 93
声望: 14

是指修改了 ib_gateway.py文件吗??
我下载的十五天前更新的代码,不能实现。

Member
avatar
加入于:
帖子: 4669
声望: 285

请问具体是指哪个功能不能实现?

Member
avatar
加入于:
帖子: 93
声望: 14

已经订阅的行情重连接口后,要重新订阅才能接收数据

Member
avatar
加入于:
帖子: 4669
声望: 285

可以去github拉取一下最新的dev分支的代码再试试看

Member
avatar
加入于:
帖子: 14
声望: 1

vnpy更新到2.3后,IB的自动重连还是有问题,客户端提示自动重连是成功了,但是原来订阅的行情还是没有自动更新,后端有报错信息。
ERROR:ibapi.wrapper:ERROR -1 502 Couldn't connect to TWS. Confirm that "Enable ActiveX and Socket EClients"
is enabled and connection port is the same as "Socket Port" on the
TWS "Edit->Global Configuration...->API->Settings" menu. Live Trading ports:
TWS: 7496; IB Gateway: 4001. Simulated Trading ports for new installations
of version 954.1 or newer: TWS: 7497; IB Gateway: 4002
ERROR:ibapi.wrapper:ERROR -1 502 Couldn't connect to TWS. Confirm that "Enable ActiveX and Socket EClients"
is enabled and connection port is the same as "Socket Port" on the
TWS "Edit->Global Configuration...->API->Settings" menu. Live Trading ports:
TWS: 7496; IB Gateway: 4001. Simulated Trading ports for new installations
of version 954.1 or newer: TWS: 7497; IB Gateway: 4002
ERROR:ibapi.reader:unhandled exception in EReader thread
Traceback (most recent call last):
File "E:\ProgramData\Anaconda3\lib\site-packages\ibapi\reader.py", line 34, in run
data = self.conn.recvMsg()
File "E:\ProgramData\Anaconda3\lib\site-packages\ibapi\connection.py", line 99, in recvMsg
buf = self._recvAllMsg()
File "E:\ProgramData\Anaconda3\lib\site-packages\ibapi\connection.py", line 119, in _recvAllMsg
buf = self.socket.recv(4096)
OSError: [WinError 10038] 在一个非套接字上尝试了一个操作。
ERROR:ibapi.wrapper:ERROR -1 2158 Sec-def data farm connection is OK:secdefhk
ERROR:ibapi.wrapper:ERROR -1 2158 Sec-def data farm connection is OK:secdefhk

Member
avatar
加入于:
帖子: 4669
声望: 285

正常重连应该是这样:
description

报错里有说去Edit->Global Configuration...->API->Settings菜单下检查“Enable ActiveX and Socket EClients”吧

Member
加入于:
帖子: 10
声望: 0

用Python的交易员 wrote:

45168 wrote:

用Python的交易员 wrote:

收到,我们来加一下这个功能
断线后也不能接收到成交回报

请用2.2.0测试下,看看现在是否可以了

description
description

  • 这是我实测的截图,VNPY(V2.5.6)在IB断线后会重连,但是报价数据没有连上,不会跳动
Member
avatar
加入于:
帖子: 4669
声望: 285

请问你的VN Trader是2.3.0吗?如果是的话应该有这段重新订阅的代码

description

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

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】