多品种夜盘数据不全
我在使用tb的教程中历史涨跌停模板时:见链接: https://www.tbquant.net/helper?navigate=tbquant&words=%E6%B6%A8%E8%B7%8C%E5%81%9C&cid=2041;如果我订阅的品种较多,如20个品种,就发现最后几个品种夜盘数据不全,见下面复现代码:Params array<string> mysymbol([au888.SHFE,cu888.SHFE,ru888.SHFE,CF888.CZCE, ss888.SHFE,zn888.SHFE,al888.SHFE,sn888.SHFE, i9888.DCE,p9888.DCE,rb888.SHFE,m9888.DCE, fu888.SHFE,TA888.CZCE,sp888.SHFE, AP888.CZCE, jd888.DCE,lh888.DCE,SA888.CZCE, MA888.CZCE]);//20个*/ //array<string> mysymbol([au888.SHFE,cu888.SHFE,ru888.SHFE,CF888.CZCE, ss888.SHFE,zn888.SHFE]);Vars Dic<Array<Numeric>> mysettleprice(TB_SettlePrice); //结算价 Dic<Array<Numeric>> mypricelimit(TB_PriceLimit); //停板比例 Series<Numeric> myuplimit(0,1); //涨停价 Series<Numeric> mydnlimit(0,1); //跌停价 Numeric myjump; //每跳值/最小价格变动 global Numeric f(2); //切换周期数-15m,1d; Numeric i;Events OnInit() { f=2; for i =0 to GetArraySize(mysymbol)-1 { SubscribeBar(mysymbol[i],1d,20230201); SubscribeBar(mysymbol[i],5m,20230201); } } OnBar(ArrayRef<Integer> indexs) { data[f*i+1].Commentary(标识1); for i = 0 to GetArraySize(mysymbol)-1// { data[f*i+1].Commentary(标识2); //涨跌停板模块 data[f*i+1].myjump=data[f*i+1].MinMove*data[f*i+1].pricescale; If(data[f*i+1].ExchangeCode==CZCE) { data[f*i+1].myuplimit=data[f*i+1].RoundUp(mysettleprice[0][0]*(1+0.01*data[f*i+1].mypricelimit[0][0])/myjump,0)*data[f*i+1].myjump; data[f*i+1].mydnlimit=data[f*i+1].RoundDown(mysettleprice[0][0]*(1-0.01*data[f*i+1].mypricelimit[0][0])/myjump,0)*data[f*i+1].myjump; }Else If(data[f*i+1].ExchangeCode==DCE) { data[f*i+1].myuplimit=data[f*i+1].RoundDown(mysettleprice[0][0]*(1+0.01*data[f*i+1].mypricelimit[0][0])/myjump,0)*data[f*i+1].myjump; data[f*i+1].mydnlimit=data[f*i+1].RoundUp(mysettleprice[0][0]*(1-0.01*data[f*i+1].mypricelimit[0][0])/myjump,0)*data[f*i+1].myjump; }Else If(data[f*i+1].ExchangeCode==SHFE) { data[f*i+1].myuplimit=data[f*i+1].RoundDown(mysettleprice[0][0]*(1+0.01*data[f*i+1].mypricelimit[0][0])/myjump,0)*data[f*i+1].myjump; data[f*i+1].mydnlimit=data[f*i+1].RoundDown(mysettleprice[0][0]*(1-0.01*data[f*i+1].mypricelimit[0][0])/myjump,0)*data[f*i+1].myjump; }Else If(data[f*i+1].ExchangeCode==CFFEX) { data[f*i+1].myuplimit=data[f*i+1].RoundDown(mysettleprice[0][0]*(1+0.01*data[f*i+1].mypricelimit[0][0])/myjump,0)*data[f*i+1].myjump; data[f*i+1].mydnlimit=data[f*i+1].RoundUp(mysettleprice[0][0]*(1-0.01*data[f*i+1].mypricelimit[0][0])/myjump,0)*data[f*i+1].myjump; } If(data[f*i+1].myuplimit<=data[f*i+1].mydnlimit) Return; } }见下面图,我通过Commentary(标识2)来识别,图1中看到9:10时,有标识2显示,图2显示时间是22:35,但标识2没有显示。接着如果我把历史涨跌停模板删除,“//涨跌停板模块”以下删除,发现图1图2都有显示标识2,可以看出涨跌停模板影响后面品种夜盘数据的获取。 请问怎样解决该问题,在使用涨跌停模板情况下?