先给结论,再讲道理:"均线粘合"是全网最被滥用的词之一。它没有一个统一定义,每个写公式的人都用自己的阈值,导致同样的股票在不同版本里"有时粘合有时不粘合"。原版公式用硬编码 1.02,不随股价水平自适应,是"参数僵化"型坑的典型代表。
一、原版源码长这样
MA5:=MA(C,5); MA10:=MA(C,10); MA20:=MA(C,20); MA60:=MA(C,60); 粘合:=MAX(MA5,MAX(MA10,MA20))/MIN(MA5,MIN(MA10,MA20))<1.02; 突破:=C>MAX(MA5,MAX(MA10,MA20)) AND REF(C,1)<=REF(MA20,1); 放量:=VOL>MA(VOL,5)*1.5; 选股:粘合 AND 突破 AND 放量;
源码用1.02硬编码界定粘合,突破只看收盘穿越,未考虑60日线方向和粘合后的发散确认。
二、公式体检评分表
以下为基于源码逻辑的主观结构评分,未经历史数据验证,仅作拆解参考。
| 评分项 | 得分 | 说明 |
|---|---|---|
| 语法完整性 | 90 | 通达信可运行,无语法错误 |
| 逻辑完整度 | 45 | "粘合"无统一定义,硬编码阈值不随股价自适应 |
| 信号可用性 | 50 | 假突破多,高位发散后假粘合也入选 |
系列编号:本文为「1000个公式拆解」系列 · 均线系 · 第 3 篇(3/1000)。
三、问题一:"粘合"没有统一定义
有的版本用1.02,有的用1.03,有的用1.05。更关键的是,2%的间距对低价股和高价股的物理意义完全不同。原版公式对这个问题视而不见。
四、问题二:只用5/10/20,MA60缺席
60日线代表中期趋势方向。如果MA60还在向下,即使5/10/20粘合后突破,也很可能是反弹而非反转。原版完全不看MA60。
五、问题三:突破只看收盘穿越,不要求发散
真正的粘合突破,应该是"粘合→突破→三线向上发散"。原版只要收盘站上粘合带就选,不要求后续发散确认,导致大量"假突破"混入。
六、适用环境
长期横盘末端 ✓ 下跌转震荡 △ 需MA60配合 高位发散后 ✗
七、修复版源码
{=== 均线粘合突破 · 修复版(通达信可运行)===}
MA5:=MA(C,5); MA10:=MA(C,10); MA20:=MA(C,20); MA60:=MA(C,60);
{=== 改动1:动态粘合阈值(用ATR归一化,随股价自适应)===}
TR:=MAX(MAX(H-L,ABS(H-REF(C,1))),ABS(L-REF(C,1)));
ATR14:=MA(TR,14);
动态阈值:=1+ATR14/MA5*1.5; {随波动率自适应}
最大:=MAX(MA5,MAX(MA10,MA20));
最小:=MIN(MA5,MIN(MA10,MA20));
粘合:=最大/最小<动态阈值 AND 最大/最小<1.05;
{=== 改动2:突破+发散确认 ===}
突破:=C>最大 AND REF(C,1)<=REF(最大,1);
发散:=MA5>REF(MA5,1) AND MA10>REF(MA10,1) AND MA20>REF(MA20,1);
{=== 改动3:MA60趋势垫 ===}
趋势垫:=MA60>=REF(MA60,1);
{=== 改动4:排除ST及数据不足 ===}
排雷:=NOT(NAMELIKE('ST') OR NAMELIKE('*ST')) AND COUNT(C>0,60)=60;
选股:粘合 AND 突破 AND 发散 AND 趋势垫 AND 排雷;修复思路:用ATR动态归一化粘合阈值,替代硬编码1.02;增加突破后三线发散确认和MA60趋势垫。
八、实战操作建议
用法:寻找5/10/20日线高度粘合(间距极小),且MA60走平或上翘的股票。突破当日重点关注。
确认:突破后连续2-3天,三条均线开始向上发散(间距拉大),才是有效信号。
止损:跌回粘合区间内部,说明突破失败,应止损。
九、三条启发
启发一:"粘合"必须有量化标准,且这个标准要随股价水平自适应。硬编码百分比是偷懒。
启发二:粘合是"蓄势",突破是"释放"。没有发散确认的突破,只是"假装突破"。
启发三:永远让MA60替你把关。中期趋势向下时,短期粘合突破大多是反弹陷阱。

