这个"九连板"公式里一个板都没数:DMA自适应成本线写法与三处Bug修复通达信
读者发来一个叫"九连板·机构资金突破关键位"的副图公式,让我看看。拆开一读发现两件事:第一,它的思路其实很漂亮;第二,里面有三处Bug,不修的话跑出来基本是废的。这篇把思路和踩坑一起记下来。
一、先说思路:它到底在抓什么
名字叫"九连板",但公式里没有 COUNT(涨停,9),一个板都没数。它抓的是四件事同日发生:
① 光头涨停: |
换句话说,它筛的不是"涨得最猛的",是具备连板筹码结构的启动点。名字是营销,逻辑是成本分析。
二、最有意思的一段:DMA自适应成本线
原公式这几行是精华:
XXSP3:=(3.48*CLOSE+HIGH+LOW)/4; {加权均价,收盘权重3.48} XXSP4:=EMA(CLOSE,20); {20日成本中枢} XXSP6:=ABS((XXSP3-XXSP4)/XXSP4); {乖离率=自适应系数} XXSP8:=DMA(XXSP7,XXSP6); {乖离大→跟得紧,乖离小→跟得松} XXSP9:=EMA(XXSP8,200); {200日机构关键位} |
一般写法是 DMA(X, VOL/CAPITAL) 用换手率做平滑系数。这里换成乖离率做系数,是个挺巧的改造:
价格贴着中枢走(乖离小)→ 系数接近0 → 线变得很钝,横盘噪声被滤掉
价格突然拉离中枢(乖离大)→ 系数变大 → 线立刻跟上来,不滞后
结果就是一条"平时装睡、异动秒醒"的成本线,比固定参数的 EMA200 更贴主力真实持仓成本。这个技巧可以迁移到任何需要"自适应均线"的场景,值得记住。
XXSP13:=XXSP9 * 1.118 也值得说一句:突破位不是贴线,而是留了 11.8% 的容错带。因为真正的主力突破往往一根涨停就直接离开成本线10%以上,贴线判定反而会漏掉最好的那根。
三、三处Bug(重点,别照抄原版)
Bug 1:一行永远为真的废条件
原:XXSP11:=REF(C,1)*100>9; {≡昨收>0.09元,恒真} 改:XXSP11:=REF(C,1)<9; {低价股过滤,作者写反了} |
REF(C,1)*100>9 翻译成人话是"昨天股价高于9分钱"。A股没有9分钱的票,所以这行永远返回1,等于没写。结合上下文(后面拿它当分母、且"九连板"都是低价妖股),作者本意几乎肯定是 <9,比较符写反了。
Bug 2:拿恒真值当分母
原:XXSP12:=XXSP10/XXSP11; 改:XXSP12:=IF(REF(C,1)>0,XXSP10/REF(C,1),0); |
Bug 1 不修,XXSP12 就退化成"涨跌了几块钱",低价股和百元股混在一起完全不可比。修完才是真正的涨跌幅。顺便加个除零保护,遇到停牌/异常数据不炸公式。
Bug 3:写死的市场环境会过期
原:XXSP2:=AMOUNT<400000000; {写死4亿} 改:XXSP2:=AMOUNT<MA(AMOUNT,20)*1.5; {相对量能} |
这是公式编写里最常见的隐性过期:写死金额/手数/家数的阈值,绑死了作者写公式那天的市场水量。放量年份一条都选不出,缩量年份选一堆杂毛。凡是需要表达"没过度放量",优先用相对量(对比自身20日均量),别用绝对数。
另外 XXSP3:=(3.48*C+H+L) 少了 /4,语义上不是均价而是"加权和"。虽然后面做比值时抵消了,但建议补上,否则半年后自己都读不懂。
四、修正后完整源码
{九连板·机构破位 · 选股 修正版} XXSP1:=C/REF(C,1)>1.095 AND H=C; {光头涨停} XXSP2:=AMOUNT<MA(AMOUNT,20)*1.5; {锁筹:相对量能} XXSP3:=(3.48*CLOSE+HIGH+LOW)/4; XXSP4:=EMA(CLOSE,20); XXSP6:=ABS((XXSP3-XXSP4)/XXSP4); {乖离=自适应系数} XXSP7:=(2.15*CLOSE+LOW+HIGH)/4; XXSP8:=DMA(XXSP7,XXSP6); XXSP9:=EMA(XXSP8,200); {200日机构关键位} XXSP12:=IF(REF(C,1)>0,(C-REF(C,1))/REF(C,1),0); XXSP13:=XXSP9 * 1.118; {+11.8%突破带} 九连板:CROSS(C,XXSP13) AND XXSP12>0.095 AND XXSP1 AND XXSP2; Ctrl+A 全选复制 → 公式管理器 → 条件选股 → 新建 |
关于未来函数:DMA 和 EMA 都是从上市首日向后递推的,只吃历史数据,不回看未来;CROSS/REF 同理。这版无未来函数,信号不漂移。(注意别和 ZIG/PEAK/FUTURE 那类混为一谈。)
五、主副图怎么配
主图:关键位画皇家蓝粗线(COLOR4169E1),突破带画金色虚线(COLORFFD700)。成本线下方的K线统一压暗成灰色——那是"没资格区";突破日皇家蓝实心+金色光头上影+上挑箭头。视觉上一眼分出暗区/亮区。
副图:主轴不是成交量,而是乖离率 (C/关键位-1)×100 紫色折线,零轴上方填充成本带,突破日皇家蓝爆发柱+涨幅数字。看的是"离机构成本多远",不是"今天多少手"。
配色:皇家蓝+宝蓝金(机构冷感),黑底上辨识度高,和前几期的赤铜/翡翠/银蓝都不撞。
六、参数可调项
· 突破带宽度:1.118 可改 1.05~1.15(越小越早但越松) |
最后一个提醒:H=C 判光头在集合竞价一字板上也会成立,但那种票你根本买不到。想过滤掉一字板,可以加 AND L<H(当天有过波动),把纯一字剔除。
|








