如何编写通达信macd主图指标源码

如题所述

第1个回答  2020-09-18

DIF:100*(EMA(CLOSE,12)-EMA(CLOSE,26)),COLORWHITE,LINETHICK1;
DEA:EMA(DIF,9),COLORYELLOW,LINETHICK1;
MACD:(DIF-DEA)*2,COLORSTICK;
STICKLINE(MACD>REF(MACD,1)AND MACD>0,0,MACD,0.2,0),COLORRED;
STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,0.2,0),COLORYELLOW;
STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,0.2,0),COLORBLUE;
STICKLINE(MACD<REF(MACD,1)AND MACD<0,0,MACD,0.2,0),COLORGREEN;
FH1:=REF(MACD,1)<REF(MACD,2) AND REF(MACD,2)<REF(MACD,3) AND REF(MACD,3)<REF(MACD,4);
FH2:=MACD>=0 AND COUNT(MACD>REF(MACD,1),1)=1;
FH3:=FH1 AND FH2 AND EMA(C,13)>REF(EMA(C,13),1);
FH4:=FH1 AND FH2 AND ABS((DIF-DEA)/C)<0.018;
FH5:=FH1 AND FH2 AND MACD<0.10;
二次翻红:=(FH3 OR FH4 OR FH5),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;
YLZC:=IF(CLOSE=INDEXC,(INDEXC+INDEXH+INDEXL+INDEXO)/4,AMOUNT/(VOL+0.01)/100);
W1:=C>REF(C,4);
NT:=BARSLASTCOUNT(W1);
TJ11:=NT=9;
TJ13:=ISLASTBAR AND BETWEEN(NT,5,8);
AY:=(BACKSET(TJ11>0,9) OR BACKSET(TJ13>0,NT))*NT;
DRAWTEXT(AY>0,MACD*1.02,VAR2STR(AY,0)),COLORLIRED;
DRAWTEXT(NT=9,MACD*1.02,'9'),COLORGREEN;
Q1:=C<REF(C,4);
NT0:=BARSLASTCOUNT(Q1);
TJ21:=NT0=9 ;
TJ23:=ISLASTBAR AND BETWEEN(NT0,5,8);
AY1:=(BACKSET(TJ21>0,9) OR BACKSET(TJ23>0,NT0))*NT0;
DRAWTEXT(AY1>0,MACD*0.98,VAR2STR(AY1,0)),COLORGREEN;
DRAWTEXT(NT0=9,MACD*0.98,'9'),COLORRED;
DRAWICON(CROSS(DIF,DEA),DEA,1);
DRAWICON(CROSS(DEA,DIF),DEA,2);
死叉:=CROSS(DEA,DIF);
N1:=BARSLAST(死叉),NODRAW;{最近一次死叉的位置}
N2:=REF(BARSLAST(死叉),N1+1),NODRAW;{倒数第二次死叉与倒数第一次死叉的区间}
N3:=REF(BARSLAST(死叉),N2+N1+2),NODRAW;{倒数第三次死叉与倒数第二次死叉的区间}
CL1:=LLV(C,N1+1),NODRAW;{最近一次死叉后,最低收盘价}
DIFL1:=LLV(DIF,N1+1),NODRAW;
CL2:=REF(CL1,N1+1),NODRAW;{倒数第二次死叉与倒数第一次死叉之间的最低收盘价}
DIFL2:=REF(DIFL1,N1+1),NODRAW;
CL3:=REF(CL2,N1+1),NODRAW;{倒数第三次死叉与倒数第二次死叉之间的最低收盘价}
DIFL3:=REF(DIFL2,N1+1),NODRAW;
PDIFL2:=IF(DIFL2>0,INTPART(LOG(DIFL2))-1,INTPART(LOG(-DIFL2))-1);
MDIFL2:=INTPART(DIFL2/POW(10,PDIFL2));
PDIFL3:=IF(DIFL3>0,INTPART(LOG(DIFL3))-1,INTPART(LOG(-DIFL3))-1);
MDIFL3:=INTPART(DIFL3/POW(10,PDIFL3));
MDIFB2:=INTPART(DIF/POW(10,PDIFL2));
MDIFB3:=INTPART(DIF/POW(10,PDIFL3));
直接底背离:=(CL1<CL2 ) AND (MDIFB2>MDIFL2) AND (MACD<0 AND REF(MACD,1)<0) AND MDIFB2<=REF(MDIFB2,1);
隔峰底背离:=(CL1<CL3 AND CL3<CL2 ) AND (MDIFB3>MDIFL3) AND (MACD<0 AND REF(MACD,1)<0) AND MDIFB3<=REF(MDIFB3,1);
底部钝化:=直接底背离 OR 隔峰底背离,NODRAW;
底背离:=((MDIFB2>REF(MDIFB2,1))*REF(直接底背离,1)) OR ((MDIFB3>REF(MDIFB3,1))*REF(隔峰底背离,1)),NODRAW;
STICKLINE(底部钝化,DIF,DEA,1,0),COLORRED;
DRAWTEXT(TFILTER(底背离,C<REF(CL1,1),1),DIF*0.98,'底部结构形成'),COLORMAGENTA;
金叉:=CROSS(DIF,DEA);
M1:=BARSLAST(金叉),NODRAW;{最近一次金叉的位置}
M2:=REF(BARSLAST(金叉),M1+1),NODRAW;{倒数第二次金叉与倒数第一次金叉的区间}
M3:=REF(BARSLAST(金叉),M2+M1+2),NODRAW;{倒数第三次金叉与倒数第二次金叉的区间}
CH1:=HHV(C,M1+1),NODRAW;{最近一次金叉后,最高收盘价}
DIFH1:=HHV(DIF,M1+1),NODRAW;
CH2:=REF(CH1,M1+1),NODRAW;{倒数第二次金叉与倒数第一次金叉之间的最高收盘价}
DIFH2:=REF(DIFH1,M1+1),NODRAW;
CH3:=REF(CH2,M1+1),NODRAW;{倒数第三次金叉与倒数第二次金叉之间的最高收盘价}
DIFH3:=REF(DIFH2,M1+1),NODRAW;
PDIFH2:=IF(DIFH2>0,INTPART(LOG(DIFH2))-1,INTPART(LOG(-DIFH2))-1);
MDIFH2:=INTPART(DIFH2/POW(10,PDIFH2));
PDIFH3:=IF(DIFH3>0,INTPART(LOG(DIFH3))-1,INTPART(LOG(-DIFH3))-1);
MDIFH3:=INTPART(DIFH3/POW(10,PDIFH3));
MDIFT2:=INTPART(DIF/POW(10,PDIFH2));
MDIFT3:=INTPART(DIF/POW(10,PDIFH3));
直接顶背离:=(CH1>CH2 ) AND (MDIFT2<MDIFH2) AND (MACD>0 AND REF(MACD,1)>0) AND MDIFT2>=REF(MDIFT2,1);
隔峰顶背离:=(CH1>CH3 AND CH3>CH2 ) AND (MDIFT3<MDIFH3) AND (MACD>0 AND REF(MACD,1)>0) AND MDIFT3>=REF(MDIFT3,1);
顶部钝化:=直接顶背离 OR 隔峰顶背离,NODRAW;
顶背离:=((MDIFT2<REF(MDIFT2,1))*REF(直接顶背离,1)) OR ((MDIFT3<REF(MDIFT3,1))*REF(隔峰顶背离,1)),NODRAW;
STICKLINE(顶部钝化,DIF,DEA,1,0),COLORGREEN;
DRAWTEXT(TFILTER(顶背离,C>REF(CH1,1),1),DIF*1.02,'顶部结构形成'),COLORMAGENTA;
DRAWICON(CROSS(DIF,DEA),DEA,36);
DRAWICON(CROSS(DEA,DIF),DEA,37);
MACDDIF:=IF(ABS(MACD)>ABS(DIF),MACD,DIF);
DRAWICON(REF(DIF,1)>REF(DIF,2) AND DIF<REF(DIF,1) AND DIF>0 AND DIF>DEA,MACDDIF*1.1,39),COLORGREEN;
DRAWICON(REF(DIF,1)<REF(DIF,2) AND DIF>REF(DIF,1) AND DIF<0 AND DIF<DEA,MACDDIF*1.1,38),COLORRED;
启动点:=MACD<0 AND MACD>REF(MACD ,1) AND REF(MACD ,1)<REF(MACD ,2)
AND REF(MACD ,2)<REF(MACD ,3)
AND REF(MACD ,3)<REF(MACD ,4);
DRAWTEXT(启动点,MACD-0.1,'↑启动点'),COLORFF33FF;
GC:=IF(DIF>DEA,DIF,DRAWNULL)COLOR0099FF;
A1:=BARSLAST(REF(CROSS('MACD.DIF','MACD.DEA'),1));
B1:=REF(C,A1+1)>C AND REF('MACD.DIF',A1+1)<'MACD.DIF' AND CROSS('MACD.DIF','MACD.DEA');
DRAWICON(B1>0,LLV(DIF,60)*0.84,1);
DRAWTEXT(B1>0,LLV(DIF,60)*0.85,'MACD底背离'),COLOR9900FF;{MACD底背离}
MACD底背离:=B1>0 AND LLV(DIF,60)*0.85;
C1:=BARSLAST(REF(CROSS("MACD.DEA","MACD.DIF"),1));
D1:=REF(C,C1+1)<C AND REF("MACD.DIF",C1+1)>"MACD.DIF" AND CROSS("MACD.DEA","MACD.DIF");
DRAWICON(D1>0,HHV(DIF,60)*0.84,2);
DRAWTEXT(D1>0,HHV(DIF,60)*0.85,'M顶背离'),COLOR00FF00;{MACD顶背离}
A2:=BARSLAST(REF(CROSS("KDJ.K","KDJ.D"),1));
B2:=REF(C,A2+1)> C AND REF("KDJ.K",A2+1)<"KDJ.K" AND CROSS("KDJ.K","KDJ.D") {AND "KDJ.J"<30};
DRAWICON(B2>0,LLV(DIF,60)*0.59,1);
DRAWTEXT(B2>0,LLV(DIF,60)*0.60,'K底背'),COLORFF33FF;{KDJ底背离}
K底背:=B2>0 AND LLV(DIF,60)*0.60;
C2:=BARSLAST(REF(CROSS("KDJ.D","KDJ.K"),1));
D2:=REF(C,C2+1)<C AND REF("KDJ.K",C2+1)> "KDJ.K" AND CROSS("KDJ.D","KDJ.K") {AND "KDJ.J">70};
DRAWICON(D2>0,HHV(DIF,60)*0.59,2);
DRAWTEXT(D2>0,HHV(DIF,60)*0.60,'K顶背'),COLORFFFF99;{KDJ顶背离}
A3:=BARSLAST(REF(CROSS("RSI.RSI1","RSI.RSI2"),1));
B3:=REF(C,A3+1)> C AND REF("RSI.RSI1",A3+1)<"RSI.RSI1" AND CROSS("RSI.RSI1","RSI.RSI2") {AND "RSI.RSI1"<40};
DRAWICON(B3>0,LLV(DIF,60)*0.34,1);
DRAWTEXT(B3>0,LLV(DIF,60)*0.35,'RSI底背'),COLOR00FFFF;{RSI底背离}
RSI底背:=B3>0 AND LLV(DIF,60)*0.35;
C3:=BARSLAST(REF(CROSS("RSI.RSI2","RSI.RSI1"),1));
D3:=REF(C,C3+1)<C AND REF("RSI.RSI1",C3+1)> "RSI.RSI1" AND CROSS("RSI.RSI2","RSI.RSI1") {AND "RSI.RSI1">60};
DRAWICON(D3>0,HHV(DIF,60)*0.34,2);
DRAWTEXT(D3>0,HHV(DIF,60)*0.35,'RSI顶背'),COLORFFCC99;{RSI顶背离}
JC:=DEA-DIF;
绿柱:=IF(MACD<0,SUM(MACD,BARSLAST(JC<0)),0);
红柱:=IF(MACD>0,SUM(MACD,BARSLAST(JC>0)),0);
本次最低价:=LLV(L,BARSLAST(JC<0));
本次最高价:=HHV(H,BARSLAST(JC>0));
X1:=IF (MACD<0,BARSLAST(CROSS(DIF,DEA)),0);
前次绿柱:=REF(绿柱,X1+1);
前次最低价:=REF(本次最低价,X1+1);
Y1:=IF((绿柱<0 AND ABS(绿柱)<ABS(前次绿柱)
AND 本次最低价<前次最低价),1,0);
RS1:= MACD<0 AND REF(MACD,1)<0 AND C<前次最低价
AND ABS(绿柱)<ABS(前次绿柱) AND ABS(MACD)<ABS(REF(MACD,1));
底背驰:=IF (CROSS(DIF,DEA),REF(Y1,1),0);
DRAWICON(底背驰,LLV(DIF,60)*0.1,1);
DRAWTEXT(底背驰,LLV(DIF,60)*0.1,'↑柱底背离'),COLOR00CCFF;{柱底背离}
X2:=IF(MACD>0,BARSLAST(CROSS(DEA,DIF)),0);

