ARTICLE · 1159495
(升级)MACD四色柱翻红低买指标源码

{标准 MACD 三件套:快线取 6 日与 19 日指数均线之差,慢线再平滑 9 日,柱体是两倍的差离值}
DIF:EMA(CLOSE,6)-EMA(CLOSE,19),,NODRAW;
DEA:EMA(DIF,9),NODRAW;
MACD:2*(DIF-DEA),COLORSTICK;
{柱体四色:红柱为多头、绿柱为空头,白柱与洋红柱标出多空能量开始收缩的那一段}
STICKLINE(MACD>0,MACD,0,0.5,0),COLORRED;
STICKLINE(MACD<0,MACD,0,0.5,0),COLORGREEN;
STICKLINE(MACD>0 AND MACD<REF(MACD,1),MACD,0,0.5,0),COLORWHITE;
STICKLINE(MACD<0 AND MACD>REF(MACD,1),MACD,0,0.5,0),COLORFF00FF;
{翻红确认的五个中间量:先要求柱体三连收缩,再看均线、贴柱与柱高三种口径}
QS_BAR1DN:=REF(MACD,1)<REF(MACD,2) AND REF(MACD,2)<REF(MACD,3) AND REF(MACD,3)<REF(MACD,4);
QS_BAR2UP:=MACD>=0 AND COUNT(MACD>REF(MACD,1),1)=1;
QS_REVUP1:=QS_BAR1DN AND QS_BAR2UP AND EMA(C,13)>REF(EMA(C,13),1);
QS_REVUP2:=QS_BAR1DN AND QS_BAR2UP AND ABS((DIF-DEA)/C)<0.018;
QS_REVUP3:=QS_BAR1DN AND QS_BAR2UP AND MACD<0.10;
{多头排列:价格、均线、柱体、量能同时向好,作为佛手的成立条件}
QS_BULLSET:=CLOSE>OPEN AND MA(CLOSE,5)>MA(CLOSE,10) AND MA(CLOSE,10)>MA(CLOSE,30)
AND DIF>DEA AND MACD>REF(MACD,1) AND DIF>0 AND DEA>0 AND
MA(VOL,5)>MA(VOL,34) AND MA(CLOSE,30)>=REF(MA(CLOSE,30),1);
佛手:IF(QS_BULLSET,1,0),NODRAW;
{距上一次柱体上穿或转正的根数,后面用它来数收缩段}
QS_SINCE0:=BARSLAST((CROSS(MACD,REF(MACD,1)) AND MACD>0) OR CROSS(MACD,0));
QS_SINCE1:=BARSLAST(CROSS(0.5,COUNT(MACD>REF(MACD,1),QS_SINCE0+1)=QS_SINCE0+1));{回撤段:柱体连续走低,且全程负柱不超过 2 根}
QS_SHRINK:=COUNT(MACD<REF(MACD,1),QS_SINCE1+1)=QS_SINCE1+1 AND COUNT(MACD<0,QS_SINCE1+1)<=2;
QS_REIGNIT:=REF(QS_SHRINK,1) AND MACD>REF(MACD,1) AND C>O AND C>REF(C,1);
STICKLINE(QS_SINCE1=0 AND MACD>0,MACD,0,2,0),COLORDCDC00;{柱体缩头的那一段,在柱上画一段深黄}
STICKLINE(QS_REIGNIT,MACD,0,2,0),COLOR0854FF;{二次起动,另画一段蓝柱};
{在柱体上亮出佛手图标,并依次写出翻红、低买、加油三处文字}
DRAWICON(佛手,-0.15,11);
二次翻红:(QS_REVUP1 OR QS_REVUP2 OR QS_REVUP3),COLORRED,NODRAW;
低买:CROSS(DIF,DEA) AND DIF<0,COLORFF00FF,NODRAW;
加油:CROSS(DIF,DEA) AND DIF>0,COLORYELLOW,NODRAW;
DRAWICON(二次翻红,-0.05,1);
DRAWTEXT(二次翻红,-0.15,'↖翻红'),COLORRED;
DRAWTEXT(CROSS(DIF,DEA) AND DIF<0,DEA-0.02,'↖低买'),COLORFF00FF;
DRAWTEXT(CROSS(DIF,DEA) AND DIF>0,DEA-0.05,'↖加油'),COLORYELLOW;
QS_PICKALL:二次翻红 OR 低买 OR 加油,NODRAW;
{均价口径:指数用四价均值,个股用成交额折算}
QS_AVGPRC:=IF(CLOSE=INDEXC,(INDEXC+INDEXH+INDEXL+INDEXO)/4,AMOUNT/(VOL+0.01)/100);
{压力价与支撑价由均价与当日高低点换算,隔日再用}
QS_RESPRC:=IF(CLOSE=INDEXC,QS_AVGPRC+INDEXC-INDEXL,QS_AVGPRC+(CLOSE-LOW));
QS_SUPPRC:=IF(CLOSE=INDEXC,INDEXL+INDEXC-QS_AVGPRC,LOW+(CLOSE-QS_AVGPRC));
今压:REF(QS_RESPRC,1),LINETHICK0,COLORAA11BB,NODRAW;
今撑:REF(QS_SUPPRC,1),LINETHICK0,COLOR009900,NODRAW;
明压:QS_RESPRC,LINETHICK0,NODRAW;
明撑:QS_SUPPRC,LINETHICK0,NODRAW;
DIFF:DIF,COLORRED,LINETHICK2;
DDEA:DEA,COLORYELLOW,LINETHICK2;
