为什么IF语句执行的结果不对?

OnBar(ArrayRef<Integer> indexs)
{
    
    Range[0:DataCount-1]
    {
        
        Ma1 = AverageFC(Close,Length);
        Ma2 = AverageFc(close,Length1);
        Ma3 = AverageFC(close,Length2);            
        PlotNumeric("ma1",ma1);
        PlotNumeric("ma2",ma2);
        PlotNumeric("ma3",ma3);
        
        
        If(BarStatus==2) //and ma1<ma2) 
            {    
            ArrayPushBack(comSubSymbols,symbol());
            y = GetArraySize(comSubSymbols);
            
            }        
        
        }
        
        FileAppend("d:\\开拓交易者\\Mytestabc1.log","代码="+textarray(comSubSymbols));
        print("大小="+text(y));    
        print("DataCount="+text(DataCount));
        print("comSubSymbols="+textarray(comSubSymbols));
    }
    

    

for语句执行问题
if语句lowest计算值不对
请教版主关于判断语句异常执行的问题
止损语句不能执行
策略选股 周数据期货执行没结果
回测的时候为什么OnInit会执行2遍
为什么A_FreeMargin和A_CurrentEquity的结果都是N/A
开仓条件执行语句有问题
我的策略为什么没有执行
为什么编译代码,提示我的OnInit()函数和bar()函数,缺少RETURN语句呢?这个OnInit()函数可以不需要返回值吧

你如果想问为什么执行不对,起码要说明,你觉得这个结果应该是什么,为什么应该是这个结果,而现在代码结果是什么,做了哪些调整来帮助诊断问题出在哪里。

就这样丢一堆代码上来,没办法帮你诊断