最近有网友在百度知道中提到,通达信软件与大智慧软件写入相同的计算公式,但是计算出来的指标结果却不尽相同,尤其是在次新股中,差异较大,比如用钱龙的计算方式计算出来的DMI指标(DMI-QL)。
举例来说,在次新股300238冠昊生物中,打开周K线图,大智慧默认指标DMI-QL,2011年9月23日该指标四个主要参数:PDI为14.272 MDI为9.906 ADX为40.297 ADXR为30.116 ,如果我们提取出大智慧DMI-QL指标的公式,在不改变该公式计算方式和取值的基础上,稍作修改将其放入通达信中,生成通达信公式,按理来说,计算方式相同,取值相同,得出的结果也应该是相同的。可是当我们使用通达信打开300238的周K线图,看到2011年9月23日该指标的四个主要参数,却是分别为:PDI 14.27 MDI 9.91 ADX 91.62 ADXR 95.81
这里边我们发现,PDI和MDI的计算结果是基本一致的,差别主要在于大智慧是取小数点后的3位数,而通达信只取2位,并且进行了“五舍六入”,差异最大的是ADX值和ADXR值,那么是什么原因造成了这么大的差异哪?
笔者经过仔细对照和计算后发现,造成这种问题的原因主要是由于通达信软件中SMA函数的计算方式有错误。下面我们来深度剖析一下通达信和大智慧在计算DMI-QL公式的过程中,对SMA进行计算时的区别。
还是以300238冠昊生物周K线图为例:(由于300238周K线图只有12根K线,而我们对DMI指标中的参数进行SMA平均的时候取值为14,在无法得到取值数据的时候,默认取值为0,才会出现上述问题。)
下面先列出相关公式:(N=14 M=6)
大智慧DMI-QL
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)
举例来说,在次新股300238冠昊生物中,打开周K线图,大智慧默认指标DMI-QL,2011年9月23日该指标四个主要参数:PDI为14.272 MDI为9.906 ADX为40.297 ADXR为30.116 ,如果我们提取出大智慧DMI-QL指标的公式,在不改变该公式计算方式和取值的基础上,稍作修改将其放入通达信中,生成通达信公式,按理来说,计算方式相同,取值相同,得出的结果也应该是相同的。可是当我们使用通达信打开300238的周K线图,看到2011年9月23日该指标的四个主要参数,却是分别为:PDI 14.27 MDI 9.91 ADX 91.62 ADXR 95.81
这里边我们发现,PDI和MDI的计算结果是基本一致的,差别主要在于大智慧是取小数点后的3位数,而通达信只取2位,并且进行了“五舍六入”,差异最大的是ADX值和ADXR值,那么是什么原因造成了这么大的差异哪?
笔者经过仔细对照和计算后发现,造成这种问题的原因主要是由于通达信软件中SMA函数的计算方式有错误。下面我们来深度剖析一下通达信和大智慧在计算DMI-QL公式的过程中,对SMA进行计算时的区别。
还是以300238冠昊生物周K线图为例:(由于300238周K线图只有12根K线,而我们对DMI指标中的参数进行SMA平均的时候取值为14,在无法得到取值数据的时候,默认取值为0,才会出现上述问题。)
下面先列出相关公式:(N=14 M=6)
大智慧DMI-QL
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)
