夜雨聆风学习资料网

ARTICLE · 1030355

均线动能主图,首次突破(源码)

均线动能主图,首次突破(源码)

主图,五条均线打底。指标逻辑核心三件:线变色、两条买点提示、两个星号。K 线的颜色由四条均线的合力变化率决定,转正涂红、转弱涂蓝;转弱但动能回升的时候,它改涂绿。收盘价上穿 6 日推算的买进价,K 线描白;换成 18 日均线算的加码价,就描黄。黄色粗线是趋势主线,站上去变红、跌破变绿。星号标的是突破和低位两类信号。趋势没走出来时,颜色一天能翻好几次,别盯单根看。

指标源码

{QS 均线动能主图:五条均线打底,叠加变色 K 线、买进与加码提示、两条趋势线以及两组星号信号}

MA3:MA(C,3),COLORWHITE;

MA5:MA(C,5),COLORGREEN;

MA10:MA(C,10),COLORRED;

MA20:MA(C,20),COLORBLUE;

MA30:MA(C,30),COLORYELLOW;

{均线合力:把 5/10/20/30 四条 EMA 取均值,再算它 15 个周期内的变化率}

QS_E3:=EMA(C,3);

QS_E5:=EMA(C,5);

QS_E10:=EMA(C,10);

QS_E20:=EMA(C,20);

QS_E30:=EMA(C,30);

QS_EMABLEND:=(QS_E5+QS_E10+QS_E20+QS_E30)/4;

QS_ROC:=(QS_EMABLEND-REF(QS_EMABLEND,15))/REF(QS_EMABLEND,15)*100;

QS_ROC2:=(QS_EMABLEND-REF(QS_EMABLEND,15))/REF(QS_EMABLEND, 15)*100;

QS_ROCEMA:=EMA(QS_ROC,8);

{变色 K 线:变化率为负画蓝、为正画红;为负但动能线转强时改画绿}

STICKLINE(QS_ROC<1*REF(QS_ROC,1),H,L,0,0),COLORBLUE;

STICKLINE(QS_ROC<1*REF(QS_ROC,1),O,C,3, 0),COLORBLUE;

STICKLINE(QS_ROC>1*REF(QS_ROC,1),H,L,0,0),COLORRED;

STICKLINE(QS_ROC>1*REF(QS_ROC,1),O,C,3, 0),COLORRED;

STICKLINE(QS_ROC<1*REF(QS_ROC,1) AND QS_ROCEMA>1*REF(QS_ROCEMA,1),H,L,0,0),COLORGREEN;

STICKLINE(QS_ROC<1*REF(QS_ROC,1) AND QS_ROCEMA>1*REF(QS_ROCEMA,1),O,C,3, 0),COLORGREEN;

{买进提示:收盘价上穿 6 日均线推算的买进价且买进价抬高,K 线描白}

QS_BUYPX:=((C-REF(MA(C,6),1))/6+MA(C,6))*1.004;

QS_BUYSIG:=CROSS(C,QS_BUYPX) AND QS_BUYPX>REF(QS_BUYPX,1);

STICKLINE(QS_BUYSIG,H,L,0,1),COLORWHITE,LINETHICK2;

STICKLINE(QS_BUYSIG,O,C,3,0),COLORWHITE,LINETHICK2;

{加码提示:换用 18 日均线推算,条件一致,K 线描黄}

QS_ADDPX:=((C-REF(MA(C,18),1))/18+MA(C,18))*1.004;

QS_ADDSIG:=CROSS(C,QS_ADDPX) AND QS_ADDPX>REF(QS_ADDPX,1);

STICKLINE(QS_ADDSIG,H,L,0,1),COLORYELLOW,LINETHICK2;

STICKLINE(QS_ADDSIG,O,C,3,0),COLORYELLOW,LINETHICK2;

{趋势主线:收盘价做三重递进平滑,再配一条 3 日均线与 13 日上轨}

QS_C1:=MA(C,1);

QS_TRIPLE:=SMA(SMA(SMA(QS_C1,2,1),2,1),2,1);

QS_TRIPLEMA:=MA(QS_TRIPLE,3);

停损下限:IF(LLV(MA(QS_TRIPLE,8),3)<QS_TRIPLE,LLV(MA(QS_TRIPLE,8),3),QS_TRIPLE);

IF(QS_TRIPLE>QS_TRIPLEMA,QS_TRIPLE,DRAWNULL),COLORRED,LINETHICK4;

IF(QS_TRIPLE<QS_TRIPLEMA,QS_TRIPLE,DRAWNULL),COLORGREEN,LINETHICK4;

QS_HI13:HHV(MA(QS_TRIPLE,1),13),COLORYELLOW;

{方向计数:加权价站上 7 日均线与其跌破 7 日均线,各自数持续了几个周期}

