请教!!!RANGE下的执行顺序与 BarStatus==2

老师好! 在RANGE下,判断条件中加与不加 BarStatus==2 的执行顺序完全不同,如何在加了 BarStatus==2 的情况下,按图层顺序执行? 另外 当前策略应用商品的单笔交易限量 MaxSingleTradeSize 函数,怎么用?测试时返回值都是 0 . Vars //此处添加变量 Global Array<String> SubSymbols; array<Integer> indexsid; Global Integer i; Global Integer id(0); Global Integer a; Events //此处实现事件函数 //初始化事件函数,策略运行期间,首先运行且只有一次,应用在订阅数据等操作 OnInit() { SubscribeBar("ag2302.SHFE","1d",20220101,0); SubscribeBar("ag2302.SHFE","5m",20221101,0); SubscribeBar("AP301.CZCE","1d",20220101,0); SubscribeBar("AP301.CZCE","5m",20221101,0); SubscribeBar("al2301.SHFE","1d",20220101,0); SubscribeBar("al2301.SHFE","5m",20221101,0); SubscribeBar("rb2301.SHFE","1d",20220101,0); SubscribeBar("rb2301.SHFE","5m",20221101,0); } OnReady() { //For i = 0 To data[id].GetSessionCount() - 1 //{ //Numeric ret = data[id].GetSessionEndTime(0); // print("EndTime:"+text(ret)); // Print("GetSessionEndTime:" + Text(ret)); //print("GetSessionCount="+text(GetSessionCount())); // print("合约代码:"+symbol()); //print("周期范围:"+Frequency()); //print("单笔交易限量:"+text(MaxSingleTradeSize())); // } } OnBar(ArrayRef<Integer> indexs) { range[i=0:DataSourceSize-1] { if (Frequency() =="1d" /*and BarStatus==2*/) { print("日线-图层="+text(i)+"//"+"+OPEN="+text(open)); } if (Frequency() == "5m" /* and BarStatus==2*/) { print("分钟线-图层="+text(i)+"//"+"OPEN="+text(open)); } } } 加了 BarStatus==2 的执行结果: 未加 BarStatus==2

我运行出来并没有任何问题