未来函数可能引用未来发生的数据,对原来的判断进行修改,这会导致信号漂移,比如产生原来没有的信号、原来的信号改变位置或者已经产生的信号消失。
一、未来函数如何偷梁换柱?
单纯讲概念,对未来函数也没有深刻的认识,下面就举一个奇葩的例子,来了解未来函数如何实现偷梁换柱。
首先问一个问题:可以精准预测明天涨停吗?如果不考虑消息等因素,那么明显不可能做到精准预测,但是指标使用未来函数可以给你预测的假象。
ZT:=C/REF(C,1)>1.095 AND C=H;
BS:=BACKSET(ZT,2);
QYT:FILTER(BS,2);
把指标加载到附图,可以发现,都在涨停前一天发出了信号。
明明不可能,这是怎么样做到的呢?技术Pie来分析一下源码:
ZT:=C/REF(C,1)>1.095 AND C=H;,这一句表示涨停,为了举例方便,只考虑涨跌停为10%的情况。
BS:BACKSET(ZT,2);,这一句表示如果涨停就把当天和前一天都置为1。在通达信中,经常用1和0来判断条件是否成立,都置为1,就表示当天和前一天条件都成立了。(如下图)
QYT:FILTER(BS,2);,FILTER用来过滤重复出现的信号,FILTER(BS,2)表示2天内出现重复信号就过滤掉,经过这样处理,只会在涨停前一天发出信号,涨停当天不出现信号。
通过上面的介绍,应该可以明白假象产生的原因。简单来说,就是知道当天涨停了,再去改变前一天的判断结果,在涨停前一天就发出信号,这对交易没什么帮助。
二、检测未来函数
一般的未来函数,通达信会在窗口左下角显示“用到未来数据”(如下图),但是公式使用了未来函数,信号就一定会漂移吗?这不见得,有的未来函数经过严格的限制,可以实现信号不漂移。此外没有使用未来函数,信号就不漂移吗?这也不一定,有的函数通达信不标注未来函数却有未来性质,而且有时候逻辑错误也可能导致信号漂移。
采用分析代码的方法太难了,而且有的错误可能隐藏比较深,不容易看出来。通达信有两个功能——训练模式和沙盘推演,可以用来检测未来函数。
1、训练模式
在看盘界面,右键单击,在菜单中选择“训练模式”。
在弹出的窗口中,点击1处的下拉箭头,可以选择训练开始的时间,选择之后,点击2处的“更换至此日期”,然后点击3处的“下一K线”,就可以开始观察信号。
如果不想手动播放,可以调整“播放步长”。0.5秒/步就是1秒播放2根K线,如果觉得比较慢,可以调小。调整之后,点击“自动播放”。
测试信号漂移只是训练模式的一个功能,还可以用来复盘,做模拟交易,我这里就不详细讲了。
2、沙盘推演
沙盘推演也可以用来复盘查看信号是否漂移。在看盘界面,右键单击,在菜单中选择“沙盘推演”。点击“开始播放”,就会自动开始播放行情。
3、区别
训练模式不能后退,只能通过选择日期后退。沙盘推演不能选择日期,可以前进后退,播放中途停止会卡住。两种方式都可以检测未来函数,看自己的使用习惯。
最后说明一下,未来函数是否一无是处呢?不见得,要看怎么使用。有的未来函数经过严格的限制,可以实现信号不漂移。不过新手还是不建议使用,等有足够的经验之后再来尝试。
关注技术Pie,学习更多通达信指标公式编写知识。
友情提醒:本文仅供学习交流技术指标公式,不构成任何投资建议。投资有风险,入市需谨慎!