咨詢內容:
macd變形
老師吧這個文化的改成博弈的,然后當DIFF時正值時用白線表示,時負值時用另一種顏色表示,謝謝
DIFF:EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:EMA(DIFF,9);
MACD:2*(DIFF-DEA),NODRAW;
STICKLINE(MACD>0&&MACD>REF(MACD,1),0,MACD,RGB(255,0,0),0);
STICKLINE(MACD>0&&MACD<REF(MACD,1),0,MACD,COLORYELLOW,0);
STICKLINE(MACD<0&&MACD<REF(MACD,1),0,MACD,COLORBLUE,0);
STICKLINE(MACD<0&&MACD>REF(MACD,1),0,MACD,COLORGREEN,0);
JC:=CROSS(DIFF,DEA);
SC:=CROSSDOWN(DIFF,DEA);
N1:=BARSLAST(JC)+1;
N2:=BARSLAST(SC)+1;
HHO:=VALUEWHEN(CROSSDOWN(DIFF,DEA),HHV(H,N1));//上次MACD紅柱期間合約最大值
HH2O:=VALUEWHEN(CROSSDOWN(DIFF,DEA),REF(HHO,1));//上上次MACD紅柱期間合約最大值
MHDO:=VALUEWHEN(CROSSDOWN(DIFF,DEA),HHV(MACD,N1));//上次MACD紅柱期間MACD最大值
MHD2O:=VALUEWHEN(CROSSDOWN(DIFF,DEA),REF(MHDO,1));//上上次MACD紅柱期間MACD最大值
LLO:=VALUEWHEN(CROSS(DIFF,DEA),LLV(L,N2));//上次MACD綠柱期間合約最小值
LL2O:=VALUEWHEN(CROSS(DIFF,DEA),REF(LLO,1));//上上次MACD綠柱期間合約最小值
MLDO:=VALUEWHEN(CROSS(DIFF,DEA),LLV(MACD,N2));//上次MACD綠柱期間MACD最小值
MLD2O:=VALUEWHEN(CROSS(DIFF,DEA),REF(MLDO,1));//上上次MACD綠柱期間MACD最小值
DINGO:=CROSSDOWN(DIFF,DEA)&&HHO>HH2O&&MHDO<MHD2O||ISLASTBAR&&MACD>0&&HHV(H,N1)>HHO&&HHV(MACD,N1)<MHDO;//頂背離
DBO:=CROSS(DIFF,DEA)&&LLO<LL2O&&MLDO>MLD2O||ISLASTBAR&&MACD<0&&LLV(L,N2)<LLO&&LLV(MACD,N2)>MLDO;//底背離
P:=REF(LLVBARS(MACD,BARSLAST(CROSS(DEA,DIFF))),BARSLAST(CROSS(DIFF,DEA)));
DRAWLINE3(REFX(DBO,1),MLDO,P+BARSLAST(CROSS(DIFF,DEA)),DBO,MLDO,LLVBARS(MACD,BARSLAST(CROSS(DEA,DIFF))),0);
Z:=BACKSET(DBO,LLVBARS(MACD,BARSLAST(CROSS(DEA,DIFF)))+1);
DRAWTEXT(CROSS(Z,0.5),MACD,'底背離');
PP:=REF(HHVBARS(MACD,BARSLAST(CROSSDOWN(DEA,DIFF))),BARSLAST(CROSSDOWN(DIFF,DEA)));
//DRAWLINE3(REFX(DINGO,1),MHDO,PP+BARSLAST(CROSSDOWN(DIFF,DEA)),DINGO,MHDO,HHVBARS(MACD,BARSLAST(CROSSDOWN(DEA,DIFF))),0);
ZZ:=BACKSET(DINGO,HHVBARS(MACD,BARSLAST(CROSSDOWN(DEA,DIFF)))+1);
DRAWICON(CROSS(ZZ,0.5),MACD,2);
?
?來源:程序化99網( www.tumamayizhan.com )
博易技術人員:
DIFF:EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:EMA(DIFF,9);
MACD:2*(DIFF-DEA),NODRAW;
STICKLINE(MACD>0&&MACD>REF(MACD,1),0,MACD,10,0),COLOR0000FF;
STICKLINE(MACD>0&&MACD<REF(MACD,1),0,MACD,10,0),COLORYELLOW;
STICKLINE(MACD<0&&MACD<REF(MACD,1),0,MACD,10,0),COLORBLUE;
STICKLINE(MACD<0&&MACD>REF(MACD,1),0,MACD,10,0),COLORGREEN;
JC:=CROSS(DIFF,DEA);
SC:=CROSS(DEA,DIFF);
N1:=BARSLAST(JC)+1;
N2:=BARSLAST(SC)+1;
HHO:=VALUEWHEN(CROSS(DEA,DIFF),HHV(H,N1));//上次MACD紅柱期間合約最大值
HH2O:=VALUEWHEN(CROSS(DEA,DIFF),REF(HHO,1));//上上次MACD紅柱期間合約最大值
MHDO:=VALUEWHEN(CROSS(DEA,DIFF),HHV(MACD,N1));//上次MACD紅柱期間MACD最大值
MHD2O:=VALUEWHEN(CROSS(DEA,DIFF),REF(MHDO,1));//上上次MACD紅柱期間MACD最大值
LLO:=VALUEWHEN(CROSS(DIFF,DEA),LLV(L,N2));//上次MACD綠柱期間合約最小值
LL2O:=VALUEWHEN(CROSS(DIFF,DEA),REF(LLO,1));//上上次MACD綠柱期間合約最小值
MLDO:=VALUEWHEN(CROSS(DIFF,DEA),LLV(MACD,N2));//上次MACD綠柱期間MACD最小值
MLD2O:=VALUEWHEN(CROSS(DIFF,DEA),REF(MLDO,1));//上上次MACD綠柱期間MACD最小值
DINGO:=CROSS(DEA,DIFF)&&HHO>HH2O&&MHDO<MHD2O||ISLASTBAR&&MACD>0&&HHV(H,N1)>HHO&&HHV(MACD,N1)<MHDO;//頂背離
DBO:=CROSS(DIFF,DEA)&&LLO<LL2O&&MLDO>MLD2O||ISLASTBAR&&MACD<0&&LLV(L,N2)<LLO&&LLV(MACD,N2)>MLDO;//底背離
P:=REF(LLVBARS(MACD,BARSLAST(CROSS(DEA,DIFF))),BARSLAST(CROSS(DIFF,DEA)));
Z:=BACKSET(DBO,LLVBARS(MACD,BARSLAST(CROSS(DEA,DIFF)))+1);
DRAWTEXT(CROSS(Z,0.5),MACD,'底背離');
PP:=REF(HHVBARS(MACD,BARSLAST(CROSS(DEA,DIFF))),BARSLAST(CROSS(DEA,DIFF)));
//DRAWLINE3(REFX(DINGO,1),MHDO,PP+BARSLAST(CROSSDOWN(DIFF,DEA)),DINGO,MHDO,HHVBARS(MACD,BARSLAST(CROSSDOWN(DEA,DIFF))),0);
ZZ:=BACKSET(DINGO,HHVBARS(MACD,BARSLAST(CROSS(DEA,DIFF)))+1);
DRAWICON(CROSS(ZZ,0.5),MACD,2);
來源 程序化久久網