源代码根据“背离王副图”修改,仅供学习交流,不做任何交易。其中,参数HC:代表红柱子的高度,当红柱子逐渐变小将面临回档;当绿柱子逐渐变小将逐渐企稳。KC是HC的差值,即KC>0,则红柱子变长或者绿柱子变短。
源码:
N:=8;
A1:=FORCAST(EMA(CLOSE,5),6);
A2:=FORCAST(EMA(CLOSE,8),6);
A3:=FORCAST(EMA(CLOSE,11),6);
A4:=FORCAST(EMA(CLOSE,14),6);
A5:=FORCAST(EMA(CLOSE,17),6);
B:=A1+A2+A3+A4-4*A5;
TOWERC:=EMA(B,2);
B1:=FORCAST(EMA(B,3),6),POINTDOT,colorgreen;
B2:=FORCAST(EMA(B,4),6),POINTDOT,colorgreen;
B3:=FORCAST(EMA(B,5),6),POINTDOT,colorgreen;
B4:=FORCAST(EMA(B,6),6),POINTDOT,colorgreen;
B5:=FORCAST(EMA(B,7),6),POINTDOT,colorgreen;
B6:=FORCAST(EMA(B,8),6),POINTDOT,colorgreen;
B7:=FORCAST(EMA(B,9),6),POINTDOT,colorgreen;
B8:=FORCAST(EMA(B,10),6),POINTDOT,colorgreen;
B9:=FORCAST(EMA(B,11),6),POINTDOT,colorgreen;
B10:=FORCAST(EMA(B,12),6),POINTDOT,colorgreen;
B11:=FORCAST(EMA(B,13),6),POINTDOT,colorgreen;
B12:=FORCAST(EMA(B,14),6),POINTDOT,colorgreen;
B13:=FORCAST(EMA(B,15),6),POINTDOT,colorgreen;
B14:=FORCAST(EMA(B,16),6),POINTDOT,colorgreen;
B15:=FORCAST(EMA(B,17),6),POINTDOT,colorgreen;
STICKLINE(TOWERC>=REF(TOWERC,1),TOWERC,REF(TOWERC,1),N,0),colorred;
STICKLINE(TOWERC<REF(TOWERC,1),TOWERC,REF(TOWERC,1),N,0),colorgreen;
STICKLINE(TOWERC>=REF(TOWERC,1),TOWERC,REF(TOWERC,1),N,0),colorred;
STICKLINE(TOWERC>=REF(TOWERC,1),TOWERC,REF(TOWERC,1),N,0),colorred;
STICKLINE(TOWERC>=REF(TOWERC,1),TOWERC,REF(TOWERC,1),N,0),colorred;
STICKLINE(TOWERC<REF(TOWERC,1),TOWERC,REF(TOWERC,1),N,0),colorgreen;
STICKLINE(TOWERC<REF(TOWERC,1),TOWERC,REF(TOWERC,1),N,0),colorgreen;
STICKLINE(TOWERC<REF(TOWERC,1),TOWERC,REF(TOWERC,1),N,0),colorgreen;
STICKLINE(TOWERC<REF(TOWERC,1),TOWERC,REF(TOWERC,1),N,0),colorgreen;
BSUM:=(B1+B2+B3+B4+B5+B6+B7+B8+B9+B10+B11+B12+B13+B14+B15)/15;
BMAX1:=MAX(MAX(B1,B2),MAX(B3,B4));
BMAX2:=MAX(MAX(B5,B6),MAX(B7,B8));
BMAX3:=MAX(MAX(B9,B10),MAX(B11,B12));
BMAX4:=MAX(MAX(B13,B14),B15);
BMAX:=MAX(MAX(BMAX1,BMAX2),MAX(BMAX3,BMAX4));
BMIN1:=MIN(MIN(B1,B2),MIN(B3,B4));
BMIN2:=MIN(MIN(B5,B6),MIN(B7,B8));
BMIN3:=MIN(MIN(B9,B10),MIN(B11,B12));
BMIN4:=MIN(MIN(B13,B14),B15);
BMIN:=MIN(MIN(BMIN1,BMIN2),MIN(BMIN3,BMIN4));
BAX:=ABS(BMAX-(TOWERC+REF(TOWERC,1))/2);
BAN:=ABS(BMIN-(TOWERC+REF(TOWERC,1))/2);
BFIN:=IF(BAX>BAN,BMAX,BMIN);
C1:=BFIN-BMAX=0 AND REF(BFIN,1)-REF(BMIN,1)=0;
C2:=BFIN-BMIN=0 AND REF(BFIN,1)-REF(BMAX,1)=0;
BFINAL:=IF(C1 OR C2,(BMAX+BMIN)/2,BFIN),NODRAW;
HC:TOWERC-REF(TOWERC,1),NODRAW;
KC:HC-REF(HC,1),NODRAW;
绿柱变大:IF(HC<=0 AND KC<=0,BFINAL,DRAWNULL),POINTDOT,colorgreen,LINETHICK3;
绿柱变小:IF(HC<0 AND KC>0,BFINAL,DRAWNULL),POINTDOT,colormagenta,LINETHICK3;
红柱变大:IF(HC>0 AND KC>=0,BFINAL,DRAWNULL),POINTDOT,colorred,LINETHICK3;
红柱变小:IF(HC>0 AND KC<0,BFINAL,DRAWNULL),POINTDOT,colorliblue,LINETHICK3;
/*
SEL:=REF(KC,4)>0 AND REF(KC,3)>0 AND REF(KC,2)<0 AND REF(KC,1)<0 AND KC<0;
BU:=REF(KC,4)<0 AND REF(KC,3)<0 AND REF(KC,2)>0 AND REF(KC,1)>0 AND KC>0;
DRAWTEXT(SEL,MAX(TOWERC,REF(TOWERC,1)),'降'),colorwhite;
DRAWTEXT(BU,MIN(TOWERC,REF(TOWERC,1)),'升'),colorwhite;
*/