4.43K 浏览
0

用快期模拟交易,au2102合约,大前天晚上从晚上11点,程序运行比较混乱,出现莫名其妙的1秒开仓1秒平仓的情况,连续开平了差不多1000次,直到收市。

以前没出现这种情况,稳定运行了一个多月,开平仓逻辑一直正常,查不出原因,不过昨天对网络延时进行检查,发现前天晚上也是差不多11点多开始就出现延时的情况(之前可能也有,只是没有关注到),用quote.datetime和datetime.now()比较,差不多1秒多的样子。

看论坛问题:https://www.shinnytech.com/question/7973/,建议用api.wait_update(deadline=deadline),但是看说明:

Args:
deadline (float): [可选]指定截止时间,自unix epoch(1970-01-01 00:00:00 GMT)以来的秒数(time.time())。默认没有超时(无限等待)
Returns:
bool: 如果收到业务数据更新则返回 True, 如果到截止时间依然没有收到业务数据更新则返回 False

对其中的道理不是很明白,就近是wait_update在deadline的时间里,只要有行情更新即终止等待返回True,还是说等待deadline那么长的时间才根据是否有更新返回True或者False,类似堵塞延时那个样子呢?
感觉前面一种没什么用途,后面一种功能则是迫切需要的。

ringo 已回答的问题 2020年12月7日
0

行情和本地时间差的意思是,不仅行情发出来到本地会有对应延时,另外交易所的时钟和你自己电脑的时钟也并不会是对齐的

ringo 已回答的问题 2020年12月7日
您正在查看2个答案中的1个,单击此处查看所有答案。