默认的noui.py代码里,在连接接口后,是用sleep来等待查询合约信息成功,但这个查询返回的时间有时长有时短,sleep难把握。
请教高手怎么修改代码实现:接收到返回“查询合约信息成功”后再执行后面的操作?而不是用sleep这种方法。
如果合约信息未查询成功就执行策略初始化,会导致“合约订阅失败”的错误。
默认的noui.py代码里,在连接接口后,是用sleep来等待查询合约信息成功,但这个查询返回的时间有时长有时短,sleep难把握。
请教高手怎么修改代码实现:接收到返回“查询合约信息成功”后再执行后面的操作?而不是用sleep这种方法。
如果合约信息未查询成功就执行策略初始化,会导致“合约订阅失败”的错误。
把sleep时间调长一点即可
xiaohe wrote:
把sleep时间调长一点即可
sleep应该不是好办法,这个时间难把握,偶然试过十多分钟才查询合约成功的情况。
想实现:接收到返回“查询合约信息成功”后再执行后面的操作,请问大神怎么改代码?
大神都不肯明示,自己解决了:
noui.py里用gateway.td_api.contract_inited来判断合约信息是不是查询成功即可。
gateway = main_engine.add_gateway(CtpGateway)
while not gateway.td_api.contract_inited:
sleep(1)