这个5秒的差别比较奇特。我一开始以为是本地时间和服务器时间的差别,但是今天遇到的错误貌似说明并非如此。如果是wait update,间隔大概就0.3秒的样子,这个5秒是什么原因?
【 SHFE.hc2110 】↗【开多】↗ 5694.0 — 11:29:58
2021-07-07 11:30:03 – INFO – 模拟交易下单 PYSDK_target_551d0fcdb6301529d4784f7550c2ef68: 时间: 2021-07-07 11:30:03.710611, 合约: SHFE.hc2110, 开平: OPEN, 方向: BUY, 手数: 121, 价格: 5694.0
2021-07-07 11:30:03 – INFO – 模拟交易委托单 PYSDK_target_551d0fcdb6301529d4784f7550c2ef68: 下单失败, 不在可交易时间段内
找到根源了,是我代码效率慢,导致wait update后都要4秒钟左右才能跑完一次判断。
不过设计上讲,这个下单应该是优先级最高的。下一个wait update应该最先运行下单再执行别的,比较符合大多数日常。而不应该等别的代码跑完,再跑下单。