通达信简单实用DMI副图指标源码
604次浏览
来源:神奇指标网
编辑:神奇指标网
发布日期: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人评论
24小时热门阅读
最新指标资讯
热门公式排行
热门标签栏目