同花顺MACD变色V4公式
源码
//20150328 DIFF上穿0轴后在0轴上第一次死叉后又金叉
//20150329 MACD多头二次翻红
DIFF:EMA(CLOSE,12) - EMA(CLOSE,26),colorwhite,LINETHICK1;
DEA: EMA(DIFF,9),coloryellow,LINETHICK1;
MACD: 2*(DIFF-DEA),colorred,NODRAW;
Zero: 0,colorff7f00,LINETHICK1;
N:=IF(BARSCOUNT(C)<=5,MA(C,2),MA(C,5));
角度:((ATAN((N - REF(N,1))) * 3.1416) * 10),NODRAW,colorcyan;
//角度:((ATAN((MA(C,5) - REF(MA(C,5) ,1))) * 3.1416) * 10),NODRAW;
流通股:SHGZG/10000/10000,NODRAW,colorgreen;
资本公积:GJJ/ZGB,NODRAW,colormagenta;
//CCI抄底
N:=14;
TYP := (IF(ISNULL(HIGH),CLOSE,HIGH) + IF(ISNULL(LOW),CLOSE,LOW) + CLOSE)/3;
CCI: (TYP-MA(TYP,N))/(0.015*AVEDEV(TYP,N)),colorffff00,NODRAW;
//红色
STICKLINE(MACD>0 AND MACD>=REF(MACD,1),0,MACD,2,0),color0000ff;
//墨绿
STICKLINE(MACD>0 AND MACD<REF(MACD,1),0,MACD,2,0),colorffff00;
//洋红
STICKLINE(MACD<0 AND MACD>=REF(MACD,1),0,MACD,2,0),colorff00ff;
//绿色
STICKLINE(MACD<0 AND MACD<REF(MACD,1),0,MACD,2,0),color00ff00;
低位金叉:=CROSS(DIFF,DEA) AND DIFF<-0.2;
贴近零轴金叉:=CROSS(DIFF,DEA) AND MACD>0 AND BETWEEN(DIFF,-0.03,0.03);
//VERLINE(水上低位金叉,1),colorwhite;
//DRAWTEXT(低位金叉,DIFF*1.1,'低位'),color00aaff;
AA:=COUNT(CROSS(DIFF,DEA),BARSLAST(DEA>=0));
一次金叉:=CROSS(DIFF,DEA) AND DEA<0 AND COUNT(AA=1,21)=1;
二次金叉:=CROSS(DIFF,DEA) AND DEA<0 AND COUNT(AA=2,21)=1;
三次金叉:=CROSS(DIFF,DEA) AND DEA<0 AND COUNT(AA=3,21)=1;
四次金叉:=CROSS(DIFF,DEA) AND DEA<0 AND COUNT(AA=4,21)=1;
五次金叉:=CROSS(DIFF,DEA) AND DEA<0 AND COUNT(AA=5,21)=1;
//VERLINE(二次金叉,1),colorwhite;
DRAWTEXT(一次金叉,DIFF*1.1,'①'),color00aaff;
DRAWTEXT(一次金叉 AND 低位金叉,DIFF*1.1,'①低位'),color00aaff;
DRAWTEXT(二次金叉,DIFF*1.1,'②'),color00aaff;
DRAWTEXT(二次金叉 AND 低位金叉,DIFF*1.1,'②低位'),color00aaff;
DRAWTEXT(三次金叉,DIFF*1.1,'③'),color00aaff;
DRAWTEXT(三次金叉 AND 低位金叉,DIFF*1.1,'③低位'),color00aaff;
DRAWTEXT(四次金叉,DIFF*1.1,'④'),color00aaff;
DRAWTEXT(四次金叉 AND 低位金叉,DIFF*1.1,'④低位'),color00aaff;
DRAWTEXT(五次金叉,DIFF*1.1,'⑤'),color00aaff;
DRAWTEXT(五次金叉 AND 低位金叉,DIFF*1.1,'⑤低位'),color00aaff;
//DIFF上穿0轴后在0轴上第一次死叉后又金叉
AA:= CROSS(DIFF,DEA) AND DEA>0 ;
BB:=BARSLAST(CROSS(DEA,DIFF)) AND DEA>0;
CC:=REF(BARSLAST(CROSS(DIFF,0))<20,BARSLAST(CROSS(DEA,DIFF))+1);
N:= ABS(MAX(DIFF,DEA))+1;
MACD死叉后金叉:= AA AND BB AND CC;
DRAWTEXT(MACD死叉后金叉,N,'①'),colorred;
//MACD多头二次翻红
FH1:=REF(MACD,1)<REF(MACD,2) AND REF(MACD,2)<REF(MACD,3) AND REF(MACD,3)<REF(MACD,4);
FH2:=MACD>=0 AND COUNT(MACD>REF(MACD,1),1)=1;
FH3:=EMA(C,30)>=REF(EMA(C,30),1) AND COUNT(EMA(C,5)>EMA(C,10) AND EMA(C,10)>EMA(C,30),1)=1;
FH4:=CROSS(C,EMA(C,30)) OR C>EMA(C,30);
FH5:=FH1 AND FH2 AND FH3 AND FH4;
FH6:=FH1 AND FH2 AND FH3 AND FH4 AND ABS((DIFF-DEA)/C)<0.018;
FH7:=FH1 AND FH2 AND FH3 AND FH4 AND MACD<0.10;
MACD多头二次翻红:=FH5 OR FH6 OR FH7;
N:=IF(MACD死叉后金叉 AND MACD多头二次翻红,N+1,N);
DRAWTEXT(MACD多头二次翻红 AND REF(CCI,1)<50,N,'②'),colorred;
//这个“二次翻红”指标除了满足原有的四个条件外,即:
//一是MACD在零轴以上并且第二次收红柱;
//二是MACD红柱大于等于零轴并且红柱缩短小于0.10以下;(实战0.111也行)
//三是DIFF与DEA两线的粘合度小于0.018;
//四是红柱连续缩短三天以上。
//还基本满足了所描述的四个条件(即:
//1、30日移动平均线由下跌变为走平或翘头向上,5日、10、30日移动平均线刚刚形成多头排列;
//2、日K线刚刚上穿30日移动平均线或在30日移动平均线上方运行;
//3、DIF在零轴下方与MACD金叉后可靠意义将会更大,在第一次翻红后,红柱开始缩短,越短越好,最好不要超过0轴的第一横线;
//4、成交量由萎缩逐渐放大,特别是在二次翻红后,若能得到成交量的配合,该股后市向上冲击的力量会更大。)
//该指标没有设计成交量这个条件。只要符合所涉及到的条件,就能在“二次翻红”起涨点选出股票。
A1:=BARSLAST(REF(CROSS(DIFF,DEA),1));
底背离:=REF(CLOSE,A1+1)>CLOSE AND DIFF>REF(DIFF,A1+1) AND CROSS(DIFF,DEA);
A2:=BARSLAST(REF(CROSS(DEA,DIFF),1));
顶背离:=REF(CLOSE,A2+1)<CLOSE AND REF(DIFF,A2+1)>DIFF AND CROSS(DEA,DIFF);
DRAWLINE(A1=0,DEA,底背离,REF(DEA,A1),0),colorred,LINETHICK2;
DRAWLINE(底背离,DEA,底背离,REF(DEA,A1),0),colorred,LINETHICK2;
DRAWTEXT(底背离,REF(DEA,A1)*1.28,'+底背离'),COLORFF00FF;
DRAWLINE(A2=0 ,DEA,顶背离,REF(DEA,A2),0),colorgreen,LINETHICK2;
DRAWLINE(顶背离,DEA,顶背离,REF(DEA,A2),0),colorgreen,LINETHICK2;
DRAWTEXT(顶背离,REF(DEA,A2)*1.18,'-顶背离'),colorgreen,LINETHICK2;
//5日均线上穿24日均线
MA5:=MA(C,5);
MA24:=MA(C,24);
LL:=IF(MACD<=0,MACD,-MACD);
A1:=CROSS(MA5,MA24) OR (MA5>MA24 AND REF(MA5,1)<REF(MA24,1));
A2:=MA(V,10)<V;
A3:=IF(MACD<0,MACD>=REF(MACD,1),MACD<3);
//五日内最大涨幅小于8%
A4:=C>=O AND 角度<8 AND COUNT(C/O>1.08,5)<1;
//日线买点:= MA5>MA24 AND REF(MA5,1)<REF(MA24,1) AND CCI<100;
日线买点:= A1 AND A2 AND A3 AND A4;
DRAWICON(日线买点,LL,"BUY");