如图所示,在vnpy3.8版本之后的utility/class BarGenerator:类中def update_tick(self, tick: TickData) -> None:方法里面取消了以下这段代码
# Filter tick data with older timestamp
if self.last_tick and tick.datetime < self.last_tick.datetime:
return
2.
tick.symbol:si2509
self.last_tick.symbol:si2509
现在时间是:2025-07-02 13:55:50
tick.datetime时间是: 2025-07-02 13:55:49.507000+08:00
self.last_tick.datetime时间是:2025-07-02 13:55:49.900000+08:00
时间倒流!当前 tick.datetime 时间早于上一个 self.last_tick.datetime
tick.symbol:si2510
self.last_tick.symbol:si2510
现在时间是:2025-07-02 13:55:50
tick.datetime时间是: 2025-07-02 13:55:49.500000+08:00
self.last_tick.datetime时间是:2025-07-02 13:55:49.900000+08:00
时间倒流!当前 tick.datetime 时间早于上一个 self.last_tick.datetime
经排查,发现只有以上GFEX交易存在if self.last_tick and tick.datetime < self.last_tick.datetime:的情况,不清楚是GFEX交易所并发处理,或者网络传输延迟可能导致数据包乱序到达还是其他原因,,虽然说BarGenerator 主要依赖分钟级时间戳,同一分钟内的tick顺序不影响最终K线,但是官方取消的原因想听听,望回复。