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

默认的noui.py代码里,在连接接口后,是用sleep来等待查询合约信息成功,但这个查询返回的时间有时长有时短,sleep难把握。
请教高手怎么修改代码实现:接收到返回“查询合约信息成功”后再执行后面的操作?而不是用sleep这种方法。
如果合约信息未查询成功就执行策略初始化,会导致“合约订阅失败”的错误。

Member
avatar
加入于:
帖子: 4696
声望: 287

把sleep时间调长一点即可

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

xiaohe wrote:

把sleep时间调长一点即可
sleep应该不是好办法,这个时间难把握,偶然试过十多分钟才查询合约成功的情况。
想实现:接收到返回“查询合约信息成功”后再执行后面的操作,请问大神怎么改代码?

Member
avatar
加入于:
帖子: 125
声望: 4

zhizhe wrote:

xiaohe wrote:

把sleep时间调长一点即可
sleep应该不是好办法,这个时间难把握,偶然试过十多分钟才查询合约成功的情况。
想实现:接收到返回“查询合约信息成功”后再执行后面的操作,请问大神怎么改代码?
在查询合约信息的回调函数里面进行修改

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

大神都不肯明示,自己解决了:
noui.py里用gateway.td_api.contract_inited来判断合约信息是不是查询成功即可。

gateway = main_engine.add_gateway(CtpGateway)
while not gateway.td_api.contract_inited:
    sleep(1)
© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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