DMZ:=IFELSE((HIGH+LOW)<=(REF(HIGH,1)+REF(LOW,1)),0,MAX(ABS(HIGH-REF(HIGH,1)),ABS(LOW-REF(LOW,1))));//如果(最高价+最低价)<=(前一周期最高价+前一周期最低价),DMZ返回0,否则返回TR
DMF:=IFELSE((HIGH+LOW)>=(REF(HIGH,1)+REF(LOW,1)),0,MAX(ABS(HIGH-REF(HIGH,1)),ABS(LOW-REF(LOW,1))));//如果(最高价+最低价)>=(前一周期最高价+前一周期最低价),DMF返回0,否则返回TR
DIZ:=SUM(DMZ,N)/(SUM(DMZ,N)+SUM(DMF,N));//N个周期DMZ之和与(N个周期DMZ的和+N个周期DMF的和)作比值
DIF:=SUM(DMF,N)/(SUM(DMF,N)+SUM(DMZ,N));//N个周期DMF的和与(N个周期DMF的和+N个周期DMZ的和)作比值
DDI:=DIZ-DIF;//DIZ与DIF的差值定义为DDI
ADDI:SMA(DDI,N1,M);//DDI在N1个周期内权重为M的加权平均
AD:MA(ADDI,M1);//ADDI在M1个周期内的简单移动平均
CROSS(DDI,0),BPK;//DDI上穿0线做多
CROSS(0,DDI),SPK;//DDI下穿0线做空
AUTOFILTER;