大小周期统计问题

老师好,我想在大周期出现Bar时重新计数。在历史K线上倒没发现问题,但在交易时段时,统计就会错误 ,不知道是哪里出了问题。//------------------------------------------------------------------------// 类别: 公式应用// 类型: 用户应用// 输出: Void//------------------------------------------------------------------------ParamsVars Global Numeric iCount(0); Defs //此处添加公式函数 Events //初始化事件函数,策略运行期间,首先运行且只有一次 OnInit() { SubscribeBar(SA888.CZCE,5s,20240610);//小周期 SubscribeBar(SA888.CZCE,10s,20240610);//大周期 SetInitCapital(200000000); Range[0:DataCount-1] { //=========数据源相关设置============== AddDataFlag(Enum_Data_RolloverBackWard()); //设置后复权 AddDataFlag(Enum_Data_RolloverRealPrice()); //设置映射真实价格 AddDataFlag(Enum_Data_AutoSwapPosition()); //设置自动换仓 AddDataFlag(Enum_Data_IgnoreSwapSignalCalc()); //设置忽略换仓信号计算 } }OnBarOpen(ArrayRef<Integer> indexs){If (ArrayFind(indexs,0))//小周期 { Range[0:0] { iCount = 1; } }if (GetArraySize(indexs) == 1 ) iCount = iCount + 1;if (ArrayFind(indexs,1))//大周期{ Range[1:1] { //Commentary(icount = + text(icount)); } } Commentary(icount = + text(icount));}//------------------------------------------------------------------------// 编译版本 2024/02/22 175831// 版权所有 shuizhu777// 更改声明 TradeBlazer Software保留对TradeBlazer平台// 每一版本的TradeBlazer公式修改和重写的权利//------------------------------------------------------------------------

建议你用quant3,我用quant3复现不出来你的问题,都是2

程序再简单一点。实时交易时,GetArraySize(indexs)一直等1ParamsVars Defs //此处添加公式函数 Events //初始化事件函数,策略运行期间,首先运行且只有一次 OnInit() { SubscribeBar(\"SA888.CZCE\",\"5s\",20240610);//小周期 SubscribeBar(\"SA888.CZCE\",\"10s\",20240610);//大周期 }OnBarOpen(ArrayRef<Integer> indexs){ commentary(\"GetArraySize(indexs)=\" + text(GetArraySize(indexs)));}