神奇指标网

通达信MACD改良版指标公式

浏览 396次浏览
标签: macd 通达信
来源:神奇指标网 编辑:神奇指标网 发布日期:2023-06-15

  



相关简介:   通达信macd改良版指标公式                              


     通达信MACD改良版指标公式源码概况:


  指标类别:通达信指标公式


  授权方式:免费版


  指标评级:★★★★★


  指标分类:策略


  画线方法:副图



{使用说明:买点:出现黄柱底部信号;出现金叉共振信号;稳健的可以选择白线拐头向上,或上穿橘色线之后出现的信号(周金叉)。卖点:出现蓝色方块走势标识,不要等下穿,下穿太滞后。有2个未来函数,沙盘推演信号不会消失漂移。}


通达信MACD改良版指标公式源码:



    SHORT:=12;
    LONG:=26;
    MID:=9;
    DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
    DEA:EMA(DIF,MID);
    MACD:(DIF-DEA)*2,COLORSTICK;
    IF(DIF>DEA,DIF,DRAWNULL)COLOR0099FF;
    {0,COLORWHITE,DOTLINE;}
    A1:=BARSLAST(REF(CROSS("MACD.DIF","MACD.DEA"),1));
    B1:=REF(C,A1+1)>CANDREF("MACD.DIF",A1+1)<"MACD.DIF"ANDCROSS("MACD.DIF","MACD.DEA");
    DRAWICON(B1>0,LLV(DIF,60)*0.84,1);
    DRAWTEXT(B1>0,LLV(DIF,60)*0.85,'..MACD'),COLOR9900FF;{MACD底背离}
    C1:=BARSLAST(REF(CROSS("MACD.DEA","MACD.DIF"),1));
    D1:=REF(C,C1+1)<CANDREF("MACD.DIF",C1+1)>"MACD.DIF"ANDCROSS("MACD.DEA","MACD.DIF");
    DRAWICON(D1>0,HHV(DIF,60)*0.84,2);
    DRAWTEXT(D1>0,HHV(DIF,60)*0.85,'..MACD'),COLORFFCC00;{MACD顶背离}
    A2:=BARSLAST(REF(CROSS("KDJ.K","KDJ.D"),1));
    B2:=REF(C,A2+1)>CANDREF("KDJ.K",A2+1)<"KDJ.K"ANDCROSS("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,'..KDJ'),COLORFF33FF;{KDJ底背离}
    C2:=BARSLAST(REF(CROSS("KDJ.D","KDJ.K"),1));
    D2:=REF(C,C2+1)<CANDREF("KDJ.K",C2+1)>"KDJ.K"ANDCROSS("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,'..KDJ'),COLORFFFF99;{KDJ顶背离}
    A3:=BARSLAST(REF(CROSS("RSI.RSI1","RSI.RSI2"),1));
    B3:=REF(C,A3+1)>CANDREF("RSI.RSI1",A3+1)<"RSI.RSI1"ANDCROSS("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'),COLOR6699FF;{RSI底背离}
    C3:=BARSLAST(REF(CROSS("RSI.RSI2","RSI.RSI1"),1));
    D3:=REF(C,C3+1)<CANDREF("RSI.RSI1",C3+1)>"RSI.RSI1"ANDCROSS("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((绿柱<0ANDABS(绿柱)<ABS(前次绿柱)
    AND本次最低价<前次最低价),1,0);
    RS1:=MACD<0ANDREF(MACD,1)<0ANDC<前次最低价
    ANDABS(绿柱)<ABS(前次绿柱)ANDABS(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((红柱>0AND红柱<前次红柱AND本次最高价>前次最高价),1,0);
    RS2:=MACD>0ANDREF(MACD,1)>0ANDC>前次最高价ANDABS(红柱)<ABS(前次红柱)ANDABS(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;{柱顶背离}
    {以下是可能出现的变盘点,关注}
    STICKLINE(COUNT(DIF>DEA,BARSLAST(CROSS(DIF,DEA))+1)=7,0,MACD,0.5,0),COLORFF6666;
    STICKLINE(COUNT(DIF>DEA,BARSLAST(CROSS(DIF,DEA))+1)=15,0,MACD,0.5,0),COLORFF6666;
    STICKLINE(COUNT(DIF>DEA,BARSLAST(CROSS(DIF,DEA))+1)=28,0,MACD,0.5,0),COLORFF6666;
    STICKLINE(COUNT(DIF>DEA,BARSLAST(CROSS(DIF,DEA))+1)=36,0,MACD,0.5,0),COLORFF6666;
    STICKLINE(COUNT(DIF>DEA,BARSLAST(CROSS(DIF,DEA))+1)=48,0,MACD,0.5,0),COLORFF6666;
    STICKLINE(COUNT(DIF<DEA,BARSLAST(CROSS(DIF,DEA))+1)=7,0,MACD,0.5,0),COLOR006699;
    STICKLINE(COUNT(DIF<DEA,BARSLAST(CROSS(DIF,DEA))+1)=15,0,MACD,0.5,0),COLOR006699;
    STICKLINE(COUNT(DIF<DEA,BARSLAST(CROSS(DIF,DEA))+1)=28,0,MACD,0.5,0),COLOR006699;
    STICKLINE(COUNT(DIF<DEA,BARSLAST(CROSS(DIF,DEA))+1)=36,0,MACD,0.5,0),COLOR006699;
    STICKLINE(COUNT(DIF<DEA,BARSLAST(CROSS(DIF,DEA))+1)=48,0,MACD,0.5,0),COLOR006699;
    DIFF:(Ema(CLOSE,12)-EMA(CLOSE,26))*100/EMA(CLOSE,26),COLORRED;
    DEA:EMA(DIFF,9),COLORRED,LINETHICK2;
    DIF:IF(DIFF<REF(DIFF,1),DIFF,DRAWNULL),COLORGREEN;
    ADEA:IF(DEA<REF(DEA,1),DEA,DRAWNULL),COLORGREEN,LINETHICK2;
    macd:2*(DIFF-DEA),COLORstICK,LINETHICK2;
    A1:=BArslAST(REF(crOSS(DIFF,DEA),1));
    背离:=REF(CLOSE,A1+1)>CLOSEANDDIFF>REF(DIFF,A1+1)ANDCROSS(DIFF,DEA);
    STICKLINE(背离,0,3,2,0),COLOR00FF00;
    DRAWLINE(A1=0,DEA,背离,DEA,0),COLORRED;
    DRAWTEXT(背离,5.2,'背离');
    STICKLINE(MacD<REF(MACD,1)ANDMACD>0,0,MACD,0.5,0),COLORFF00FF;
    STICKLINE(MACD<REF(MACD,1)ANDMACD<0,0,MACD,0.5,0)COLOR00FF00;
    STICKLINE(MACD>REF(MACD,1)ANDMACD,0,MACD,0.5,0),COLORYELLOW;
    STICKLINE(MACD>REF(MACD,1)ANDMACD>0,0,MACD,0.5,0),COLORRED;




[源码注释通达信MACD改良版指标公式]翻译结果


   SHORT赋值:12

   LONG赋值:26

   MID赋值:9

   输出DIF:收盘价的SHORT日指数移动平均-收盘价的LONG日指数移动平均

   输出DEA:DIF的MID日指数移动平均

   输出平滑异同平均线:(DIF-DEA)*2,COLORSTICK

   如果DIF>,返回?,否则返回?

   DEA,DIF,无效数)COLOR0099FF

   A1赋值:上次1日前的"MACD.DIF"上穿"MACD.DEA"距今天数

   B1赋值:A1+1日前的收盘价>

   CANDREF("MACD.DIF",A1+1)<

   "MACD.DIF"ANDCROSS("MACD.DIF","MACD.DEA")

   当满足条件B1>时,在?位置画?号图标

   0,60日内DIF的最低值*0.84,1)

   当满足条件B1>时,在?位置书写文字

   0,60日内DIF的最低值*0.85,'..MACD'),COLOR9900FF

   C1赋值:上次1日前的"MACD.DEA"上穿"MACD.DIF"距今天数

   D1赋值:C1+1日前的收盘价<

   CANDREF("MACD.DIF",C1+1)>

   "MACD.DIF"ANDCROSS("MACD.DEA","MACD.DIF")

   当满足条件D1>时,在?位置画?号图标

   0,60日内DIF的最高值*0.84,2)

   当满足条件D1>时,在?位置书写文字

   0,60日内DIF的最高值*0.85,'..MACD'),COLORFFCC00

   A2赋值:上次1日前的"KDJ的K"上穿"KDJ的D"距今天数

   B2赋值:A2+1日前的收盘价>

   CANDREF("KDJ的K",A2+1)<

   "KDJ的K"ANDCROSS("KDJ的K","KDJ的D")

   当满足条件B2>时,在?位置画?号图标

   0,60日内DIF的最低值*0.59,1)

   当满足条件B2>时,在?位置书写文字

   0,60日内DIF的最低值*0.60,'..KDJ'),COLORFF33FF

   C2赋值:上次1日前的"KDJ的D"上穿"KDJ的K"距今天数

   D2赋值:C2+1日前的收盘价<

   CANDREF("KDJ的K",C2+1)>

   "KDJ的K"ANDCROSS("KDJ的D","KDJ的K")

   当满足条件D2>时,在?位置画?号图标

   0,60日内DIF的最高值*0.59,2)

   当满足条件D2>时,在?位置书写文字

   0,60日内DIF的最高值*0.60,'..KDJ'),COLORFFFF99

   A3赋值:上次1日前的"RSI的RSI1"上穿"RSI的RSI2"距今天数

   B3赋值:A3+1日前的收盘价>

   CANDREF("RSI的RSI1",A3+1)<

   "RSI的RSI1"ANDCROSS("RSI的RSI1","RSI的RSI2")

   当满足条件B3>时,在?位置画?号图标

   0,60日内DIF的最低值*0.34,1)

   当满足条件B3>时,在?位置书写文字

   0,60日内DIF的最低值*0.35,'..RSI'),COLOR6699FF

   C3赋值:上次1日前的"RSI的RSI2"上穿"RSI的RSI1"距今天数

   D3赋值:C3+1日前的收盘价<

   CANDREF("RSI的RSI1",C3+1)>

   "RSI的RSI1"ANDCROSS("RSI的RSI2","RSI的RSI1")

   当满足条件D3>时,在?位置画?号图标

   0,60日内DIF的最高值*0.34,2)

   当满足条件D3>时,在?位置书写文字

   0,60日内DIF的最高值*0.35,'..RSI'),COLORFFCC99

   JC赋值:DEA-DIF

   绿柱赋值:如果MACD<,返回?,否则返回?

   0,MACD的上次JC<距今天数日累和

   0)),0)

   红柱赋值:如果MACD>,返回?,否则返回?

   0,MACD的上次JC>距今天数日累和

   0)),0)

   本次最低价赋值:上次JC<距今天数日内最低价的最低值

   0))

   本次最高价赋值:上次JC>距今天数日内最高价的最高值

   0))

   X1赋值:如果MACD<,返回?,否则返回?

   0,上次DIF上穿DEA距今天数,0)

   前次绿柱赋值:X1+1日前的绿柱

   前次最低价赋值:X1+1日前的本次最低价

   Y1赋值:如果(绿柱<,返回?,否则返回?

   0ANDABS(绿柱)<

   前次绿柱的绝对值AND本次最低价<

   前次最低价),1,0)

   RS1赋值:MACD<

   0ANDREF(MACD,1)<

   0ANDC<

   前次最低价ANDABS(绿柱)<

   前次绿柱的绝对值ANDABS(MACD)<

   1日前的MACD的绝对值

   底背驰赋值:如果DIF上穿DEA,返回1日前的Y1,否则返回0

   当满足条件底背驰时,在60日内DIF的最低值*0.1位置画1号图标

   当满足条件底背驰时,在60日内DIF的最低值*0.1位置书写文字,COLOR00CCFF

   X2赋值:如果MACD>,返回?,否则返回?

   0,上次DEA上穿DIF距今天数,0)

   前次红柱赋值:X2+1日前的红柱

   前次最高价赋值:X2+1日前的本次最高价

   Y2赋值:如果(红柱>,返回?,否则返回?

   0AND红柱<

   前次红柱AND本次最高价>

   前次最高价),1,0)

   RS2赋值:MACD>

   0ANDREF(MACD,1)>

   0ANDC>

   前次最高价ANDABS(红柱)<

   前次红柱的绝对值ANDABS(MACD)<

   1日前的MACD的绝对值

   顶背驰赋值:如果DEA上穿DIF,返回1日前的Y2,否则返回0

   当满足条件顶背驰时,在60日内DIF的最高值*0.1位置画2号图标

   当满足条件顶背驰时,在60日内DIF的最高值*0.1位置书写文字,COLORFFCCCC

   当满足条件统计?日中满足DIF>的天数时,在?和?位置之间画柱状线,宽度为?,?不为0则画空心柱.

   DEA,上次DIF上穿DEA距今天数+1)=7,0,MACD,0.5,0),COLORFF6666

   当满足条件统计?日中满足DIF>的天数时,在?和?位置之间画柱状线,宽度为?,?不为0则画空心柱.

   DEA,上次DIF上穿DEA距今天数+1)=15,0,MACD,0.5,0),COLORFF6666

   当满足条件统计?日中满足DIF>的天数时,在?和?位置之间画柱状线,宽度为?,?不为0则画空心柱.

   DEA,上次DIF上穿DEA距今天数+1)=28,0,MACD,0.5,0),COLORFF6666

   当满足条件统计?日中满足DIF>的天数时,在?和?位置之间画柱状线,宽度为?,?不为0则画空心柱.

   DEA,上次DIF上穿DEA距今天数+1)=36,0,MACD,0.5,0),COLORFF6666

   当满足条件统计?日中满足DIF>的天数时,在?和?位置之间画柱状线,宽度为?,?不为0则画空心柱.

   DEA,上次DIF上穿DEA距今天数+1)=48,0,MACD,0.5,0),COLORFF6666

   当满足条件统计?日中满足DIF<的天数时,在?和?位置之间画柱状线,宽度为?,?不为0则画空心柱.

   DEA,上次DIF上穿DEA距今天数+1)=7,0,MACD,0.5,0),COLOR006699

   当满足条件统计?日中满足DIF<的天数时,在?和?位置之间画柱状线,宽度为?,?不为0则画空心柱.

   DEA,上次DIF上穿DEA距今天数+1)=15,0,MACD,0.5,0),COLOR006699

   当满足条件统计?日中满足DIF<的天数时,在?和?位置之间画柱状线,宽度为?,?不为0则画空心柱.

   DEA,上次DIF上穿DEA距今天数+1)=28,0,MACD,0.5,0),COLOR006699

   当满足条件统计?日中满足DIF<的天数时,在?和?位置之间画柱状线,宽度为?,?不为0则画空心柱.

   DEA,上次DIF上穿DEA距今天数+1)=36,0,MACD,0.5,0),COLOR006699

   当满足条件统计?日中满足DIF<的天数时,在?和?位置之间画柱状线,宽度为?,?不为0则画空心柱.

   DEA,上次DIF上穿DEA距今天数+1)=48,0,MACD,0.5,0),COLOR006699

   输出DIFF:(收盘价的12日指数移动平均-收盘价的26日指数移动平均)*100/收盘价的26日指数移动平均,画红色

   输出DEA:DIFF的9日指数移动平均,画红色,线宽为2

   输出DIF:如果DIFF<1日前的DIFF,返回DIFF,否则返回无效数,画绿色

   输出ADEA:如果DEA<1日前的DEA,返回DEA,否则返回无效数,画绿色,线宽为2

   输出MACD:2*(DIFF-DEA),COLORSTICK,线宽为2

   A1赋值:上次1日前的DIFF上穿DEA距今天数

   背离赋值:A1+1日前的收盘价>CLOSEANDDIFF>A1+1日前的DIFFANDCROSS(DIFF,DEA)

   当满足条件背离时,在0和3位置之间画柱状线,宽度为2,0不为0则画空心柱.,COLOR00FF00

   当满足条件A1=0时,在DEA位置画直线起点,当满足条件背离时,在DEA位置画直线终点,0表示是否延长.,画红色

   当满足条件背离时,在5.2位置书写文字

   当满足条件MACD<1日前的MACDANDMACD>0时,在0和MACD位置之间画柱状线,宽度为0.5,0不为0则画空心柱.,COLORFF00FF

   当满足条件MACD<1日前的MACDANDMACD<0时,在0和MACD位置之间画柱状线,宽度为0.5,0不为0则画空心柱.COLOR00FF00

   当满足条件MACD>1日前的MACDANDMACD时,在0和MACD位置之间画柱状线,宽度为0.5,0不为0则画空心柱.,画黄色

   当满足条件MACD>1日前的MACDANDMACD>0时,在0和MACD位置之间画柱状线,宽度为0.5,0不为0则画空心柱.,画红色


神奇指标网(https://www.shenqizhibiao.com/)所有指标公式及文章来源于网络仅供学习研究

神奇指标收藏 收藏
神奇指标分享 分享

网友评论

已有0人评论

清除 发表评论