经验: 2个数据层的数据没有对齐的情况一下偶然的情况下会导致策略卡死

这几天很偶然的情况下,发现一个运行很好的策略在原油期货2个数据层(sc2309 和sc2310) 的情况下会导致策略卡死,仔细分析了一下原因后发现TBQ的数据对齐机制和OnBar() 类触发运行机制上可能存在缺陷导致。会偶然卡死的代码:OnBarOpen(ArrayRef<Integer> indexs){ Integer datai;       range[datai=0:DataCount() - 1] {                   fun1(); //复杂的计算函数        }  }不会卡死的代码:OnBarOpen(ArrayRef<Integer> indexs){Integer datai;       range[datai=0:DataCount() - 1] {                   if (!ArrayFind(indexs,datai)) Continue; // 不是Data1i数据层触发的就不计算后计算函数                   fun1(); //复杂的计算函数         } }原理: 每次计算只处理触发数据层的计算!!

代码决定问题 一切皆有可能导致问题应该也在fun里面