神奇指标网

通达信简单实用DMI副图指标源码

浏览 604次浏览
标签: dmi
来源:神奇指标网 编辑:神奇指标网 发布日期:2023-06-15

  

   在炒股软件中有一个叫dmi的技术指标是一个十分有趣的指标,在众多指标中可以说是唯一一个“超级转向”指标,这个指标可以在股市中出现极端行情时,孤独的发出风险提示信号,帮助我们来解决一些难题。

   如果我们能够按照DMI所指示的去操作,首先可以避免在头部去买股票的操作错误,其次,在市场恐惧的下跌的过程中,我们能够按照DMI发出的转向信号,抓住下跌途中每一次反弹的机会来进行解套。

   如果你粗看DMI的图,会觉得它很复杂,因为在它的图中出现了四根线,而且相互缠绕,很难区别其中的复杂信号。但是不必为它复杂的结构而担心,我们会全面解剖这个指标。


    相关简介:    通达信简单实用DMI副图指标源码                              


     源码概况:通达信简单实用DMI副图指标


  指标类别:dmi指标公式


  授权方式:免费版


  指标评级:★★★★★


  指标分类:策略


  画线方法:副图





通达信简单实用DMI副图指标未来函数检测结果:

           暂未发现存在未来函数





通达信简单实用DMI副图指标源码:


    N:=14;
    MM:=6;
    RSV:=(CLOSE-LLV(LOW,10))/(HHV(HIGH,10)-LLV(LOW,10))*100;
    K:=SMA(RSV,3,1);
    D:=Sma(K,3,1);
    J:=3*K-2*D;
    DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26);
    DEA:=EMA(DIFF,9);
    macd:=2*(DIFF-DEA),COLORstICK;
    LC:=REF(CLOSE,1);
    rsi1:=SMA(MAX(CLOSE-LC,0),6,1)/SMA(Abs(CLOSE-LC),6,1)*100;
    RSI2:=SMA(MAX(CLOSE-LC,0),12,1)/SMA(ABS(CLOSE-LC),12,1)*100;
    RSI3:=SMA(MAX(CLOSE-LC,0),24,1)/SMA(ABS(CLOSE-LC),24,1)*100;
    A1:=BArslAST(REF(crOSS(DIFF,DEA),1));
    B1:=REF(CLOSE,A1+1)>CLOSEANDREF(DIFF,A1+1)<DIFFANDCROSS(DIFF,DEA);
    MacD底背离:FILTER(B1>0,5);
    STICKLINE(FILTER(B1>0,5),0,10,1,0),COLOR00FF00;
    DRAWTEXT(FILTER(B1>0,5),10,'MACD底背'),COLOR00FF00;
    A3:=BARSLAST(REF(CROSS(RSI1,RSI2),1));
    B3:=REF(CLOSE,A3+1)>CLOSEANDREF(RSI1,A3+1)<RSI1ANDCROSS(RSI1,RSI2);
    RSI底背离:FILTER(B3>0,5),LINETHICK0;
    STICKLINE(FILTER(B3>0,5),0,30,1,0),COLORFFFF00;
    DRAWTEXT(FILTER(B3>0,5),30,'RSI底背'),COLORFFFF00;
    C1:=BARSLAST(REF(CROSS(DEA,DIFF),1));
    D1:=REF(CLOSE,C1+1)<CLOSEANDREF(DIFF,C1+1)>DIFFANDCROSS(DEA,DIFF);
    MACD顶背离:FILTER(D1>0,5),LINETHICK0;
    STICKLINE(FILTER(D1>0,5),100,80,1,0),COLOR0066FF;
    DRAWTEXT(FILTER(D1>0,5),80,'MACD顶背'),COLOR0066FF;
    C3:=BARSLAST(REF(CROSS(RSI2,RSI1),1));
    D3:=REF(CLOSE,C3+1)<CLOSEANDREF(RSI1,C3+1)>RSI1ANDCROSS(RSI2,RSI1);
    RSI顶背离:FILTER(D3>0,5),LINETHICK0;
    STICKLINE(FILTER(D3>0,5),100,80,1,0),COLOR15F70A;
    DRAWTEXT(FILTER(D3>0,5),80,'RSI顶背'),COLOR15F70A;
    {以上不动}
    TR1:=EMA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(REF(CLOSE,1)-LOW)),21);
    HD:=HIGH-REF(HIGH,1);
    LD:=REF(LOW,1)-LOW;
    DMP:=EMA(IF(HD>0ANDHD>LD,HD,0),21);
    DMM:=EMA(IF(LD>0ANDLD>HD,LD,0),21);
    pdi:=DMP*100/TR1;
    mdi:=DMM*100/TR1;
    ADX:EMA((PDI-MDI)/(MDI+PDI)*100,6)*2;
    ADXR:EMA(ADX,6);
    ADMA:=EMA(ADX,20);
    OMD:(ADX-2*ADMA+ADXR)/2,COLORSTICK;
    DRAWBAND(ADX,RGB(155,50,50),ADXR,RGB(0,100,50));
    STICKLINE(OMD>REF(OMD,1)ANDOMD>0,0,OMD,1,0),COLORRED;
    STICKLINE(OMD>REF(OMD,1)ANDOMD<0,0,OMD,1,0),COLORGREEN;
    STICKLINE(OMD<REF(OMD,1),0,OMD,1,0),COLORCBCBC0;
    STICKLINE(OMD>=0OROMD<=0,0,0,50,1),COLORWHITE;
    ADX1:ADX,COLORRED;
    ADXR1:ADXR,COLORYELLOW;
    {dmi顶底背离}
    DM1:=BARSLAST(REF(CROSS(ADX1,ADXR1),1));
    DM2:=REF(CLOSE,DM1+1)>CLOSEANDREF(ADX1,DM1+1)0,5),LINETHICK0;
    DRAWTEXT(FILTER(DM2>0,5),ADX1,'DMI底背'),COLORFFFF00;
    DM3:=BARSLAST(REF(CROSS(ADXR1,ADX1),1));
    DM4:=REF(CLOSE,DM3+1)<CLOSEANDREF(ADX1,DM3+1)>ADX1ANDCROSS(ADXR1,ADX1);
    DMI顶背离:FILTER(DM4>0,5),LINETHICK0;
    DRAWTEXT(FILTER(DM4>0,5),ADX1,'DMI顶背'),COLORGREEN;
    TRYGB:=EXPMEMA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(REF(CLOSE,1)-LOW)),14);
    HD:=HIGH-REF(HIGH,1);
    LD:=REF(LOW,1)-LOW;
    DMP:=EXPMEMA(IF(HD>0&&HD>LD,HD,0),14);
    DMM:=EXPMEMA(IF(LD>0&&LD>HD,LD,0),14);
    多:DMP*100/TRYGB,COLORWHITE,LINETHICK1;
    空:DMM*100/TRYGB,COLORYELLOW,LINETHICK1;
    ADX:EXPMEMA(ABS(空-多)/(空+多)*100,5),COLORRED,LINETHICK1;
    ADXR:EXPMEMA(ADX,3),COLORGREEN;
    DRAWBAND(多,RGB(100,10,10),空,RGB(10,100,10));
    DRAWBAND(ADX,RGB(250,10,10),ADXR,RGB(10,250,10));
    IF(空<多ANDADX>REF(ADX,1)ANDADX>=25,ADX,DRAWNULL),COLORRED,LINETHICK2;
    IF(空<多ANDADX>多ANDADX<REF(ADX,1),ADX,DRAWNULL),COLORGREEN,LINETHICK1;
    IF(空>多AND空>REF(空,1)AND多<REF(多,1)ANDADX>REF(ADX,1),ADX,DRAWNULL),COLORCYAN,LINETHICK2;
    IF(COUNT(多>=50,4)>=1AND多<=50ANDADX>=70,ADX,DRAWNULL),COLORYELLOW,LINETHICK2;
    VAR20:=(3*CLOSE+LOW+OPEN+HIGH)/6;
    VAR21:=(20*VAR20+19*REF(VAR20,1)+18*REF(VAR20,2)+17*REF(VAR20,3)+16*REF(VAR20,4)+15*REF(VAR20,5)+14*REF(VAR20,6)+13*REF(VAR20,7)+12*REF(VAR20,8)+11*REF(VAR20,9)+10*REF(VAR20,10)+9*REF(VAR20,11)+8*REF(VAR20,12)+7*REF(VAR20,13)+6*REF(VAR20,14)+5*REF(VAR20,15)+4*REF(VAR20,16)+3*REF(VAR20,17)+2*REF(VAR20,18)+REF(VAR20,21))/210;
    VAR22:=EMA(VAR21,15);
    VAR23:=HHV(CLOSE,90);
    VAR24:=LLV(CLOSE,90);
    VAR25:=VAR23-VAR24;
    VAR26:=EMA((CLOSE-VAR24)/VAR25-0.5,14);
    ZLSP:=VAR26*20;
    VAR27:=REF(HHV(CLOSE,66),2);
    VAR28:=CROSS(CLOSE,VAR27)AND(HHV(CLOSE,110)/LLV(CLOSE,110)-1)*100<45ANDZLSP<5.666;
    VAR29:=LLV(ZLSP,35)<-8.9ANDCROSS(ZLSP,-7.815)ANDZLSP<-1.2;
    VAR30:=10*FILTER(VAR29,41);
    VAR31:=15*FILTER(VAR28,41)>10;
    STICKLINE(VAR31,10,30,1,0),COLORYELLOW;


