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隔峰底背离

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。