如何判断是否多品种缺失数据

onBar(ArrayRef<Integer> indexs) { noData = 0; Range[i = 1:DataCount - 1] { If(Time != Data[i-1].Time) { noData = 1; } } 不是特别确定以上语言的意思,是否是这样: 当一个新的bar来临的时候,上一个股票跟当前股票的时间如果一致,那么就没有缺失数据。 感觉这样需要满足两个隐含假设: 1.bar来临的顺序应该是跟data的序号顺序一致才行,不知道实盘是不是这样。 2.time本身是带好几位数的精确时间,不同股票onbar的顺序不一致,这个time是否可以对齐。不知道内部机制是不是所有股票实盘的时候,onbar是同时并行运行的,一起接收tick,然后比较是否他们的time是对齐的。

好像加了这个会有反效果,如果其中某个品种的历史数据很短只有一个月,那么所有品种都会因为更早的数据无法对齐导致无法运行。 不知道有没有更好更合理的写法。

回复:这个问题,期货有新上市的品种更麻烦,不知道如何解决

这个指的是强制所有品种的bar开盘时间都一样 不管是哪个图层驱动,都会检查一遍所有图层 另外time是开盘时间,如果不是tick级别,一般不会有精度问题。实在不行你round一下好了 因为一般来说这种多数据源的处理,不会是很小周期的,否则很难对齐