我刚刚提醒过的大智慧里的【DDI】是因为大家平时忽略了这么好的大智慧原来的指标.
现在再看看我改的DDI.咱们比比哪个好用.因为我们不会一层不变的照搬.人总是要进步的.按自己的思路调整自己认为不完善的.我所以用这么程序.就是想告诉大家.大智慧也是人编的.也不会达到我们完全满意的公式.每个人都有自己的思路.拿来主义是必须的.哪有那么多发明创造.就是拿来变变罢了.我们也要学会变化.论坛的功能就是交流经验.咱们就在这交流交流怎么改公式. 还是书归正传吧.
【1】大智慧DDI源码:----
TR:=MAX(ABS(H-REF(H,1)),ABS(L-REF(L,1)));
DMZ:=IF((H+L)<=(REF(H,1)+REF(L,1)),0,MAX(ABS(H-REF(H,1)),ABS(L-REF(L,1))));
DMF:=IF((H+L)>=(REF(H,1)+REF(L,1)),0,MAX(ABS(H-REF(H,1)),ABS(L-REF(L,1))));
DIZ:=SUM(DMZ,N)/(SUM(DMZ,N)+SUM(DMF,N));
DIF:=SUM(DMF,N)/(SUM(DMF,N)+SUM(DMZ,N));
DDI:DIZ-DIF,COLORSTICK;
ADDI:SMA(DDI,N1,M);
AD:MA(ADDI,M1);
【参数精灵】
天数:Param#1;
DDI的N1(:Param#2)日指数移动平均;
平滑因子为=M(:Param#3)/N1 (M必须小于N1)
ADDI的Param#4日移动平均;
那么这个源码的我认为的毛病是什么呢.他只考虑【H】【L】的变化和走势的影响.恰恰忽略了【C】这个举足轻重的参数然而股价的走势和收盘价密不可分.包括庄家也往往把心思花费在收盘价上.而【H】【L】经常是一晃而过.远远偏离于当日的筹码重心.
其二是公式重叠重复语句完全可以简化
------------------------------------------------------------------------------------- --------------------------------------------------------------------- --------------------------------------------------
【2】这是我刚刚改的【DDI-J】大家比比看;也许各有所长.也许这个比那个更能反映股价的走势.其实公式就是为了说明历史.那个能说明的贴切历史那个就是好公式.
input:n(13,1,100),n1(30,1,100),m(10,1,100),m1(5,1,100);
TR1:=MAX(ABS((H+L)/2-REF((H+L)/2,1)),ABS(C-REF(C,1)));
Z:=IF(((H+L)/2+C)<=(REF((H+L)/2,1)+REF(C,1)),0,TR1);
F:=IF(((H+L)/2+C)>=(REF((H+L)/2,1)+REF(C,1)),0,TR1);
DDI:SUM(Z-F,N),COLORSTICK;
SDDI:SMA(DDI,N1,M);
MDDI:EMA(SDDI,M1);
【参数精灵】
SUM 累计天数:Param#1;N (13,1,100)
SMA 移动平均 Param#2;N1(30,1,100)
SMA 平滑因子:Param#3:M (10,1,100) (M<N1)
EMA 移动平均 Param#4;M1(5,1,100)
------------------------------------------------------------------------------------- --------------------------------------------------------------------- --------------------------------------------------
【3】现在咱们对比看看我是怎么改变的.新同学可以学习一下:-------
A:【原来】TR:=MAX(ABS(H-REF(H,1)),ABS(L-REF(L,1)));
【改过】TR1:=MAX(ABS((H+L)/2-REF((H+L)/2,1)),ABS(C-REF(C,1)));
B:【原来】DMZ:=IF((H+L)<=(REF(H,1)+REF(L,1)),0,MAX(ABS(H-REF(H,1)),ABS(L-REF(L,1))));
DMF:=IF((H+L)>=(REF(H,1)+REF(L,1)),0,MAX(ABS(H-REF(H,1)),ABS(L-REF(L,1))));
【改过】Z:=IF(((H+L)/2+C)<=(REF((H+L)/2,1)+REF(C,1)),0,TR1);
F:=IF(((H+L)/2+C)>=(REF((H+L)/2,1)+REF(C,1)),0,TR1);
C:【原来】DIZ:=SUM(DMZ,N)/(SUM(DMZ,N)+SUM(DMF,N));
DIF:=SUM(DMF,N)/(SUM(DMF,N)+SUM(DMZ,N));
DDI:DIZ-DIF,COLORSTICK;
ADDI:SMA(DDI,N1,M);
AD:MA(ADDI,M1);
【改过】DDI:SUM(Z-F,N),COLORSTICK;
SDDI:SMA(DDI,N1,M);
MDDI:EMA(SDDI,M1);
---------------------------------------------- -----------------------------------
【注意】这个公式用于通达信时第一行参数需要填入参数表格里.
现在说说这个DDI公式.他的特点就那【金叉.死叉.正负.背离】这公式四大要素.反映的相当及时.而且可以用于不同周期.你要是想高抛低吸在30分周期的反映特别灵敏.就是在分时里也比MACD.KDJ.来的快.
我发的图就是两个DDI对比上面的是大智慧原来的.下面的就我改过的.这样比的目的就是举个例子咱们怎么去【拿来为我所用】而已.两个DDI看上去不错太多.但是差别也就在这不多之中.不可忽视的距离.