QS_TP4A:=(2*CLOSE+HIGH+LOW)/4;

QS_TP4AMA:=MA(QS_TP4A,7);

QS_TP4ADN:=QS_TP4AMA-MA(QS_TP4A,7/2)<0;

QS_TP4AUP:=QS_TP4AMA-MA(QS_TP4A,7/2)>0;

QS_DNCNT:=BARSLAST(QS_TP4ADN);

QS_UPCNTN:=0-BARSLAST(QS_TP4AUP);

QS_DIRSEL:=IF(QS_TP4ADN<=0,QS_DNCNT,QS_UPCNTN);

STICKLINE(QS_HI13>QS_TRIPLE AND QS_TRIPLE>QS_TRIPLEMA,QS_HI13,QS_TRIPLE,0,0),COLORBLUE;

STICKLINE(QS_HI13>QS_TRIPLEMA AND QS_TRIPLE<QS_TRIPLEMA,QS_HI13,QS_TRIPLEMA,0,0),COLORBLUE;

{动能线:加权价的 13 日与 34 日 EMA 之差,再取 5 日 EMA 做信号线}

QS_TP4B:=(CLOSE*2+HIGH+LOW)/4;

QS_DIF:=EMA(QS_TP4B,13)-EMA(QS_TP4B,34);

QS_DEA:=EMA(QS_DIF,5);

{长周期参照:55 日 EMA 与 75 日均线,后者再平滑两次}

QS_EMA55:=EMA(CLOSE,55);

QS_MA75:=MA(CLOSE,75);

QS_MA75E:=EMA(QS_MA75,3);

QS_MA75E2:=EMA(QS_MA75E,3);

{转折价:高低均值的中期均线在 0 轴上下穿越,取最近一次转折点做参考}

QS_HL5:=(HIGH + LOW) / 5;

QS_HL5DIF:=(MA(QS_HL5,4)) - (MA(QS_HL5,34));

QS_XUP:=CROSS(QS_HL5DIF,0);

QS_XDN:=CROSS(0,QS_HL5DIF);

QS_NUP:=BARSLAST(QS_XUP);

QS_NDN:=BARSLAST(QS_XDN);

QS_XUP1:=REF(QS_XUP,1);

QS_XDN1:=REF(QS_XDN,1);

QS_NUP1:=BARSLAST(QS_XUP1);

QS_NDN1:=BARSLAST(QS_XDN1);

QS_PIVOT:=IF((QS_NUP1 < QS_NDN1),(REF((HHV(HIGH,2)),QS_NUP1)),(REF((LLV(LOW,2)),QS_NDN1)));

QS_BRKU:=(((REF(CLOSE,1)) <= (REF(QS_PIVOT,1))) AND (CLOSE > QS_PIVOT)) AND (QS_NUP < QS_NDN);

QS_BRKD:=(((REF(CLOSE,1)) >= (REF(QS_PIVOT,1))) AND (CLOSE < QS_PIVOT)) AND (QS_NDN < QS_NUP);

QS_FRSTU:=QS_BRKU AND ((COUNT(QS_BRKU,QS_NUP)) = 1);

QS_FRSTD:=QS_BRKD AND ((COUNT(QS_BRKD,QS_NDN)) = 1);

QS_SIGU:=QS_FRSTU AND ((REF(BARSLAST(QS_FRSTD),1)) < (REF(BARSLAST(QS_FRSTU),1)));

QS_SIGD:=QS_FRSTD AND ((REF(BARSLAST(QS_FRSTD),1)) > (REF(BARSLAST(QS_FRSTU),1)));

{向上信号成立时,在趋势参考线下方标一个星}

DRAWTEXT(QS_SIGU,QS_TRIPLEMA*0.99,'☆'),COLORYELLOW;

{低位信号:价格偏离 13 日均价较多且落在布林通道下沿,标一个星}

QS_AVGAMT:=AMOUNT/(VOL);

QS_AVGAMTMA:=MA(QS_AVGAMT,13);

QS_AMTDEV:=(C-QS_AVGAMTMA)/QS_AVGAMTMA*100;

QS_BOLDMD := MA(CLOSE,22);

QS_BOLUP:= QS_BOLDMD + 2*STD(C,22);

QS_BOLDN:= QS_BOLDMD - 2*STD(C,22);

QS_BOLPOS:=(C-QS_BOLDN)/(QS_BOLUP-QS_BOLDN);

QS_BOLPOSF:=FORCAST(QS_BOLPOS,3);

QS_LOWREB:=(REF(QS_AMTDEV,1)<-15 AND REF(QS_BOLPOS,1)<0 AND QS_AMTDEV>REF(QS_AMTDEV,1));

DRAWTEXT(QS_LOWREB>0,LOW*0.99,'☆'),COLORDD00DD;

相关学习资料

返回首页浏览学习资料