看到通达信的虚拟成交量,也想在飞狐里做出一个类似的指标。 试了几次,终于成功了,现在将两者都列出来,与大家分享。 觉得这是学习指标公式比较好的例子,也是在不同软件中探索转换指标的一个参考。 {VOL虚拟 TDX}V1:=V/10000; V1V1OL:=IF(CURRBARSCOUNT=1 AND PERIOD=5,V1*240/FROMOPEN,DRAWNULL),NODRAW; STICKLINE(CURRBARSCOUNT=1 AND PERIOD=5,V1V1OL,0,-1,-1),COLOR00C0C0; STICKLINE(C>=O,0,V1,2.5,0),COLORRED; STICKLINE(C<O,0,V1,2.5,0),COLORFFFF00; V5:MA(V1,5),COLOR00FFFF; V10:MA(V1,10),COLORFF1100; V虚_V:V1V1OL/V1,COLORFFFFFF,NODRAW;{VOL虚拟 FH}V1:=V/10000; V1V1OL:=if(BARSTATUS=2 ,V1*240/OPENMINUTES(CURRENTTIME),0),linethick0; STICKLINE(BARSTATUS=2,V1V1OL,0,7,7),COLOR00cc00; STICKLINE(C>=O,0,V1,7,0),COLORRED; STICKLINE(C<O,0,V1,7,0),COLORFFFF00; V5:MA(V1,5),COLOR00FFFF; V10:MA(V1,10),COLORFF1100; V虚_V:V1V1OL/V1,COLORffffff,linethick0;{-------------------------------- end ----------------------------------------}飞狐编译,需要转换通达信几个函数,如下(括号内为注释): tdx vs fh (有些为dzh的) CURRBARSCOUNT=1 --------- BARSTATUS=2 (本来准备换为DATACOUNT-BARPOS=1的,但发现编译不过,换大智慧的,测试OK!PS: 大智慧不少函数飞狐可以共用,编译时也可以参考大智慧的一些函数) NODRAW --------- linethick0 (linethick0 在飞狐通达信中都不会显示线,但作用不同,在通达信里是画而不显,有时会影响显示的效果,飞狐里也可能是不画,反正不会改变副图显示效果,只显示数字,与通达信 NODRAW 对等) FROMOPEN --------- OPENMINUTES(CURRENTTIME) PERIOD=5 --------- 删除处理 (虽然两种软件都有PERIOD 函数,5都表示日的周期,但发现编译不过,删掉,测试OK!) DRAWNULL --------- 飞狐中还没有代替的函数,但根据意义可以在飞狐里修改if函数,设置输出为零,代替。此处用飞狐Partline函数处理,效果不好,弃用) 其它: 1.飞狐 通达信 量柱宽度参数设置范围不同,飞狐7大致为通达信2.5的效果; 2.飞狐数据 准确度 算法 数据传输方式 小数位数 可能都与通达信有些差异,实际显示数据可能略有不同; 3.飞狐不能显示虚线的量柱,用边框代替,同时设置了 V虚_V 参数,或许是个实用的比值; 4. 实际应用中,V1V1OL 的数字,VOL都不需要显示出来,显示有 V虚_V值 即可, V/10000 处理 同样是为了显示效果更简洁;如果需要,可以将对应位置的“=”去掉; 5. 附件图为盘中先后(间隔不超过1分钟)捕捉的,价格有轻微差异。 不同软件中转换或者改编公式,首先需要理解原公式的作用,实现的方式,以及所用的函数的用法, 还需要了两种软件各自的函数以及它们的对应关系,在实际应用时可能还需要进行取舍,简化或者优化。 合适的函数和参数才可能得到比较准确的数字,及显示效果。 这只是个人的一点小体会,希望对指标编写爱好者和正在学习编写指标的人有所帮助。
  |