修改下MACD钝化指标

    苦行僧 发表于 2020-06-10 12:29 ・614次浏览 1条跟帖 赢顺 wh6 回复

    //DRAWGBK(O>C,RGB(40,40,40),RGB(0,0,40),0,?',0); //{背景不要可删除}
    DIFF:1*(EMA(CLOSE,12)-EMA(CLOSE,26)),COLORWHITE,LINETHICK1;
    DEA:EMA(DIFF,9),COLORYELLOW,LINETHICK1;
    
    MACD:=(DIFF-DEA)*2,COLORSTICK;
    A:MACD,NODRAW;
    DRAWCOLORLINE(MACD>REF(MACD,1),DIFF,COLORRED,COLORGREEN);
    
    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),COLORBLUE;
    
    STICKLINE(MACD>REF(MACD,1) AND MACD<0,0,MACD,0.2,0),COLORMAGENTA;
    STICKLINE(MACD<REF(MACD,1) AND MACD<0,0,MACD,0.2,0),COLORLIGHTGREEN;
    
    0,COLORYELLOW,NOTEXT,LINETHICK1;
    
     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((DIFF-DEA)/C)<0.018;
     FH5:=FH1 AND FH2 AND MACD<0.10;
    二次翻红:=(FH3 OR FH4 OR FH5),COLORRED,NODRAW;
    低买:=CROSS(DIFF,DEA) AND DIFF<0,COLORFF00FF,NODRAW; 
    加油:=CROSS(DIFF,DEA) AND DIFF>0,COLORYELLOW,NODRAW;
    // DRAWTEXT(二次翻红,-0.15,'↖翻红'),COLORRED;
    DRAWTEXT(CROSS(DIFF,DEA) AND DIFF<0,DEA-0.02,'↖低买'),VALIGN0,COLORYELLOW,FONTSIZE30,COLORFF00FF; 
    DRAWTEXT(CROSS(DIFF,DEA) AND DIFF>0,DEA-0.05,'↖加油'),COLORYELLOW;
     XG:=二次翻红 OR 低买 OR 加油,NODRAW;
    CAPITAL:=GETPRICE('流通股本');
    /*
    INDEXH:="999001$HIGH"; 
    INDEXC:="999001$CLOSE";
    INDEXL:="999001$LOW";
    INDEXO:="999001$OPEN";
    AMOUNT:=AVPRICE*V;
     YLZC:=IF(CLOSE=INDEXC,(INDEXC+INDEXH+INDEXL+INDEXO)/4,AMOUNT/(VOL+0.01)/100);
    */
    
    
    A1:=C>REF(C,4);
    NT:=BARSLASTCOUNT(A1);
    TJ11:=9;
    TJ13:=ISLASTBAR AND BETWEEN(NT,5,8);
    AY:=(BACKSET(TJ11>0,9) OR BACKSET(TJ13>0,NT))*NT;
    MM:=BACKSET(NT=9,9);
    DRAWNUMBER(MM=1&&AY>0,MACD*0.98,NT,0,COLORYELLOW);
    NX:=BACKSET(ISLASTBAR,NT);
    DRAWNUMBER(NX&&REFX1(NT<9,100),MACD*0.98,NT,0,COLORYELLOW);
    //DRAWICON(NT=9,MACD*0.98,'ICO9'),COLORGREEN;
    
    B1:=C<REF(C,4);
    NT0:=BARSLASTCOUNT(B1);
    TJ21:=NT0=9 ;
    NN:=BACKSET(NT0=9,9);
    TJ23:=ISLASTBAR AND BETWEEN(NT0,5,8);
    AY1:=(BACKSET(TJ21>0,9) OR BACKSET(TJ23>0,NT0))*NT0;
    //N2:=MOD(NT0,9);
    DRAWNUMBER(NN=1&&AY1>0,MACD*1.02,NT0,0,COLORGREEN),VALIGN0;
    ND:=BACKSET(ISLASTBAR,NT0);
    DRAWNUMBER(ND&&REFX1(NT0<9,100),MACD*1.02,NT0,0,COLORGREEN),VALIGN0;
    //DRAWICON(NT0=9,MACD*1.02,'ICO112'),COLORGREEN;
     
     DRAWICON(CROSS(DIFF,DEA),DEA,'ICO122');
     DRAWICON(CROSS(DEA,DIFF),DEA,'ICO123');
    
    死叉:=CROSS(DEA,DIFF);
     N1:=BARSLAST(死叉),NODRAW;//{最近一次死叉的位置}
    N2:=REF(BARSLAST(死叉),N1+1),NODRAW;//{倒数第二次死叉与倒数第一次死叉的区间}
    N3:=REF(BARSLAST(死叉),N2+N1+2),NODRAW;//{倒数第三次死叉与倒数第二次死叉的区间}
    CL1:=LLV(C,N1+1),NODRAW;//{最近一次死叉后,最低收盘价}
    DIFL1:=LLV(DIFF,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:=INTPART(LOG10(ABS(DIFL2)))-1;
     MDIFL2:=INTPART(DIFL2/POW(10,PDIFL2));
     PDIFL3:=INTPART(LOG10(ABS(DIFL3)))-1;
     MDIFL3:=INTPART(DIFL3/POW(10,PDIFL3));
     MDIFB2:=INTPART(DIFF/POW(10,PDIFL2));
     MDIFB3:=INTPART(DIFF/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;
    DRAWTEXT(FILTER((REF(DIFF,1)>REF(DIFF,2) AND DIFF<REF(DIFF,1)),1),DIFL2,'底部钝化'),COLORYELLOW;
    STICKLINE(底部钝化,DIFF,DEA,1,0),COLORRED;
    DRAWTEXT(FILTER(底背离,1),DIFF,'底部结构形成'),VALIGN0,COLORMAGENTA,FONTSIZE30;
    
    金叉:=CROSS(DIFF,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(DIFF,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:=INTPART(LOG10(ABS(DIFH2)))-1;
     MDIFH2:=INTPART(DIFH2/POW(10,PDIFH2));
     PDIFH3:=INTPART(LOG10(ABS(DIFH3)))-1;
     MDIFH3:=INTPART(DIFH3/POW(10,PDIFH3));
     MDIFT2:=INTPART(DIFF/POW(10,PDIFH2));
     MDIFT3:=INTPART(DIFF/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(顶部钝化,DIFF,DEA,1,0),COLORGREEN;
    
    老师,麻烦在这里加上顶部结构形成和顶部钝化
    
     MACDDIF:=IF(ABS(MACD)>ABS(DIFF),MACD,DIFF);
     DRAWICON(REF(DIFF,1)>REF(DIFF,2) AND DIFF<REF(DIFF,1) AND DIFF>0 AND DIFF>DEA,MACDDIF*1.1,'ICO9'),COLORGREEN;
     DRAWICON(REF(DIFF,1)<REF(DIFF,2) AND DIFF>REF(DIFF,1) AND DIFF<0 AND DIFF<DEA,MACDDIF*1.1,'ICO8'),COLORRED;

    autojiaoyi.com 沙发

     添加这三句
    
    DRAWTEXT(FILTER((REF(DIFF,1)<REF(DIFF,2) AND DIFF>REF(DIFF,1)),1),CH2,'顶部钝化'),COLORYELLOW;
    STICKLINE(顶部钝化,DIFF,DEA,1,0),COLORGREEN;
    DRAWTEXT(FILTER(顶背离,1),DIFF,'顶部结构形成'),VALIGN0,COLORMAGENTA,FONTSIZE30;
    
    回复

    本版积分规则

    发布新内容
    请关注微信公众号,获取最新指标公式
    加入收藏 我要分享
    分享到论坛或者博客

    复制
    热门指标策略
    快速回复 返回顶部 返回列表