之前在论坛里看到一个MACD的连线指标,我想修改成一个预警指标。
有两点需要作出修改的地方:
1、波峰与波谷连线不再是MACD波峰与波谷,而是一条新的曲线,称作XW曲线,曲线就像MACD里的红柱与绿柱,但值都是正值。
2、当K线的最低点的波峰或波谷连线,与XW曲线的波谷与波峰连线,方向背离时,发出预警信号。
希望文华的老师能理解我的表达,并协助编出公式,谢谢~!
原来的MACD连线指标:
XW 是将macd所有波峰波谷对应的K线的收盘价进行连线吗
分析了一下您的思路
您实际上是想要背离进行预警,可以参考这个公式:
DIFF:EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:EMA(DIFF,9);
MACD:2*(DIFF-DEA),COLORSTICK;
D:=DIFF;
JC:=CROSS(DIFF,DEA);
SC:=CROSSDOWN(DIFF,DEA);
N1:=BARSLAST(JC)+1;
N2:=BARSLAST(SC)+1;
HH:=VALUEWHEN(CROSSDOWN(DIFF,DEA),HHV(H,N1));//上次MACD红柱期间合约最大值
HH2:=VALUEWHEN(CROSSDOWN(DIFF,DEA),REF(HH,1));//上上次MACD红柱期间合约最大值
MHD:=VALUEWHEN(CROSSDOWN(DIFF,DEA),HHV(MACD,N1));//上次MACD红柱期间MACD最大值
MHD2:=VALUEWHEN(CROSSDOWN(DIFF,DEA),REF(MHD,1));//上上次MACD红柱期间MACD最大值
LL:=VALUEWHEN(CROSS(DIFF,DEA),LLV(L,N2));//上次MACD绿柱期间合约最小值
LL2:=VALUEWHEN(CROSS(DIFF,DEA),REF(LL,1));//上上次MACD绿柱期间合约最小值
MLD:=VALUEWHEN(CROSS(DIFF,DEA),LLV(MACD,N2));//上次MACD绿柱期间MACD最小值
MLD2:=VALUEWHEN(CROSS(DIFF,DEA),REF(MLD,1));//上上次MACD绿柱期间MACD最小值
A:=CROSSDOWN(DIFF,DEA)&&HH>HH2&&MHD<MHD2;//顶背离
B:=CROSS(DIFF,DEA)&&LL<LL2&&MLD>MLD2;//底背离
DRAWICON(A,MACD,5);
DRAWICON(B,MACD,4);
A||B,SPARK;