急求:帮忙把趋向指标(钱龙版本)DMI—QL,给改写成通达信中能用的公式,在次新股上能显现出正确指标图形

趋向指标(钱龙版本)的是:DMI—QL
N=14
M=6
TR := SMA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),N,1);
HD := HIGH-REF(HIGH,1);
LD := REF(LOW,1)-LOW;
DMP:= SMA(IF(HD>0 AND HD>LD,HD,0),N,1);
DMM:= SMA(IF(LD>0 AND LD>HD,LD,0),N,1);
PDI: DMP*100/TR;
MDI: DMM*100/TR;
ADX: SMA(ABS(MDI-PDI)/(MDI+PDI)*100,N,1);
ADXR:(ADX+REF(ADX,M))/2;

通达信软件中自带的趋向指标DMI,显现出的图形与此不一样,
如果把DMI—QL版本的源码直接复制到通达信软件中,会在“上市不久的次新股”上显现出错误的走势,尤其是ADX 和ADXR是高位值,是错误的。
麻烦哪位前辈高人,帮忙把钱龙版本的DMI—QL,给改写成通达信中能用的公式,并且在次新股上,也能显现正确的指标图形。
先拜谢了,好人多福!急求中……

如过要想弄明白你的这个问题,首先要了解DMI指标的算法。下边我们把DMI指标分布拆解开来:
1、公式我就不说了。 都是使用的钱龙算法,按理说一样的算法计算出的结果应该是一样的。

2、取值的时候有些小的差异,大智慧是取小数点后3为,通达信取得是小数点后2位,并采用的是“五舍六入”的方法。但是这点差异不足以造成两种软件的ADX和ADXR值差别那么大。

3、由于ADXR是根据ADX计算出来的,所以我们只需要知道ADX为什么不同就可以了。

4、通过公式我们知道,通达信和大智慧ADX的计算方法是一样的ADX=SMA(ABS(MDI-PDI)/(MDI+PDI)*100,N,1),这里边我们可以看到涉及到了四个变量,PDI、MDI、SMA和N,经过对照,我们知道,两种软件PDI和MDI的值是一样的(只是取得位数不同),那么我们来分析SMA的计算方式,

SMA《加权移动平均数》=[ X《X =(MDI-PDI)/(MDI+PDI) ×100》 × M《M为权重,这里是1》+ Y《Y为前一日ADX值》 × (N-M) ] / N ,计算方式本身没有问题,大智慧和通达信用的都是一样的。

5、计算方式一样,得出的结果不同,那么只有一种原因,就是取值不同。我们知道,这里边的主要参数,PDI和MDI大智慧和通达信的计算方式和得出的结果都是相同的,那么是什么原因造成的ADX值不同哪?

6、用你的举例300238来说明,我们打到周线图,将光标移到前三根K线会发现,此时DMI的四个参数都是没有数值的。第四根K线开始,PDI和ADX数值出现了,我们会发现,大智慧的ADX是7.143,而通达信的ADX是100。

7、通过ADX的计算公式我们可以看到,它的计算是要用到MDI数值的,而MDI的数值会在第十一根K线时才出现,此时还没有MDI得数值,那么两家软件得出的ADX值是什么哪?

8、通过计算,得出了如下结论:

在计算ADX时,两家软件都是将MDI取值为 0 ,当用到 Y (前一日ADX)时,也是取值为0 ,但是当计算最后一步时,大智慧是先计算的X × M+Y × (N-M)然后才除以N,而通达信是,先用Y × (N-M)除以N,然后才加的 X × M ,所以造成了以上结果(大智慧的ADX是1.743,而通达信是100,)。也就是说,通达信的SMA计算函数中,缺少了一个中括号,正如你所说,是内核有问题。

9、这个问题可以这样解决,就是不用SMA函数,找到别的方式来计算ADX的值,可是我没有找到通达信中有加减乘除的函数可以调用。不知道是我没发现,还是根本没有,所以这个问题没能帮你解决,如果你找到了能够调用加减乘除的方法,我也想知道。计算就很简单了,这样,在公式中把ADX赋值方式改一下就可以了。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2019-03-06
N:=14;
M:=6;
VV:=SMA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),N,1);
HD:=HIGH-REF(HIGH,1);
LD:=REF(LOW,1)-LOW;
DMP:=SMA(IF(HD>0 AND HD>LD,HD,0),N,1);
DMM:=SMA(IF(LD>0 AND LD>HD,LD,0),N,1);
PDI:DMP*100/VV;
MDI:DMM*100/VV;
ADX:SMA(ABS(MDI-PDI)/(MDI+PDI)*100,N,1);
ADXR:(ADX+REF(ADX,M))/2;

{已测试,复制可直接引用,如果回答满意,请记得给采纳}本回答被提问者和网友采纳
第2个回答  2011-09-24
这个特别简单:
N:=14;
M:=6;
TRA:= SMA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),N,1);
HD := HIGH-REF(HIGH,1);
LD := REF(LOW,1)-LOW;
DMP:= SMA(IF(HD>0 AND HD>LD,HD,0),N,1);
DMM:= SMA(IF(LD>0 AND LD>HD,LD,0),N,1);
PDI: DMP*100/TRA;
MDI: DMM*100/TRA;
ADX: SMA(ABS(MDI-PDI)/(MDI+PDI)*100,N,1);
ADXR:(ADX+REF(ADX,M))/2;

急求:帮忙把趋向指标(钱龙版本)DMI—QL,给改写成通达信中能用的公式...
1、公式我就不说了。 都是使用的钱龙算法,按理说一样的算法计算出的结果应该是一样的。2、取值的时候有些小的差异,大智慧是取小数点后3为,通达信取得是小数点后2位,并采用的是“五舍六入”的方法。但是这点差异不足以造成两种软件的ADX和ADXR值差别那么大。3、由于ADXR是根据ADX计算出来的,...

急求:帮忙把趋向指标(钱龙版本)DMI—QL,给改写成通达信中能用的公式...
N:=14;M:=6;VV:=SMA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),N,1);HD:=HIGH-REF(HIGH,1);LD:=REF(LOW,1)-LOW;DMP:=SMA(IF(HD>0 AND HD>LD,HD,0),N,1);DMM:=SMA(IF(LD>0 AND LD>HD,LD,0),N,1);PDI:DMP*100\/VV;MDI:DMM*100\/VV...

股市的DMI PDI MDI ADX ADXR 是什么意思 怎么看怎么应用
DMI-QL趋向指标(钱龙算法)用法:市场行情趋向明显时,指标效果理想。 PDI(上升方向线) MDI(下降方向线) ADX(趋向平均值) 1.PDI线从下向上突破MDI线,显示有新多头进场,为买进信号; 2.PDI线从上向下跌破MDI线,显示有新空头进场,为卖出信号; 3.ADX值持续高于前一日时,市场行情将维持原趋势; 4.ADX值递减,降到...

苹果笔记本可以用通达信软件苹果平板电脑上的通达信软件能自己做指标吗...
5. 点击"执行选股"即进行选股,并将选股结果存入条件股板块中;如果点击"选股至板块",则要求选择一个存放选股结果的板块。在选股过程中,可以中途停止。选股完毕后,系统将选股的结果列入行情窗口显示给用户查看。【定制选股】定制选股是为不会使用公式编辑器而编制的一套易用的选股工具。用户可定制三类...

相似回答