千钧通达信ddx预警公式
原理解析:
N赋值:20
JJ赋值:(最高价+最低价+收盘价)/3
QJ0赋值:成交量(手)/如果最高价=最低价,返回4,否则返回最高价-最低价
QJ1赋值:如果当前流通股本(手)=0,返回QJ0*(JJ-收盘价和开盘价的较小值),否则返回QJ0*如果最高价=最低价,返回1,否则返回(开盘价和收盘价的较小值-最低价)
QJ2赋值:如果当前流通股本(手)=0,返回QJ0*(开盘价和收盘价的较小值-最低价),否则返回QJ0*如果最高价=最低价,返回1,否则返回(JJ-收盘价和开盘价的较小值)
QJ3赋值:如果当前流通股本(手)=0,返回QJ0*(最高价-开盘价和收盘价的较大值),否则返回QJ0*如果最高价=最低价,返回1,否则返回(最高价-开盘价和收盘价的较大值)
QJ4赋值:如果当前流通股本(手)=0,返回QJ0*(收盘价和开盘价的较大值-JJ),否则返回QJ0*如果最高价=最低价,返回1,否则返回(收盘价和开盘价的较大值-JJ)
DDX赋值:((QJ1+QJ2)-(QJ3+QJ4))/如果当前流通股本(手)=0,返回1000000,否则返回10000
DX赋值:DDX的5日简单移动平均*N
DDX1赋值:DX的3日[1日权重]移动平均
DDX2赋值:DDX1的3日[1日权重]移动平均
DDX3赋值:DDX2的5日指数移动平均
预警赋值:DDX>0 AND 成交量(手)的5日简单移动平均>成交量(手)的5日简单移动平均的5日简单移动平均 AND DDX1上穿DDX2
输出XG:统计5日中满足DDX>0的天数=1 AND DDX>0
源码:
N:=20;
JJ:=(HIGH+LOW+CLOSE)/3;QJ0:=VOL/IF(HIGH=LOW,4,HIGH-LOW);
QJ1:=IF(CAPITAL=0,QJ0*(JJ-MIN(CLOSE,OPEN)),QJ0*IF(HIGH=LOW,1,(MIN(OPEN,CLOSE)-LOW)));
QJ2:=IF(CAPITAL=0,QJ0*(MIN(OPEN,CLOSE)-LOW),QJ0*IF(HIGH=LOW,1,(JJ-MIN(CLOSE,OPEN))));
QJ3:=IF(CAPITAL=0,QJ0*(HIGH-MAX(OPEN,CLOSE)),QJ0*IF(HIGH=LOW,1,(HIGH-MAX(OPEN,CLOSE))));
QJ4:=IF(CAPITAL=0,QJ0*(MAX(CLOSE,OPEN)-JJ),QJ0*IF(HIGH=LOW,1,(MAX(CLOSE,OPEN)-JJ)));
DDX:=((QJ1+QJ2)-(QJ3+QJ4))/IF(CAPITAL=0,1000000,10000);
DX:=MA(DDX,5)*N;DDX1:=SMA(DX,3,1);
DDX2:=SMA(DDX1,3,1);
DDX3:=EMA(DDX2,5);
预警:=DDX>0 AND MA(V,5)>MA(MA(V,5),5) AND CROSS(DDX1,DDX2);
XG:COUNT(DDX>0,5)=1 AND DDX>0;