飞狐初学DMI副图,源码,说明
{1)使用方法:
看带线的运行情况。
当带线翻红时表示趋势相多头扭转(买入),翻绿时表示趋势相空头扭转(卖出)。
当带线运行在0下红线之下,空头绝对主导市场,(持币)
0下红线之上,空头相对主导市场。(持股持币都可)
当带线运行在0上红线之下,多头相对主导市场,(持股持币都可)
0上红线之上,多头绝对主导市场。(持股)
2)DMI简介:
dmi计算方法较复杂,而特点是从多方力度(PDI)和空房力度(MDI)两个角度来考虑股价的运行,从而区别于其他任何经典指标。
PDI和MDI的具体计算方法可以看源码得知。
计算完毕之后,再引入ADX,他是PDI与MDI的差和比,反映的是多空力量的变化趋势。通过看ADX的拐点,可以看出多空双方谁消谁涨。
3)自编DMI指标说明:
对原生的DMI定义不增不减。对图示方法加了些改变:
对DMI与PDI加以平滑。在MDI之前加了负号,使得mdi运行在0以下。取消adx算法中的绝对值,从而能看出趋势的异动是多头的还是空头的。}
//DMI定义:
input:p(14,2,100),m(6,1,100);
TRr := SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),P);
HD := HIGH-REF(HIGH,1);
LD := REF(LOW,1)-LOW;
DMP:= SUM(IF(HD>0 AND HD>LD,HD,0),P);
DMM:= SUM(IF(LD>0 AND LD>HD,LD,0),P);
PDI:= DMP*100/TRr;
MDI:= DMM*100/TRr;
ADX6: MA((pdi-mdi)/(MDI+PDI)*100,6),colorwhite,linethick1;
ADX12: MA((pdi-mdi)/(MDI+PDI)*100,12),coloryellow,linethick1;
//ADX26: MA((pdi-mdi)/(MDI+PDI)*100,26),colorcyan,linethick1;
//图示:
0,colorgreen;
fillrgn(adx6>=adx12,adx6,adx12),color3333cc;
fillrgn(adx6<adx12,adx6,adx12),color66cc00;
mpdi:ema(pdi,6),colorred;
mmdi:-ema(mdi,6),colorred;
以随机取的股票为例,前期adx在下红线之下翻红,并且上穿下红线及0线,最后来到上红线上方运行,此间可择机买入。
虽有adx一直在上红线附近运行,说明多头主导明显,拿住。
期间,结合adx的红绿买卖做T,拿住底仓。由于adx未下破下红线,维持持股作T的操作。
最后adx第一次下破下红线,判断为顶部,清仓全部卖出。
也可以选择在adx第一次下破0线的时候就离场。