为什么SMA计算无结果

以下是代码

Params
    Numeric N_DDI(13);                //DDI 参数
    Numeric N1_DDI(30);                //DDI 参数
    Numeric M_DDI(10);                //DDI 参数
    Numeric M1_DDI(5);                //DDI 参数
Vars
    Series<Numeric> TR;
    Series<Numeric> DMZ;
    Series<Numeric> DMF;
    Series<Numeric> DIZ;
    Series<Numeric> DIF;
    Series<Numeric> DDDI;
    Series<Numeric> ADDI;
    Series<Numeric> AD;
Events
    OnBar(ArrayRef<Integer> indexs)
    {
        TR = Max(Abs(High-High[1]),Abs(Low-Low[1]));
        If((High+Low)<=(High[1]+Low[1]))
        {
            DMZ=0;
        }Else
            DMZ=TR;
        If((High+Low)>=(High[1]+Low[1]))
        {
            DMF=0;
        }Else
            DMF=TR;
        DIZ=Summation(DMZ,N_DDI)/(Summation(DMZ,N_DDI)+Summation(DMF,N_DDI));
        DIF=Summation(DMF,N_DDI)/(Summation(DMF,N_DDI)+Summation(DMZ,N_DDI));
        DDDI=DIZ-DIF;
        ADDI=SMA(DDDI,N1_DDI,M_DDI);
        
        AD=Average(ADDI,M1_DDI);
        PlotNumeric("ADDI",ADDI,0,Red); 
        PlotNumeric("DIF",DIF,Yellow);
        If (DDDI >= 0)     
            PlotNumeric("DDI",DDDI,0,Red); 
        Else
            PlotNumeric("DDI",DDDI,0,Green); 
    }

 

求教:为什么“ADDI”计算后是空值?

SMA的函数是否有问题?
代码错在哪里?StandardDev和SMA函数。
Waverage和SMA的区别
参数优化无结果的原因是什么?
请问下这个sma的值求不出来,而且线也划不出来
EMA计算结果,变为N/A
变量没有赋值却可以用来计算,公式没有报错,这是为什么?
怎么跨周期使用数据计算呢
ATR计算公式TB和其他软件的差异
计算方式分为几何方式计算和算术方式计算

因为你的计算有一部分放在Else下运行,当有Bar不执行Else下内容,就会出现函数内某个数据缺失。