当前的形势下,想要红包比较困难,一不小心讨红包就变成派红包了,无事继续研究指标。指标本事没有什么精典,主要是一个思路的实现,请先看图不喜勿下。这个思路可以实现任意指标之间的叠加,省的用那么多的副图。
经过一周的研究,终于解决了不同大小指标线之间的叠加。现将经典指标kdj和macd合并到一个副图中,左侧依次为月kdj 周kdj 日kjd .
如果你不想显示某个周期或者修改显示开始位置和显示周期长短,请自己打开公式修改p1-p4 q1-q4这些参数即可。灰色虚线为100和0的坐标线。
由于叠加周期较多,有可能较慢,可以自己精减不需要的周期,或者使用2个副图分别显示kjd 和macd 参考我早前编写的公式
源码
ZQ:=CURRBARSCOUNT<39;{设置日MACD显示周期数为最后39天}
{需要修改参数的,请自行修改:以下参数中P为显示开始位置(倒数第P根K线),Q为显示周期数}
P:=41;{设定从倒数第41根K线开始显示周MACD}Q:=30;{设定周MACD显示周期数为30周}
P1:=75;Q1:=15;{设定月MACD显示位置}
P3:=145;Q3:=20;{设定月KDJ显示位置}
P2:=122;Q2:=20;{设定周KDJ显示位置}
P4:=100;Q4:=20;{设定日KDJ显示位置}
YDIF:=MACD.DIF#MONTH;YDEA:=MACD.DEA#MONTH;ZDIF:=MACD.DIF#WEEK;ZDEA:=MACD.DEA#WEEK;
KX1:=CURRBARSCOUNT;
N1:=KX1;
K6:=AA.DT1#WEEK;
K7:=K6>REF(K6,1);
K8:=SUM(K7,0);
K9:=CONST(K8)-K8;
ZH:=ISLASTBAR;
SU:=IF(ZH,0,SUMBARS(K7,N1-K9)-1);
Z1:=REF(ZDIF,SU);Z2:=REF(ZDEA,SU);
Z11:=REFX(Z1,P);Z22:=REFX(Z2,P);
W2:=KX1
周DIF:IF(W2,Z11,DRAWNULL),COLORMAGENTA;
周DEA:IF(W2,Z22,DRAWNULL),COLOR0080FF,LINETHICK1;
周MACD:IF(W2,(Z11-Z22)*2,DRAWNULL),COLORSTICK;
KK6:=AA.DT1#MONTH;
KK7:=KK6>REF(KK6,1);
KK8:=SUM(KK7,0);
KK9:=CONST(KK8)-KK8;
SU1:=IF(ZH,0,SUMBARS(KK7,KX1-KK9)-1);
Y1:=REF(YDIF,SU1);Y2:=REF(YDEA,SU1);
Y11:=REFX(Y1,P1);Y22:=REFX(Y2,P1);
W22:=KX1
月DEA:IF(W22,Y22,DRAWNULL),COLORRED,LINETHICK1;
月MACD:IF(W22,(Y11-Y22)*2,DRAWNULL),COLORSTICK;
DI:=EMA(CLOSE,12)-EMA(CLOSE,26);
DIF:IF(ZQ,DI,DRAWNULL), COLORWHITE;
DEA:IF(ZQ,EMA(DIF,9),DRAWNULL), COLORYELLOW;
MACD:IF(ZQ,2*(DIF-DEA),DRAWNULL), COLORSTICK;
DRAWTEXT(KX1=P+Q-2,DI,'周');
DRAWTEXT(KX1=P1+Q1-2,DI,'月');
ZK:=KDJ.K#WEEK;ZD:=KDJ.D#WEEK;ZJ:=KDJ.J#WEEK;
YK:=KDJ.K#MONTH;YD:=KDJ.D#MONTH;YJ:=KDJ.J#MONTH;
ZK1:=REF(ZK,SU);ZK2:=REF(ZD,SU);ZK3:=REF(ZJ,SU);
ZK11:=REFX(ZK1,P2);ZK22:=REFX(ZK2,P2);ZK33:=REFX(ZK3,P2);
WZ2:=KX1
LA:=LLV(ZDIF-ZDEA,P3);
HLC:=(HA-LA);HLS:=HA+LA;
B:=HLC/100;
Y:=(HLS-100*B)/2;
ZKJ:=ZK33*CONST(B)+CONST(Y);
ZKD:=ZK22*CONST(B)+CONST(Y);
ZKK:=ZK11*CONST(B)+CONST(Y);
IF(WZ2,ZKK,DRAWNULL),COLORWHITE;
IF(WZ2,ZKD,DRAWNULL),COLORYELLOW;
IF(WZ2,ZKJ,DRAWNULL),COLORRED;
YK1:=REF(YK,SU1);YK2:=REF(YD,SU1);YK3:=REF(YJ,SU1);
YK11:=REFX(YK1,P3);YK22:=REFX(YK2,P3);YK33:=REFX(YK3,P3);
WY22:=KX1
YKD:=YK22*CONST(B)+CONST(Y);
YKK:=YK11*CONST(B)+CONST(Y);
月K:IF(WY22,YKK,DRAWNULL),COLORWHITE;
月D:IF(WY22,YKD,DRAWNULL),COLORYELLOW,LINETHICK1;
月J:IF(WY22,YKJ,DRAWNULL),COLORRED;
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
J:=3*K-2*D;
J1:=REFX(J,P4)*CONST(B)+CONST(Y);
D1:=REFX(D,P4)*CONST(B)+CONST(Y);
K1:=REFX(K,P4)*CONST(B)+CONST(Y);
Y222:=KX1
DDD:IF(Y222,D1,DRAWNULL),COLORYELLOW,LINETHICK1;
JJJ:IF(Y222,K1,DRAWNULL),COLORWHITE;
Y2222:=KX1
百:IF(Y2222,100*CONST(B)+CONST(Y),DRAWNULL),COLORGRAY,DOTLINE;
零:IF(Y2222,CONST(Y),DRAWNULL),COLORGRAY,DOTLINE;