[源码注释]通达信简单实用DMI副图指标翻译结果


    N赋值:14
    MM赋值:6
    RSV赋值:(收盘价-10日内最低价的最低值)/(10日内最高价的最高值-10日内最低价的最低值)*100
    K赋值:RSV的3日[1日权重]移动平均
    D赋值:K的3日[1日权重]移动平均
    J赋值:3*K-2*D
    DIFF赋值:收盘价的12日指数移动平均-收盘价的26日指数移动平均
    DEA赋值:DIFF的9日指数移动平均
    MACD赋值:2*(DIFF-DEA),COLORSTICK
    LC赋值:1日前的收盘价
    RSI1赋值:收盘价-LC和0的较大值的6日[1日权重]移动平均/收盘价-LC的绝对值的6日[1日权重]移动平均*100
    RSI2赋值:收盘价-LC和0的较大值的12日[1日权重]移动平均/收盘价-LC的绝对值的12日[1日权重]移动平均*100
    RSI3赋值:收盘价-LC和0的较大值的24日[1日权重]移动平均/收盘价-LC的绝对值的24日[1日权重]移动平均*100
    A1赋值:上次1日前的DIFF上穿DEA距今天数
    B1赋值:A1+1日前的收盘价>CLOSEANDREF(DIFF,A1+1)<DIFFANDCROSS(DIFF,DEA)
    输出MACD底背离:B1>0的5日过滤
    当满足条件B1>0的5日过滤时,在0和10位置之间画柱状线,宽度为1,0不为0则画空心柱.,COLOR00FF00
    当满足条件B1>0的5日过滤时,在10位置书写文字,COLOR00FF00
    A3赋值:上次1日前的RSI1上穿RSI2距今天数
    B3赋值:A3+1日前的收盘价>CLOSEANDREF(RSI1,A3+1)<RSI1ANDCROSS(RSI1,RSI2)
    输出RSI底背离:B3>0的5日过滤,线宽为0
    当满足条件B3>0的5日过滤时,在0和30位置之间画柱状线,宽度为1,0不为0则画空心柱.,COLORFFFF00
    当满足条件B3>0的5日过滤时,在30位置书写文字,COLORFFFF00
    C1赋值:上次1日前的DEA上穿DIFF距今天数
    D1赋值:C1+1日前的收盘价<CLOSEANDREF(DIFF,C1+1)>DIFFANDCROSS(DEA,DIFF)
    输出MACD顶背离:D1>0的5日过滤,线宽为0
    当满足条件D1>0的5日过滤时,在100和80位置之间画柱状线,宽度为1,0不为0则画空心柱.,COLOR0066FF
    当满足条件D1>0的5日过滤时,在80位置书写文字,COLOR0066FF
    C3赋值:上次1日前的RSI2上穿RSI1距今天数
    D3赋值:C3+1日前的收盘价<CLOSEANDREF(RSI1,C3+1)>RSI1ANDCROSS(RSI2,RSI1)
    输出RSI顶背离:D3>0的5日过滤,线宽为0
    当满足条件D3>0的5日过滤时,在100和80位置之间画柱状线,宽度为1,0不为0则画空心柱.,COLOR15F70A
    当满足条件D3>0的5日过滤时,在80位置书写文字,COLOR15F70A
    TR1赋值:最高价-最低价和最高价-1日前的收盘价的绝对值的较大值和1日前的收盘价-最低价的绝对值的较大值的21日指数移动平均
    HD赋值:最高价-1日前的最高价
    LD赋值:1日前的最低价-最低价
    DMP赋值:如果HD>0ANDHD>LD,返回HD,否则返回0的21日指数移动平均
    DMM赋值:如果LD>0ANDLD>HD,返回LD,否则返回0的21日指数移动平均
    PDI赋值:DMP*100/TR1
    MDI赋值:DMM*100/TR1
    输出ADX:(PDI-MDI)/(MDI+PDI)*100的6日指数移动平均*2
    输出ADXR:ADX的6日指数移动平均
    ADMA赋值:ADX的20日指数移动平均
    输出OMD:(ADX-2*ADMA+ADXR)/2,COLORSTICK
    画带状线
    当满足条件OMD>1日前的OMDANDOMD>0时,在0和OMD位置之间画柱状线,宽度为1,0不为0则画空心柱.,画红色
    当满足条件OMD>1日前的OMDANDOMD<0时,在0和OMD位置之间画柱状线,宽度为1,0不为0则画空心柱.,画绿色
    当满足条件OMD<1日前的OMD时,在0和OMD位置之间画柱状线,宽度为1,0不为0则画空心柱.,COLORCBCBC0
    当满足条件OMD>=0OROMD<=0时,在0和0位置之间画柱状线,宽度为50,1不为0则画空心柱.,画白色
    输出ADX1:ADX,画红色
    输出ADXR1:ADXR,画黄色
    DM1赋值:上次1日前的ADX1上穿ADXR1距今天数
    DM2赋值:DM1+1日前的收盘价>CLOSEANDREF(ADX1,DM1+1)0,5),线宽为0
    当满足条件DM2>0的5日过滤时,在ADX1位置书写文字,COLORFFFF00
    DM3赋值:上次1日前的ADXR1上穿ADX1距今天数
    DM4赋值:DM3+1日前的收盘价<CLOSEANDREF(ADX1,DM3+1)>ADX1ANDCROSS(ADXR1,ADX1)
    输出DMI顶背离:DM4>0的5日过滤,线宽为0
    当满足条件DM4>0的5日过滤时,在ADX1位置书写文字,画绿色
    TRYGB赋值:最高价-最低价和最高价-1日前的收盘价的绝对值的较大值和1日前的收盘价-最低价的绝对值的较大值的14日指数平滑移动平均
    HD赋值:最高价-1日前的最高价
    LD赋值:1日前的最低价-最低价
    DMP赋值:如果HD>,返回?,否则返回?的?日指数平滑移动平均
    0&
    &
    HD>
    LD,HD,0),14)
    DMM赋值:如果LD>,返回?,否则返回?的?日指数平滑移动平均
    0&
    &
    LD>
    HD,LD,0),14)
    输出多:DMP*100/TRYGB,画白色,线宽为1
    输出空:DMM*100/TRYGB,画黄色,线宽为1
    输出ADX:空-多的绝对值/(空+多)*100的5日指数平滑移动平均,画红色,线宽为1
    输出ADXR:ADX的3日指数平滑移动平均,画绿色
    画带状线
    画带状线
    如果空<,返回?,否则返回?
    多ANDADX>
    1日前的ADXANDADX>
    =25,ADX,无效数),画红色,线宽为2
    如果空<,返回?,否则返回?
    多ANDADX>
    多ANDADX<
    1日前的ADX,ADX,无效数),画绿色,线宽为1
    如果空>,返回?,否则返回?
    多AND空>
    1日前的空AND多<
    1日前的多ANDADX>
    1日前的ADX,ADX,无效数),画青色,线宽为2
    如果统计?日中满足多>的天数,返回?,否则返回?
    =50,4)>
    =1AND多<
    =50ANDADX>
    =70,ADX,无效数),画黄色,线宽为2
    VAR20赋值:(3*收盘价+最低价+开盘价+最高价)/6
    VAR21赋值:(20*VAR20+19*1日前的VAR20+18*2日前的VAR20+17*3日前的VAR20+16*4日前的VAR20+15*5日前的VAR20+14*6日前的VAR20+13*7日前的VAR20+12*8日前的VAR20+11*9日前的VAR20+10*10日前的VAR20+9*11日前的VAR20+8*12日前的VAR20+7*13日前的VAR20+6*14日前的VAR20+5*15日前的VAR20+4*16日前的VAR20+3*17日前的VAR20+2*18日前的VAR20+21日前的VAR20)/210
    VAR22赋值:VAR21的15日指数移动平均
    VAR23赋值:90日内收盘价的最高值
    VAR24赋值:90日内收盘价的最低值
    VAR25赋值:VAR23-VAR24
    VAR26赋值:(收盘价-VAR24)/VAR25-0.5的14日指数移动平均
    ZLSP赋值:VAR26*20
    VAR27赋值:2日前的66日内收盘价的最高值
    VAR28赋值:收盘价上穿VAR27AND(110日内收盘价的最高值/110日内收盘价的最低值-1)*100<
    45ANDZLSP<
    5.666
    VAR29赋值:35日内ZLSP的最低值<
    -8.9ANDCROSS(ZLSP,-7.815)ANDZLSP<
    -1.2
    VAR30赋值:10*VAR29的41日过滤
    VAR31赋值:15*VAR28的41日过滤>
    10
    当满足条件VAR31时,在10和30位置之间画柱状线,宽度为1,0不为0则画空心柱.,画黄色




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

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

网友评论

已有0人评论

清除 发表评论