请教一下老师,图三是我用脚本登录,图1是studio登录,studio登录没有任何问题,行情都可以接收,但是为什么用脚本登录会显示查不到合约呢?



请教一下老师,图三是我用脚本登录,图1是studio登录,studio登录没有任何问题,行情都可以接收,但是为什么用脚本登录会显示查不到合约呢?



sleep时间不够,还没等合约信息查询成功日志输出就启动模块了
xiaohe wrote:
sleep时间不够,还没等合约信息查询成功日志输出就启动模块了
我本来代码里面是 sleep(10), 然后我改成sleep(60) 之后还是不行,有其他可能的原因么?
测试了多个时间的问题,仍然不行,有什么其他办法吗?
订阅失败就是找不到合约导致的,私有流消息比如委托笔数多的情况,60秒也不够的。你就看你底层是否有合约信息查询成功日志输出。
如果有这个日志输出之后才启动模块,还是订阅失败,可以main_engine.get_all_contracts()查一下合约信息看看
xiaohe wrote:
订阅失败就是找不到合约导致的,私有流消息比如委托笔数多的情况,60秒也不够的。你就看你底层是否有合约信息查询成功日志输出。
如果有这个日志输出之后才启动模块,还是订阅失败,可以main_engine.get_all_contracts()查一下合约信息看看
我打印了信息发现,比如用脚本启动vnpy连接的时候,没有收到contract信息,日志只显示行情和交易登录成功,但是没有持仓和合约查询成功,但是用studio启动然后登陆之后,会收到contract event,会有持仓和合约信息查询成功的信息,看起来是少了交易连接的情况,这种是什么原因?
第一幅图是studio正常启动情况下的输出

第二幅图是脚本启动情况下的输出

第二张图没有交易服务器信息输出,不知道是你sleep时间太短了还是交易端口没开