指标编写看我头像

前次红柱:=REF(红柱,X2+1);
前次最高价:=REF(本次最高价,X2+1);
Y2:=IF((红柱>0 AND 红柱<前次红柱 AND 本次最高价>前次最高价),1,0);
RS2:=MACD>0 AND REF(MACD,1)>0 AND C>前次最高价 AND ABS(红柱)<ABS(前次红柱) AND ABS(MACD)<ABS(REF(MACD,1));
顶背驰:=IF(CROSS(DEA,DIF),REF(Y2,1),0);
DRAWICON(顶背驰,HHV(DIF,60)*0.1,2);
DRAWTEXT(顶背驰,HHV(DIF,60)*0.1,'↓柱'),COLORFFCCCC;{柱顶背离};

第2个回答  2020-08-16

这需要你说明以下,你是想直接把macd这个指标显示在主图上,还是要把这个macd副图指标改成主图指标,这是完全不一样的,下面有两张图,全部都是主图显示macd指标

第3个回答  2017-03-16
DIF:EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:EMA(DIF,9);
MACD:(DIF-DEA)*2,COLORSTICK;本回答被提问者采纳
第4个回答  2017-03-14
单击macd,然后进行编辑就可以了

通达信macd指标源码
通达信macd指标源码是:DIF:=EMA(CLOSE,12)-EMA(CLOSE,26);DEA:=EMA(DIF,9);MACD:=(DIF-DEA)*2;T1:=COUNT(DEA0,20)=20;T2:=T1=1MACD0;XG:T2=1REF(T2,1)=0。要说macd指标怎么看?MACD指标中白线(DIFF)从下方往上穿过黄线(DEA)时,是一种买入的信号,即金...

