这公式源码里藏了一个未来函数,回测谁都赚,实盘谁都懵
先说结论:这公式含未来函数,回测好看、实盘没用。
打开源码前几行挺正常:
周期:=15; 过滤:=8; VAR2:=MA(CLOSE,5); VAR3:=MA(CLOSE,10); VAR4:=MA(CLOSE,20); VAR5:=MA(CLOSE,30); VAR6:=(VAR2+VAR3+VAR4+VAR5)/4; VAR7:=(VAR6-REF(VAR6,周期))/REF(VAR6,周期)*100; VAR9:=EMA(VAR7,过滤);
VAR6 是MA5、MA10、MA20、MA30 四条均线的平均值,相当于一条综合趋势线。VAR7 是这条线 15 天的涨跌幅,VAR9 是它的 8 日 EMA。这部分是正常的动量计算,没有未来。
问题在最后两行:
红包:=IF((TROUGHBARS(3,15,1)=0) AND (HIGH>LOW+0.01),10,-5); XG:红包=10;
TROUGHBARS(3,15,1) 是关键。这个函数的意思是:在最近 15 根 K 线里找一个波谷,返回这个波谷距离今天有多少根 K 线。TROUGHBARS=0 意味着今天被判定为波谷。
但问题来了 ——怎么判定今天是不是波谷?需要看后面几根 K 线是不是真的比今天高。也就是说,今天能不能出信号,要等后面几天走出来才知道。
这就是未来函数。你在软件上看到的信号,是 "事后诸葛亮"。比如 3 月 5 日的信号,可能要到 3 月 8 日走势确认之后,软件才 "补" 上去说 3 月 5 日是波谷。你在 3 月 5 日收盘当时是看不到这个信号的。
HIGH>LOW+0.01 这个条件是过滤那种一字线、完全没波动的 K 线。
源码直接复制,副图使用(但强烈不建议实盘):
周期:=15; 过滤:=8; VAR2:=MA(CLOSE,5); VAR3:=MA(CLOSE,10); VAR4:=MA(CLOSE,20); VAR5:=MA(CLOSE,30); VAR6:=(VAR2+VAR3+VAR4+VAR5)/4; VAR7:=(VAR6-REF(VAR6,周期))/REF(VAR6,周期)*100; VAR9:=EMA(VAR7,过滤); 红包:=IF((TROUGHBARS(3,15,1)=0) AND (HIGH>LOW+0.01),10,-5); XG:红包=10;
说几句行业里的实话。
第一,网上很多 "抄底"" 逃顶 ""精准买卖" 指标,核心都靠未来函数。回测图上信号一个个精准踩在最低点最高点,你以为是神器,其实是软件在事后帮你挑位置。你把它装到实盘上会发现:信号要么延后 3 天到一周才出现,要么今天出了明天又消失。
第二,TROUGHBARS、PEAK、REFX、ZIG 这些函数都是典型未来函数。看源码的时候只要看到这几个字,直接关掉。不管包装多华丽 ——"红鸟"" 蓝鸟 ""金叉"" 擒龙 "—— 核心逻辑是未来函数,就别浪费时间。
第三,VAR6 到 VAR9 这部分其实可以单独用。四均线均值的 15 日动量,做一个趋势判断是可以的。问题只是最后那个 TROUGHBARS 把整个公式变成了 "事后图"。如果你真喜欢这个思路,把最后两行删掉,单独看 VAR9 这个动量线的方向就行。
第四,识别未来函数的简单办法:在软件上把信号往左移几天看 —— 如果信号会 "漂移"(今天看是 3 月 5 日,明天看变成 3 月 6 日),那就是未来函数。真正的信号是固定在历史位置不动的。
指标仅为技术交流,不构成投资建议。市场有风险,入市需谨慎。含未来函数的公式尤其不能作为实盘依据。
扩展阅读:https://mp.weixin.qq.com/s/ulNhpk6vZjTSPhlKyY4UiA


