{MACD部分}
DIF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIF,9);
macd1:=(DIF-DEA)*2;
{KDJ部分}
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
J:=3*K-2*D;
{DMI部分}
MTR:=EXPMEMA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(REF(CLOSE,1)-LOW)),14);
HD :=HIGH-REF(HIGH,1);
LD :=REF(LOW,1)-LOW;
DMP:=EXPMEMA(IF(HD>0&&HD>LD,HD,0),14);
DMM:=EXPMEMA(IF(LD>0&&LD>HD,LD,0),14);
PDI:=DMP*100/MTR;
MDI:=DMM*100/MTR;
ADX:=EXPMEMA(ABS(MDI-PDI)/(MDI+PDI)*100,6);
ADXR:=EXPMEMA(ADX,6);
{趋势部分}
ROC:=100*(CLOSE-REF(CLOSE,12))/REF(CLOSE,12);
MAROC:=MA(ROC,6);
开花:ROC>MAROC AND PDI>ADXR AND PDI>ADX AND PDI>MDI AND K>D AND DIF>DEA AND C>REF(C,1) AND REF(H,1)>REF(C,2);
九毛八公式解读
DIF赋值:收盘价的12日指数移动平均-收盘价的26日指数移动平均 DEA赋值:DIF的9日指数移动平均 MACD1赋值:(DIF-DEA)*2 RSV赋值:(收盘价-9日内最低价的最低值)/(9日内最高价的最高值-9日内最低价的最低值)*100 K赋值:RSV的3日[1日权重]移动平均 D赋值:K的3日[1日权重]移动平均 J赋值:3*K-2*D MTR赋值:最高价-最低价和最高价-1日前的收盘价的绝对值的较大值和1日前的收盘价-最低价的绝对值的较大值的14日指数平滑移动平均 赋值:最高价-1日前的最高价 赋值:1日前的最低价-最低价 DMP赋值:如果HD>0并且HD>LD,返回HD,否则返回0的14日指数平滑移动平均 DMM赋值:如果LD>0并且LD>HD,返回LD,否则返回0的14日指数平滑移动平均 PDI赋值:DMP*100/MTR MDI赋值:DMM*100/MTR ADX赋值:MDI-PDI的绝对值/(MDI+PDI)*100的6日指数平滑移动平均 ADXR赋值:ADX的6日指数平滑移动平均 ROC赋值:100*(收盘价-12日前的收盘价)/12日前的收盘价 MAROC赋值:ROC的6日简单移动平均 输出开花:ROC>MAROC AND PDI>ADXR AND PDI>ADX AND PDI>MDI AND K>D AND DIF>DEA AND 收盘价>1日前的收盘价 AND 1日前的最高价>2日前的收盘价