DIFF :EMA(CLOSE,12) - EMA(CLOSE,26);//短周期与长周期的收盘价的指数平滑移动平均值做差。
DEA :=EMA(DIFF,9);//DIFF的M个周期指数平滑移动平均
MACD:2*(DIFF-DEA),COLORSTICK;//DIFF减DEA的2倍画柱状线
J:=CROSS(DIFF,DEA);
S:=CROSSDOWN(DIFF,DEA);
N1:=BARSLAST(J)+1;
N2:=BARSLAST(S)+1;
P:=BACKSET(J,LLVBARS(MACD, N2)+1);
Q:=BACKSET(S,HHVBARS(MACD, N1)+1);
K:=BACKSET(ISLASTBAR,HHVBARS(ABS(MACD),MIN(N1, N2))+1);
STICKLINE(CROSS(P,0.5),MACD,0,COLORYELLOW,0);
STICKLINE(CROSS(Q,0.5),MACD,0,COLORYELLOW,0);
STICKLINE(CROSS(K,0.5),MACD,0,COLORYELLOW,0);
CROSS(MACD,0),SOUND('A');
CROSSDOWN(MACD,0),SOUND('B');
MHD:VALUEWHEN(CROSSDOWN(DIFF,DEA),HHV(DIFF,N1)),NODRAW;//上次MACD红柱期间DIFF最大值
MLD:VALUEWHEN(CROSS(DIFF,DEA),LLV(DIFF,N2)),NODRAW;
A:=BACKSET(S,HHVBARS(DIFF,N1)+1);
B:=BACKSET(J,LLVBARS(DIFF,N2)+1);
DRAWICON(CROSS(A,0.5),DIFF,1),VALIGN2;
DRAWICON(CROSS(B,0.5),DIFF,2),VALIGN0;
参考:
DIFF :EMA(CLOSE,12) - EMA(CLOSE,26);//短周期与长周期的收盘价的指数平滑移动平均值做差。
DEA :=EMA(DIFF,9);//DIFF的M个周期指数平滑移动平均
MACD:2*(DIFF-DEA),COLORSTICK;//DIFF减DEA的2倍画柱状线
J:=CROSS(DIFF,DEA);
S:=CROSSDOWN(DIFF,DEA);
N1:=BARSLAST(J)+1;
N2:=BARSLAST(S)+1;
P:=BACKSET(J,LLVBARS(MACD, N2)+1);
Q:=BACKSET(S,HHVBARS(MACD, N1)+1);
K:=BACKSET(ISLASTBAR,HHVBARS(ABS(MACD),MIN(N1, N2))+1);
STICKLINE(CROSS(P,0.5),MACD,0,COLORYELLOW,0);
STICKLINE(CROSS(Q,0.5),MACD,0,COLORYELLOW,0);
STICKLINE(CROSS(K,0.5),MACD,0,COLORYELLOW,0);
CROSS(MACD,0),SOUND('A');
CROSSDOWN(MACD,0),SOUND('B');
MHD:VALUEWHEN(CROSSDOWN(DIFF,DEA),HHV(DIFF,N1)),NODRAW;//上次MACD红柱期间DIFF最大值
MLD:VALUEWHEN(CROSS(DIFF,DEA),LLV(DIFF,N2)),NODRAW;
A:=BACKSET(S||MACD>0&&ISLASTBAR,HHVBARS(DIFF,N1)+1);
B:=BACKSET(J||MACD<0&&ISLASTBAR,LLVBARS(DIFF,N2)+1);
DRAWICON(CROSS(A,0.5),DIFF,1),VALIGN2;
DRAWICON(CROSS(B,0.5),DIFF,2),VALIGN0;