朋友們好! 前面兩講,我們學習了MACD指標的變色公式、MACD零上金叉和MACD底背離的條件選股公式的寫法,文章發(fā)布后,反映比較強烈。 JIN**HE說:“姐,幫幫忙,再給寫一下頂背離吧,我?guī)状味际沁^山車,錢回撤?!?/span> 因為中國股市不能做空,所以個人認為運用MACD頂背離進行選股的意義不大。 但既然有需求,那就試著寫一個MACD頂背離的指標公式,并把“頂背”兩字顯示在主圖上。 一、MACD頂背離的指標公式: 將上一講的底背離公式源碼: …… …… …… …… …… DIF:=EMA(CLOSE,12)-EMA(CLOSE,26); {收盤價的12日指數(shù)移動平均-收盤價的26日指數(shù)移動平均} DEA:=EMA(DIF,9); {DIF的9日指數(shù)移動平均} JC:=CROSS(DIF,DEA); {DIF金叉DEA} JC1:=BARSLAST(JC); {上次JC距今天數(shù)} JC2:=BARSLAST(REF(JC,1)); {上次金叉前1日的JC距今天數(shù)} GJ:=MA(C,10)<MA(C,20) AND MA(C,20)<MA(C,60); {10、20、60日均線空頭排列} JC AND GJ AND REF(DIF,JC1)>REF(DIF,JC2) AND EVERY(DEA<0,JC2) AND REF(C,JC1)<REF(C,JC2); {當日DIF金叉DEA,且短均線空頭排列,且本次金叉時DIF的值比上次金叉時大,且上次DIF金叉DEA以來DEA都小于0,且本次DIF金叉DEA時的最低價小于上次DIF金叉DEA時的最低價} …… …… …… …… …… 改寫成頂背離公式(金叉改為死叉,空頭改為多頭): …… …… …… …… …… DIF:=EMA(CLOSE,12)-EMA(CLOSE,26); {收盤價的12日指數(shù)移動平均-收盤價的26日指數(shù)移動平均} DEA:=EMA(DIF,9); {DIF的9日指數(shù)移動平均} SC:=CROSS(DEA,DIF); {DIF死叉DEA} SC1:=BARSLAST(SC); {上次SC距今天數(shù)} SC2:=BARSLAST(REF(SC,1)); {上次死叉前1日的SC距今天數(shù)} GJ:=MA(C,10)>MA(C,20) AND MA(C,20)>MA(C,60); {10、20、60日均線多頭排列} XG:=SC AND GJ AND REF(DIF,SC1)<REF(DIF,SC2) AND EVERY(DEA>0,SC2) AND REF(H,SC1)>REF(H,SC2); {當日DIF死叉DEA,且短均線多頭排列,且本次金叉時DIF的值比上次金叉時小,且上次DIF金叉DEA以來DEA都大于0,且本次DIF死叉DEA時的最高價大于上次DIF金叉DEA時的最高價} …… …… …… …… …… 二、MACD頂背離的條件選股方法: 1、將上面的MACD頂背離的公式直接復制到新建立條件選股公式中去,進行條件選股即可。 2、直接利用上面的公式進行綜合選股:(15-9) 三、當股價發(fā)生頂、底背離時,用文字在主圖上顯示出來: 先看頂背離,就在剛才的臨時文件中改寫。 其實在主圖上顯示文字我們不是第一次了,大家還有印象嗎? 1、先改寫最后一句,把輸出改成賦值,即在XG:后面加等號,然后在主圖上不顯示這條線,該用哪個函數(shù)呢? (DRAWNULL 返回無效數(shù) 【引用函數(shù)】),在下面句子最后的分號前寫上”, DRAWNULL” XG:=SC AND GJ AND REF(DIF,SC1)<REF(DIF,SC2) AND EVERY(DEA>0,SC2) AND REF(H,SC1)>REF(H,SC2), DRAWNULL; 2、在主圖上顯示文字: 要用到函數(shù):DRAWTEXT 顯示文字 【繪圖函數(shù)】 DRAWTEXT(,,),括號里要填寫三項:第一頂是滿足的條件,第二項是位置,第三項是文字: DRAWTEXT(XG,H, '頂背'); 把這兩句話寫到臨時公式里,在右上角的【畫線方法】的下拉菜單選擇“主圖疊加”: …… …… …… …… …… DIF:=EMA(CLOSE,12)-EMA(CLOSE,26); {收盤價的12日指數(shù)移動平均-收盤價的26日指數(shù)移動平均} DEA:=EMA(DIF,9); {DIF的9日指數(shù)移動平均} SC:=CROSS(DEA,DIF); {DIF死叉DEA} SC1:=BARSLAST(SC); {上次SC距今天數(shù)} SC2:=BARSLAST(REF(SC,1)); {上次死叉前1日的SC距今天數(shù)} GJ:=MA(C,10)>MA(C,20) AND MA(C,20)>MA(C,60); {10、20、60日均線多頭排列} XG:=SC AND GJ AND REF(DIF,SC1)<REF(DIF,SC2) AND EVERY(DEA>0,SC2) AND REF(H,SC1)>REF(H,SC2), NODRAW; {當日DIF死叉DEA,且短均線多頭排列,且本次金叉時DIF的值比上次金叉時小, 且上次DIF金叉DEA以來DEA都大于0,且本次DIF死叉DEA時的最高價大于上次DIF金叉DEA時的最高價} DRAWTEXT(XG,H,'頂背') {滿足“XG”條件時,在最高價處,顯示“頂背”} …… …… …… …… …… 鼠標放到到主圖K 線圖中,點擊后,輸入“LS”,調出剛才編寫的“臨時”,畫線方法選擇“主圖疊加”: 還可以把“頂背”兩個字的顏色變成黃色醒目一些,位置再抬高點:H+0.1,然后再這個“臨時”文件中的源碼復制、粘貼到主圖中去. 再將上一講的底背離指標也改寫到主圖中去,過程就不詳細說了,直接上源碼,都是測試通過的。 我的均線系統(tǒng)2: …… …… …… …… …… MA5:MA(C,5),COLORWHITE; {5日移動平均線} MA10:MA(C,10),COLORYELLOW; {10日移動平均線} MA25:MA(C,25),COLORLIBLUE; {25日移動平均線} MA60:MA(C,60),COLORRED; MA120:MA(C,120),COLORBLUE; {120日移動平均線} MA250:MA(C,250),COLORLIGRAY; {250日移動平均線} IF(MA5<REF(MA5,1),MA5,DRAWNULL),COLORWHITE,LINETHICK2; IF(MA10<REF(MA10,1),MA10,DRAWNULL),COLORYELLOW,LINETHICK2; IF(MA25<REF(MA25,1),MA25,DRAWNULL),COLORLIBLUE,LINETHICK2; IF(MA60<REF(MA60,1),MA60,DRAWNULL),COLORRED,LINETHICK2; {今日的60日平均價大于昨天的60日平均價,則返回MA60,用紅色2號粗線顯示}; IF(MA120<REF(MA120,1),MA120,DRAWNULL),COLORBLUE,LINETHICK2; IF(MA250<REF(MA250,1),MA250,DRAWNULL),COLORLIGRAY,LINETHICK2; 漲停: STICKLINE(C>=REF(C,1)*1.099,CLOSE,OPEN,2,0),COLORRED; {當漲停板時,在收盤價和開盤價位置之間畫紅色柱狀線,寬度為2的實心柱} 跌停: STICKLINE(C<=REF(C,1)*0.901,CLOSE,OPEN,2,0),COLORBLUE; {當?shù)0鍟r,在收盤價和開盤價位置之間畫藍色柱狀線,寬度為2.5的實心柱}; DRAWTEXT_FIX(1,0,0,0,'地區(qū):'),COLORRED;DRAWTEXT_FIX(1,0.03,0,0,DYBLOCK),COLORRED; DRAWTEXT_FIX(1,0.1,0,0,'行業(yè):'),COLORGREEN;DRAWTEXT_FIX(1,0.13,0,0,HYBLOCK),COLORGREEN; DRAWTEXT_FIX(1,0.19,0,0,'概念:'),COLORFF00FF;DRAWTEXT_FIX(1,0.22,0,0,GNBLOCK),COLORFF00FF; DIF:=EMA(CLOSE,12)-EMA(CLOSE,26); {收盤價的12日指數(shù)移動平均-收盤價的26日指數(shù)移動平均} DEA:=EMA(DIF,9); {DIF的9日指數(shù)移動平均} SC:=CROSS(DEA,DIF); {DIF死叉DEA} SC1:=BARSLAST(SC); {上次SC距今天數(shù)} SC2:=BARSLAST(REF(SC,1)); {上次死叉前1日的SC距今天數(shù)} GJ:=MA(C,10)>MA(C,20) AND MA(C,20)>MA(C,60); {10、20、60日均線多頭排列} XG:=SC AND GJ AND REF(DIF,SC1)<REF(DIF,SC2) AND EVERY(DEA>0,SC2) AND REF(H,SC1)>REF(H,SC2), NODRAW; {當日DIF死叉DEA,且短均線多頭排列,且本次金叉時DIF的值比上次金叉時小,且上次DIF金叉DEA以來DEA都大于0,且本次DIF死叉DEA時的最高價大于上次DIF金叉DEA時的最高價} DRAWTEXT(XG,H+0.1,'頂背'),COLORYELLOW; {滿足“XG”條件時,在最高價+0.1處,顯示“頂背”} JC:=CROSS(DIF,DEA); {DIF金叉DEA} JC1:=BARSLAST(JC); {上次JC距今天數(shù)} JC2:=BARSLAST(REF(JC,1)); {上次金叉前1日的JC距今天數(shù)} GJ2:=MA(C,10)<MA(C,20) AND MA(C,20)<MA(C,60);{10、20、60日均線空頭排列} XG2:=JC AND GJ2 AND REF(DIF,JC1)>REF(DIF,JC2) AND EVERY(DEA<0,JC2) AND REF(L,JC1)<REF(L,JC2); {當日DIF金叉DEA,且短均線空頭排列,且本次金叉時DIF的值比上次金叉時大,且上次DIF金叉DEA以來DEA都小于0,且本次DIF金叉DEA時的最低價小于上次DIF金叉DEA時的最低價}; DRAWTEXT(XG2,L-0.1,'底背'),COLORMAGENTA; {滿足“XG2”條件時,在最低價-0.1處,顯示“底背”} …… …… …… …… …… 注意1:源碼中凡是用淺灰色顯示的文字都是解釋,為的是便于大家看公式方便,如果你常得文字太多,都是可以刪去的。 注意2:圖中所有均線都將其改成向下時用粗線顯示,向上是用同色的細線顯示,這樣多頭市場和空頭市場可以一目了然,方便我們看盤。 注意3:不管是“頂背離”“底背離”信號,都不含未來函數(shù)。 出現(xiàn)了“頂背離”信號后,如果后市多頭做多意愿強烈,放量上沖,那“頂背離”就有可能化解,特別是股價漲幅不多時,這種“頂背離”被化解的還是蠻多的。 但如果股價漲得太多了,那出現(xiàn)“頂背離”信號時,要有“寧可錯過,不能做錯”的心態(tài),逃命要緊。 對“底背離”信號的理解正好反過來,大家自行去理解吧。 今天就到這里了,下次再見! |
|
來自: dushikuaile > 《選股公式》