通达信三周期KDJ+MACD副图指标 绝对让你感觉不一样

 

当前的形势下,想要红包比较困难,一不小心讨红包就变成派红包了,无事继续研究指标。指标本事没有什么精典,主要是一个思路的实现,请先看图不喜勿下。这个思路可以实现任意指标之间的叠加,省的用那么多的副图。
 经过一周的研究,终于解决了不同大小指标线之间的叠加。现将经典指标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<P+Q;
周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<P1+Q1;
月DIF:IF(W22,Y11,DRAWNULL),COLORGREEN;
月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<P2+Q2;
HA:=HHV(ZDIF,P3);
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<P3+Q3;
YKJ:=YK33*CONST(B)+CONST(Y);
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<P4+Q4;
KKK:IF(Y222,J1,DRAWNULL),COLORRED;
DDD:IF(Y222,D1,DRAWNULL),COLORYELLOW,LINETHICK1;
JJJ:IF(Y222,K1,DRAWNULL),COLORWHITE;
Y2222:=KX1<P3+Q3 AND KX1>P4;
百:IF(Y2222,100*CONST(B)+CONST(Y),DRAWNULL),COLORGRAY,DOTLINE;
零:IF(Y2222,CONST(Y),DRAWNULL),COLORGRAY,DOTLINE;

 




来函数检测结果如下
该公式包含未来函数:#MONTH
该公式包含未来函数:#WEEK
该公式包含未来函数:REFX

解密、定制、编写公式指标请联系QQ或微信同号:88652583
置顶指标

相关指标公式

