macd是我们经常用到的指标,特别是它们在周线下的形态我们会特别关注,因此免不了经常在日周两个周期内切换。本指标免去了这种切换的麻烦,同时又不像有些周线指标日显时需要不断缩小才能窥见全貌。
相关简介: 通达信特色MACD指标公式
授权方式:免费版
指标评级:★★★★★
指标分类:策略
画线方法:副图/主图
未来函数检测结果:
暂未发现存在未来函数
通达信特色MACD指标公式源码:
input:N1(13,1,1000,1),N2(34,1,1000,1),N3(144,1,1000,1);
OBV:SUM(IF(ISUP,VOL,IF(ISDOWN,-VOL,0)),0),layer1;
{Q6:=ATAN((ma5/REF(ma5,1)-1)*100)*180/3.1416;}
MAOBV1:MA(OBV,N1),layer1;
MAOBV2:MA(OBV,N2),layer1;
DIF:EMA(CLOSE,12)-EMA(CLOSE,26);DEA:EMA(DIF,9);MACD:(DIF-DEA)*2COLORSTICK;TJ:=MACD>0;T:=MACD<0;A:=LLV(MACD,50)=MACD;DRAWICON(AANDFILTERX(A,20),MACD,1);DRAWTEXT(BARSLAST(TJ)=1,MACD,'1'),COLORYELLOW;DRAWTEXT(BARSLAST(TJ)=2,MACD,'2'),COLORYELLOW;DRAWTEXT(BARSLAST(TJ)=3,MACD,'3'),COLORYELLOW;DRAWTEXT(BARSLAST(TJ)=5,MACD,'5'),COLORYELLOW;DRAWTEXT(BARSLAST(TJ)=8,MACD,'8'),COLORYELLOW;DRAWTEXT(BARSLAST(TJ)=13,MACD,'13'),COLORYELLOW;DRAWTEXT(BARSLAST(TJ)=21,MACD,'21'),COLORYELLOW;DRAWTEXT(BARSLAST(TJ)=34,MACD,'34'),COLORYELLOW;DRAWTEXT(BARSLAST(TJ)=55,MACD,'55'),COLORYELLOW;DRAWTEXT(BARSLAST(T)=1,MACD,'1'),COLORGREEN;DRAWTEXT(BARSLAST(T)=2,MACD,'2'),COLORGREEN;DRAWTEXT(BARSLAST(T)=3,MACD,'3'),COLORGREEN;DRAWTEXT(BARSLAST(T)=5,MACD,'5'),COLORGREEN;DRAWTEXT(BARSLAST(T)=8,MACD,'8'),COLORGREEN;DRAWTEXT(BARSLAST(T)=13,MACD,'13'),COLORGREEN;DRAWTEXT(BARSLAST(T)=21,MACD,'21'),COLORGREEN;DRAWTEXT(BARSLAST(T)=34,MACD,'34'),COLORGREEN;DRAWTEXT(BARSLAST(T)=55,MACD,'55'),COLORGREEN;
新高:OBV=HHV(OBV,N3),LINETHICK0;
新高1:OBV=HHV(OBV,N2),LINETHICK0;
新高2:OBV=HHV(OBV,N1),LINETHICK0;
FILLRGN(OBV,MAOBV1,
OBV>MAOBV1and(NOT(新高)andNOT(新高1)andNOT(新高2)),RGB(88,0,0),
OBV>MAOBV1and(NOT(新高)andNOT(新高1)and新高2),RGB(88,88,88),
OBV>MAOBV1and(NOT(新高)and新高1),RGB(255,88,0),
OBV>MAOBV1and(新高),RGB(255,0,0),
OBV<MAOBV1,RGB(0,255,0)),layer2;
DIF:=100*(EMA(CLOSE,12)-EMA(CLOSE,26));DEA:=EMA(DIF,9);死叉:=CROSS(DEA,DIF);N1:=BARSLAST(死叉);{最近一次死叉的位置}N2:=REF(BARSLAST(死叉),N1+1);{倒数第二次死叉与倒数第一次死叉的区间}N3:=REF(BARSLAST(死叉),N2+N1+2);{倒数第三次死叉与倒数第二次死叉的区间}CL1:=LLV(C,N1+1);{最近一次死叉后,最低收盘价}DIFL1:=LLV(DIF,N1+1);CL2:=REF(CL1,N1+1);{倒数第二次死叉与倒数第一次死叉之间的最低收盘价}DIFL2:=REF(DIFL1,N1+1);CL3:=REF(CL2,N1+1);{倒数第三次死叉与倒数第二次死叉之间的最低收盘价}DIFL3:=REF(DIFL2,N1+1);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<0ANDREF(macd,1)<0)ANDMDIFB2<=REF(MDIFB2,1);隔峰底背离:=(CL1<CL3ANDCL3<CL2)AND(MDIFB3>MDIFL3)AND(MACD<0ANDREF(MACD,1)<0)ANDMDIFB3<=REF(MDIFB3,1);底部钝化:直接底背离OR隔峰底背离;
通达信特色MACD指标公式源码注释翻译结果
输出INPUT:N1(13,1,1000,1),N2(34,1,1000,1),N3(144,1,1000,1)
输出OBV:如果ISUP,返回成交量(手),否则返回如果ISDOWN,返回-成交量(手),否则返回0的历史累和,LAYER1
输出MAOBV1:OBV的N1日简单移动平均,LAYER1
输出MAOBV2:OBV的N2日简单移动平均,LAYER1
输出DIF:收盘价的12日指数移动平均-收盘价的26日指数移动平均
输出DEA:DIF的9日指数移动平均
输出平滑异同平均线:(DIF-DEA)*2COLORSTICK
TJ赋值:MACD>
0
T赋值:MACD<
0
A赋值:50日内MACD的最低值=MACD
当满足条件AANDFILTERX(A,20)时,在MACD位置画1号图标
当满足条件上次TJ距今天数=1时,在MACD位置书写文字
1'
),画黄色
当满足条件上次TJ距今天数=2时,在MACD位置书写文字
2'
),画黄色
当满足条件上次TJ距今天数=3时,在MACD位置书写文字
3'
),画黄色
当满足条件上次TJ距今天数=5时,在MACD位置书写文字
5'
),画黄色
当满足条件上次TJ距今天数=8时,在MACD位置书写文字
8'
),画黄色
当满足条件上次TJ距今天数=13时,在MACD位置书写文字
13'
),画黄色
当满足条件上次TJ距今天数=21时,在MACD位置书写文字
21'
),画黄色
当满足条件上次TJ距今天数=34时,在MACD位置书写文字
34'
),画黄色
当满足条件上次TJ距今天数=55时,在MACD位置书写文字
55'
),画黄色
当满足条件上次T距今天数=1时,在MACD位置书写文字
1'
),画绿色
当满足条件上次T距今天数=2时,在MACD位置书写文字
2'
),画绿色
当满足条件上次T距今天数=3时,在MACD位置书写文字
3'
),画绿色
当满足条件上次T距今天数=5时,在MACD位置书写文字
5'
),画绿色
当满足条件上次T距今天数=8时,在MACD位置书写文字
8'
),画绿色
当满足条件上次T距今天数=13时,在MACD位置书写文字
13'
),画绿色
当满足条件上次T距今天数=21时,在MACD位置书写文字
21'
),画绿色
当满足条件上次T距今天数=34时,在MACD位置书写文字
34'
),画绿色
当满足条件上次T距今天数=55时,在MACD位置书写文字
55'
),画绿色
输出新高:OBV=N3日内OBV的最高值,线宽为0
输出新高1:OBV=N2日内OBV的最高值,线宽为0
输出新高2:OBV=N1日内OBV的最高值,线宽为0
FILLRGN(OBV,MAOBV1,OBV>
MAOBV1AND(取反ANDNOT(新高1)ANDNOT(新高2)),自定色,OBV>
MAOBV1AND(取反ANDNOT(新高1)AND新高2),自定色,OBV>
MAOBV1AND(取反AND新高1),自定色,OBV>
MAOBV1AND(新高),自定色,OBV<
MAOBV1,自定色),LAYER2
DIF赋值:100*(收盘价的12日指数移动平均-收盘价的26日指数移动平均)
DEA赋值:DIF的9日指数移动平均
死叉赋值:DEA上穿DIF
N1赋值:上次死叉距今天数
N2赋值:N1+1日前的上次死叉距今天数
N3赋值:N2+N1+2日前的上次死叉距今天数
CL1赋值:N1+1日内收盘价的最低值
DIFL1赋值:N1+1日内DIF的最低值
CL2赋值:N1+1日前的CL1
DIFL2赋值:N1+1日前的DIFL1
CL3赋值:N1+1日前的CL2
DIFL3赋值:N1+1日前的DIFL2
PDIFL2赋值:如果DIFL2>,返回?,否则返回?
0,DIFL2的对数的整数部分-1,-DIFL2的对数的整数部分-1)
MDIFL2赋值:DIFL2/10的PDIFL2乘幂的整数部分
PDIFL3赋值:如果DIFL3>,返回?,否则返回?
0,DIFL3的对数的整数部分-1,-DIFL3的对数的整数部分-1)
MDIFL3赋值:DIFL3/10的PDIFL3乘幂的整数部分
MDIFB2赋值:DIF/10的PDIFL2乘幂的整数部分
MDIFB3赋值:DIF/10的PDIFL3乘幂的整数部分
直接底背离赋值:(CL1<
CL2)AND(MDIFB2>
MDIFL2)AND(MACD<
0ANDREF(MACD,1)<
0)ANDMDIFB2<
=1日前的MDIFB2
隔峰底背离赋值:(CL1<
CL3ANDCL3<
CL2)AND(MDIFB3>
MDIFL3)AND(MACD<
0ANDREF(MACD,1)<
0)ANDMDIFB3<
=1日前的MDIFB3
输出底部钝化:直接底背离OR隔峰底背离
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)