这个公式在好几个股票社区里被传,说是"机构悄悄在用的信号"。
我把代码拆开了,发现它的三个条件里,有两个是彻头彻尾的"无效条件"——发出信号靠的完全只是第三个条件。
我把代码拆开了,发现它的三个条件里,有两个是彻头彻尾的"无效条件"——发出信号靠的完全只是第三个条件。
先说它的设计思路,听起来挺像那么回事的:
量能已经饱和(说明资金在进场)
价格已经在高位(说明已经涨了一段)
短期均线金叉(说明刚启动,还没涨够)
三者叠加 = 最后的上车机会
逻辑链是完整的。我实测了一遍,发现问题出在条件本身。
问题一:量能饱和度,永远是100%
公式里有一个指标叫"饱和度",计算的是量价比归一化。
实测44075个样本,饱和度的中位数是100,p90是100,p95还是100——几乎永远是100。
所以公式里"饱和度>=88"这个条件,在99%的情况下都为真,等于没写。
问题二:持股线<50,在价格高位时几乎不可能满足
公式要求"持股线<50"并且"位置值>80"同时成立。
实测数据告诉我们:价格已经在80分位(近34天价格的前20%)的时候,持股线的中位数大约是62。
要让持股线同时<50,价格还必须在80分位以上——这件事发生的概率本来就极低。
所以整个公式真正在起作用的条件,只剩下"位置值>80"这一条。
这不是bug,是设计意图,但有个更隐蔽的问题
原版用的是 HHV(C, 34),用的是收盘价的34日最高点。
但日内是有可能刺高又回落,收盘没创新高的。
如果改成 HHV(H, 34),会认日内的刺高,位置值会系统性偏高约3~8%,信号会更少,但逻辑更完整。
优化版:把两个失效条件修成真约束
{=== 量比修复 ===}
量比:=IF(AMOUNT>0 AND (HHV(AMOUNT,34)/HHV(C,34))>0,
(AMOUNT/C)/(HHV(AMOUNT,34)/HHV(C,34)), 1);
饱和度:=MIN(1,量比)*100;
{=== 位置值改用日内高点 ===}
位置值:=(C-LLV(L,34))/(HHV(H,34)-LLV(L,34))*100;
{=== 持股线约束改为动态 ===}
{原版持股线<50在价格高位时几乎不可能满足}
{改为:持股线相对自身60日位置<40,即"相对自身历史仍在中部以下"}
持股线位置:=(持股线-LLV(持股线,60))/(HHV(持股线,60)-LLV(持股线,60))*100;
持股线低位:=持股线位置<40;
{=== 信号 ===}
强者恒强:饱和度>=88 AND 位置值>80 AND 持股线低位;一句话总结
这个公式真正在起作用的只有一条:价格已经在高位。
量能饱和度是死代码,持股线<50几乎不可能和高位同时满足。
优化之后,它才真正变成"量价位置三维共振"的工具。
原版不是不能用,只是你实际上只用了一维。