墓皆绰隯Q赋值:到最后交易的周期<39
P赋值:41
Q赋值:30
P1赋值:75
Q1赋值:15
P3赋值:145
Q3赋值:20
P2赋值:122
Q2赋值:20
P4赋值:100
Q4赋值:20
YDIF赋值:平滑异同平均线的DIF[取月线数据]
YDEA赋值:平滑异同平均线的DEA[取月线数据]
ZDIF赋值:平滑异同平均线的DIF[取周线数据]
ZDEA赋值:平滑异同平均线的DEA[取周线数据]
KX1赋值:到最后交易的周期
N1赋值:KX1
K6赋值:AA.DT1[取周线数据]
K7赋值:K6>1日前的K6
K8赋值:K7的历史累和
K9赋值:K8的最后一日取值设为常数-K8
ZH赋值:是否最后一个周期
SU赋值:如果ZH,返回0,否则返回K7累加至N1-K9的天数-1
Z1赋值:SU日前的ZDIF
Z2赋值:SU日前的ZDEA
Z11赋值:P日后的Z1
Z22赋值:P日后的Z2
W2赋值:KX1输出周DIF:如果W2,返回Z11,否则返回无效数,画洋红色
输出周DEA:如果W2,返回Z22,否则返回无效数,COLOR0080FF,线宽为1
输出周MACD:如果W2,返回(Z11-Z22)*2,否则返回无效数,COLORSTICK
KK6赋值:AA.DT1[取月线数据]
KK7赋值:KK6>1日前的KK6
KK8赋值:KK7的历史累和
KK9赋值:KK8的最后一日取值设为常数-KK8
SU1赋值:如果ZH,返回0,否则返回KK7累加至KX1-KK9的天数-1
Y1赋值:SU1日前的YDIF
Y2赋值:SU1日前的YDEA
Y11赋值:P1日后的Y1
Y22赋值:P1日后的Y2
W22赋值:KX1输出月DIF:如果W22,返回Y11,否则返回无效数,画绿色
输出月DEA:如果W22,返回Y22,否则返回无效数,画红色,线宽为1
输出月MACD:如果W22,返回(Y11-Y22)*2,否则返回无效数,COLORSTICK
DI赋值:收盘价的12日指数移动平均-收盘价的26日指数移动平均
输出 DIF:如果ZQ,返回DI,否则返回无效数, 画白色
输出 DEA:如果ZQ,返回DIF的9日指数移动平均,否则返回无效数, 画黄色
输出 平滑异同平均线:如果ZQ,返回2*(DIF-DEA),否则返回无效数, COLORSTICK
当满足条件KX1=P+Q-2时,在DI位置书写文字
当满足条件KX1=P1+Q1-2时,在DI位置书写文字
ZK赋值:KDJ的K[取周线数据]
ZD赋值:KDJ的D[取周线数据]
ZJ赋值:KDJ的J[取周线数据]
YK赋值:KDJ的K[取月线数据]
YD赋值:KDJ的D[取月线数据]
YJ赋值:KDJ的J[取月线数据]
ZK1赋值:SU日前的ZK
ZK2赋值:SU日前的ZD
ZK3赋值:SU日前的ZJ
ZK11赋值:P2日后的ZK1
ZK22赋值:P2日后的ZK2
ZK33赋值:P2日后的ZK3
WZ2赋值:KX1HA赋值:P3日内ZDIF的最高值
LA赋值:P3日内ZDIF-ZDEA的最低值
HLC赋值:(HA-LA)
HLS赋值:HA+LA
B赋值:HLC/100
Y赋值:(HLS-100*B)/2
ZKJ赋值:ZK33*B的最后一日取值设为常数+Y的最后一日取值设为常数
ZKD赋值:ZK22*B的最后一日取值设为常数+Y的最后一日取值设为常数
ZKK赋值:ZK11*B的最后一日取值设为常数+Y的最后一日取值设为常数
如果WZ2,返回ZKK,否则返回无效数,画白色
如果WZ2,返回ZKD,否则返回无效数,画黄色
如果WZ2,返回ZKJ,否则返回无效数,画红色
YK1赋值:SU1日前的YK
YK2赋值:SU1日前的YD
YK3赋值:SU1日前的YJ
YK11赋值:P3日后的YK1
YK22赋值:P3日后的YK2
YK33赋值:P3日后的YK3
WY22赋值:KX1YKJ赋值:YK33*B的最后一日取值设为常数+Y的最后一日取值设为常数
YKD赋值:YK22*B的最后一日取值设为常数+Y的最后一日取值设为常数
YKK赋值:YK11*B的最后一日取值设为常数+Y的最后一日取值设为常数
输出月K:如果WY22,返回YKK,否则返回无效数,画白色
输出月D:如果WY22,返回YKD,否则返回无效数,画黄色,线宽为1
输出月J:如果WY22,返回YKJ,否则返回无效数,画红色
RSV赋值:(收盘价-9日内最低价的最低值)/(9日内最高价的最高值-9日内最低价的最低值)*100
K赋值:RSV的3日[1日权重]移动平均
D赋值:K的3日[1日权重]移动平均
J赋值:3*K-2*D
J1赋值:P4日后的J*B的最后一日取值设为常数+Y的最后一日取值设为常数
D1赋值:P4日后的D*B的最后一日取值设为常数+Y的最后一日取值设为常数
K1赋值:P4日后的K*B的最后一日取值设为常数+Y的最后一日取值设为常数
Y222赋值:KX1输出KKK:如果Y222,返回J1,否则返回无效数,画红色
输出DDD:如果Y222,返回D1,否则返回无效数,画黄色,线宽为1
输出JJJ:如果Y222,返回K1,否则返回无效数,画白色
Y2222赋值:KX1P4
输出百:如果Y2222,返回100*B的最后一日取值设为常数+Y的最后一日取值设为常数,否则返回无效数,画深灰色,DOTLINE
输出零:如果Y2222,返回Y的最后一日取值设为常数,否则返回无效数,画深灰色,DOTLINE

指标安装下载帮助  |   联系我们  |  乐淘公式网  |  公式网   |  指标公式  |   加入收藏   |  设为主页

@2005-2025 浙ICP备2024071487号-1 乐淘公式网公式网均来源互联网收集整理,如不慎侵犯了你的权益,请联系我们告知,我们将做删除处理
免责声明:乐淘公式网所有指标公式及文章由网络收集,不保障实时性和真实性, 仅供学习研究并不构成投资建议,请勿以此为依据进行股票交易,由此引起的投资亏损与本站无关。
QQ:88652583 微信 88652583
sitemap站点地图