晚上群里的某位朋友提到了DMI寻找红洞和黑洞的公式,于是摸索了一下,尝试性的编了一个出来.
原理很简单:洞的形成时间很短,一般3-4天内,因此比较3天内+di和-di的数值大小就可以筛选出有洞的股票了. 通达信在if内用ref会导致结果不准,先赋值可以解决这个问题(也许是我的用法有错误). 公式如下 参数 N:14(dmi的默认参数) TR:=EXPMEMA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(REF(CLOSE,1)-LOW)),N); HD :=HIGH-REF(HIGH,1); LD :=REF(LOW,1)-LOW; DMP:=EXPMEMA(IF(HD>0&&HD>LD,HD,0),N); DMM:=EXPMEMA(IF(LD>0&&LD>HD,LD,0),N); PDI:=DMP*100/TR; MDI:=DMM*100/TR; A:=REF(MDI,2); B:=REF(PDI,2); D:=REF(MDI,1); E:=REF(PDI,1); F:=MDI; G:=PDI; I: IF(B>A,1,0) AND IF(D>E,1,0) AND IF(G>F,1,0); |
|