求教大神一个简单的通达信指标公式的编写
可以编写通达信只显示最近的金叉和死叉,效果入下图。

如何编写通达信macd主图指标源码
DIF:100*(EMA(CLOSE,12)-EMA(CLOSE,26)),COLORWHITE,LINETHICK1;DEA:EMA(DIF,9),COLORYELLOW,LINETHICK1;MACD:(DIF-DEA)*2,COLORSTICK;STICKLINE(MACD>REF(MACD,1)AND MACD>0,0,MACD,0.2,0),COLORRED;STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,0.2,0),COLORYELLOW;STICKLINE(MACD>R...

请高手帮忙写个通达信MACD在零轴之上形成金叉的选股公式,万分感谢...
DIF:=EMA(CLOSE,12)-EMA(CLOSE,26); DEA:=EMA(DIF,9); MACD:=(DIF-DEA)*2; 距离范围:=RANGE(DEA,-0.2,0.2); {调整值:-0.2,0.2,扩大或缩小范围} XG:CROSS(DIF,DEA) AND 距离范围; DIF:=EMA(CLOSE,12)-EMA(CLOSE,26) DEA:=EMA(DIF,9);MACD:=(DIF-DEA)*2...

通达信周期共振MACD指标公式源码副图
在技术分析中,通达信周期共振MACD指标是一个强大的工具,通过结合不同周期的快慢线和信号线,帮助投资者捕捉买卖时机。以下是指标的核心公式和副图的源码解读:<\/ DIFM:<\/ Ema(C,240)- EMA(C,520),这是月线周期的DIF(快速移动平均线与慢速移动平均线之差),它用绿色显示,表示长期趋势的潜在变化...

通达信指标公式编写教程[完整版]
1.DIF:=EMA(CLOSE,12)-EMA(CLOSE,26);DEA:=EMA(DIF,9);MACD:=(DIF-DEA)*2;AA:=CROSS(DIF,DEA)AND DEA>O;BB:=BARSLAST(CROSS(DEA,DIF)) AND DEA>0;CC:=REF(BARSLAST(CROSS(DIF,O))2.A7:=C-REF(C,1);A8.=100*EMA(EMA(A7,6),6)\/EMA(EMA(ABS(A7),6),6);SHORT...

通达信公式问题: macd dif dea 定值的话,怎么编写公式?
回答:要在“时间段内满足条件”前打勾,同时确定好选股时间在13年9月10日的范围内; 就是(13年9月10日这天的MACD=0.88; DIF=1.37;DEA=0.94)这里是数据只是四舍五入的结果,如果按1的方法还选不出,问题就出在2上。可把: N1:=MACD=0.88;N2:=DIF=1.37;N3:=DEA=0.94; 改成: N1:=MACD<0.885...

通达信macd指标公式
macd指标公式 OBV:=MA(SUM(IF(CLOSE>REF(CLOSE,,1),VOL,IF(CLOSE<REF(CLOSE,1),-VOL,0))\/25000,0),1);OBVE:=EMA(OBV,3);DIFF:EMA(OBVE,12)-EMA(OBVE,26),LINETHICK2;BBDIFF:=DIFF-REF(DIFF,1);DEA:EMA(DIFF,9),LINETHICK2;BBDEA:=DEA...

求高手编写一个通达信MACD指标公式,要把每一小段的面积用数字表示出来...
送你个自写的缠中说禅的macd指标 我编制的通达信公式是这样的:参数:short 默认是12,范围你自己定(下同)long默认是26;mid默认是9;K默认是0,范围0-1,0是显示均线面积,1是显示macd面积 MA1:=MA(CLOSE,5);MA2:=MA(CLOSE,10);DIF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);DEA:=EMA(DIF,...

跪求 根据MACD金叉死叉 主图K线自动划连接线 函数 通达信
可以编写macd金叉死叉在主图k线自动划线连线,在通达信使用,效果如下图.

相似回答