上一个问题搞定,又出现新的一个问题
3.0官方是不支持OES了,所以我把旧版本的移植过来使用,目前编译过了,但在调用的时候又提示
raceback (most recent call last):
File "E:\DownLoad\vnpy_oes-2.2.27.5\script\run.py", line 5, in <module>
from vnpy_oes import OesGateway
ImportError: cannot import name 'OesGateway' from 'vnpy_oes' (D:\veighna_studio\lib\site-packages\vnpy_oes__init__.py)
参照xtp接口修改的OES接口,编译过程中出错。
更新下最新情况:
两套环境的差别在于期权产品名称长度的差别,导致的vnpy闪退,出问题的这套环境有一些测试数据,期权产品名称过长导致了闪退。影响字段securityName,目前券商在做基金简称扩位测试要求各系统要适配40个utf字符,vnpy有可能需要进行适配。
抓包出问题的环境在查询期权静态信息会断开链接导致闪退。闪退发生在onQueryOption里面调用了get_option_index时。
mdsapi客户端版本和服务端版本不匹配,服务端使用的是0.15.12版本,不支持查询期权行情静态信息,如果发起查询,会被断开连接。0.17.1.3的版本没有问题。
使用宽睿提供的客户端,连接出问题的环境,订阅行情正常。
更正下信息,今天定位,是在onQueryOption这个函数,期权合约查询时导致的闪退
调用OES
一套是宽睿的测试环境,一套是券商的模拟环境,接触不到机器,不知道具体有什么差异,也联系了两套环境的技术人员也没排查出来。
通过在vnpy打印日志,定位出来在onQueryStock这个函数异常退出。
当出现闪退的时候去查看windows系统的日志
OES连接,有两套环境,一套有持仓合约,可以正常连接,另外一套环境里没有持仓信息,连接的时候闪退