夜雨聆风学习资料网

ARTICLE · 1107246

通达信「炸板缩量回调」公式源码解读:捕捉涨停炸板后的缩量阴跌买点

通达信「炸板缩量回调」公式源码解读:捕捉涨停炸板后的缩量阴跌买点

风帆量化 · 通达信公式编程教学

温馨点击上方"风帆量化" → 点击右上角 "..." → 选 "设为星标"★

今天拆解一款专注涨停炸板后缩量回调的通达信副图兼条件选股指标,名字叫「炸板缩量回调」。

一只股票盘中一度摸到涨停(俗称炸板),说明当天有资金试图拉板;但没能封住、收盘回落,说明抛压也不小。这种票后面怎么走,是短线客最关心的。这个指标要找的,是炸板之后一段时间里缩量阴跌、把追高的人洗出去、最后连炸板那天的收盘价都跌破的那一刻——它认为这是情绪释放比较充分、容易出现修复的位置。

「炸板缩量回调」把这段走势拆成几个可编程的条件:分市场涨停幅度、定义涨停/跌停/炸板、定位最近一次炸板、要求炸板当天是阳线且之前十天空仓、炸板后持续缩量阴跌、今天收阴并跌破炸板日收盘价。下面逐层拆解编写思路,最后附上副图指标版与条件选股版两段完整源码(两者同源,一份公式两用)。

一、这个指标在做什么?(整体逻辑速览)

该指标围绕「涨停炸板后的缩量回调买点」来写,构建 5 层筛选体系:

① 分市场幅度层:用 CODELIKE 区分沪深主板、创业板/科创板、北交所,分别给 10% / 20% / 30% 的涨停幅度,保证各市场涨停判断准确

② 涨停/跌停/炸板定义层:ZT 是收盘封板,DT 是收盘跌停,ZB 是盘中摸到涨停价却没封住(收盘低于最高),三者互不重叠

③ 定位炸板层:ZBN 用 BARSLAST 记录距离最近一次炸板过了多少根 K 线,是后面所有时间窗口的标尺

④ 环境与当天确认层:要求炸板当天是阳线、炸板前 10 天无任何涨停/炸板/跌停(盘面平静)、炸板发生在 3~15 天前

⑤ 缩量回调买点层:炸板之后每一天都缩量且没再涨停跌停、今天收阴、并且收盘价向下跌破炸板那天的收盘价,即回调到炸板日成本以下

核心定位:只做涨停炸板之后、缩量阴跌、跌破炸板日收盘价的那一刻,不做连续涨停的追高,也不做毫无涨停痕迹的普通阴跌。

二、逐层拆解

第 1 层:分市场识别与涨停幅度

SH:=CODELIKE('60') OR CODELIKE('00');SZ:=CODELIKE('30') OR CODELIKE('68');SS:=CODELIKE('9');X1:=IF(SH,0.1,IF(SZ,0.2,IF(SS,0.3,100)));

不同市场涨停幅度不一样。CODELIKE('60') 匹配沪市主板(600/601/603 开头),CODELIKE('00') 匹配深市主板(000/001/002 开头);SZ 覆盖创业板(300/301)和科创板(688);SS 覆盖北交所(8/9 开头,这里用 '9' 兜底)。X1 用嵌套 IF 给每个市场对应的涨停幅度:主板 10%、双创 20%、北交所 30%,其余用 100 当占位(永远不会触发)。这个 X1 后面喂给 ZTPRICE 算真实涨停价。

学习要点:CODELIKE 按代码前缀判断市场归属,配合 IF 嵌套就能给不同板块不同的涨跌停幅度。

第 2 层:定义涨停、跌停与炸板

ZT:=C=H AND C>=ZTPRICE(REF(C,1),X1);DT:=C=L AND C<=DTPRICE(REF(C,1),X1);ZB:=C<H AND H>=ZTPRICE(REF(C,1),X1);

ZTPRICE(昨收,幅度) 是通达信算涨停价的函数,DTPRICE 算跌停价。ZT(涨停)要求收盘价等于最高价且达到涨停价——也就是实打实封死;DT(跌停)同理。关键的 ZB(炸板)定义是 C<H 且最高价摸到了涨停价——盘中一度封板或摸到涨停,但收盘没守住(收盘价低于最高),这就是典型的炸板。三个定义互不重叠,把一天的强弱拆成三种状态。

学习要点:区分「封死」和「摸板」是短线公式的基本功。C=H 表示收盘即最高(封板),而 C<H 配合最高价触板,就是炸板。

第 3 层:定位最近一次炸板

ZBN:=BARSLAST(ZB);

BARSLAST(ZB) 返回上一次 ZB 成立距离今天有多少根 K 线。比如上一次炸板发生在 5 天前,ZBN 就是 5。这个数值是后面所有「炸板后第几天」判断的标尺,也是时间窗口的开关。

学习要点:BARSLAST(X) 是做「距离某事件第几天」判断的核心函数,配合 REF 可以精准定位事件当天的价格。

第 4 层:环境与炸板当天属性

REF(C>O,ZBN)AND REF(EVERY(ZT=0 AND ZB=0 AND DT=0,10),ZBN+1);

这两段都在「炸板日」附近做环境过滤。REF(C>O,ZBN) 表示炸板当天是阳线——炸板那天是上涨去摸板的,收阳才合理。REF(EVERY(...),ZBN+1) 表示在炸板日往前数 10 天里,没有任何涨停、炸板、跌停,也就是说炸板之前盘面相对平静,不是连续异动的票。把「突发异动」和「一直妖」两类都排除掉,只留相对干净的票。

学习要点:EVERY(X,N) 判断最近 N 天是否每天都满足 X,配合 REF 往前推,能描述「事件之前 N 天始终平静」这种状态。

第 5 层:缩量回调与今天买点(输出 XG)

XG:CROSS(REF(C,ZBN),C) AND C<O AND EVERY(V<REF(V,ZBN) AND C<REF(H,ZBN) AND ZT=0 AND DT=0,ZBN) AND ZBN<15 AND ZBN>3AND REF(C>O,ZBN)AND REF(EVERY(ZT=0 AND ZB=0 AND DT=0,10),ZBN+1);

这一整段就是选股输出 XG,拆开看:EVERY(...,ZBN) 要求从炸板日之后到今天,每一天都满足「成交量小于炸板日、收盘价低于炸板日最高、非涨停、非跌停」——也就是一路缩量阴跌、没再起波澜。ZBN<15 AND ZBN>3 把窗口卡在 3~15 天。最后的 CROSS(REF(C,ZBN),C) 是核心:今天收盘价向下跌破「炸板那天的收盘价」,配合 C<O(今天收阴),认为回调已经打到炸板日追高盘的成本区,情绪释放得比较充分。整体就是「炸板 → 缩量阴跌 → 跌破炸板日收盘价」的买点信号。

学习要点:CROSS(A,B) 判断 A 下穿 B(把两参数顺序反过来就是上穿),用它描述「价格跌回某根关键 K 线收盘价」非常直观。

三、实战图例:信号在图上长什么样?

下图是副图指标加载后的效果示意:条件成立时,副图上会画出一条 0/1 跳变的 XG 信号线,信号日对应那根缩量阴线;由于没有专门的画图语句,信号表现为副图上的尖峰。

看图重点:这份公式同时可作副图指标和条件选股;作副图导入时,XG 这条 0/1 输出线会在信号日跳到 1,用来标记「炸板缩量回调到位」的位置。图中信号仅展示公式输出形态,不构成投资建议。

四、版本差异对比

本次配套副图指标版与条件选股版,逻辑同源、一份公式两用,适配不同复盘场景:

对比维度
副图指标版
条件选股版
核心功能
K 线下方输出 XG 信号线,标记买点位置
直接输出符合条件的股票池
信号条件
同源:炸板 + 缩量回调 + 跌破炸板日收盘价
同源,完全一致
输出形式
0/1 跳变信号线,肉眼可见
批量筛选结果,无图形
适用场景
个股跟踪、复盘时看信号位置
盘后全市场批量选股、盘中预警

五、实战使用注意事项(必看)

① 核心适用场景:指标找的是「涨停炸板之后缩量阴跌、跌破炸板日收盘价」的位置,属于情绪释放后的修复预期,不是趋势追涨。用之前要明白它赌的是「炸板日追高盘被洗干净」,而非继续走强。

② 信号在表达什么:一根收阴、且收盘价跌破了炸板那天收盘价的 K 线,并且炸板之后一路缩量。它出现在炸板后 3~15 天之间。这类形态的含义是短期抛压衰减,但不保证反转,需结合大盘和个股位置。

③ 炸板前 10 天平静:公式要求炸板前 10 天没有涨停/炸板/跌停,目的是排除已经连续异动、筹码很乱的票。如果你想要更宽松,可以把这个 10 改成 5;想要更严格改成 20。

④ 时间窗口 3~15 天:ZBN<15 AND ZBN>3。窗口太长信号会滞后,太短洗盘不充分。行情节奏快可调到 ZBN<10,慢可放到 ZBN<20。

⑤ 关于跌破炸板日收盘价:CROSS(REF(C,ZBN),C) 是今天收盘向下击穿炸板日收盘价。如果你想改成「跌破炸板日最低价」(更狠的洗盘),把 REF(C,ZBN) 换成 REF(L,ZBN) 即可。

六、延伸学习

1. ZTPRICE(昨收,幅度) 与 DTPRICE(昨收,幅度):通达信算涨停价、跌停价的专用函数,幅度用小数(0.1 即 10%);

2. BARSLAST(X):返回上一次 X 成立到今天间隔的 K 线数,做「距离某事件第几天」判断的常用函数;

3. EVERY(X,N):最近 N 根 K 线是否每天都满足 X,用来描述「连续 N 天缩量/无涨停」这种持续状态。

七、完整源码(复制前请先对照上方逐层解读)

副图指标完整版(输出信号值):

SH:=CODELIKE('60') OR CODELIKE('00');SZ:=CODELIKE('30') OR CODELIKE('68');SS:=CODELIKE('9');X1:=IF(SH,0.1,IF(SZ,0.2,IF(SS,0.3,100)));ZT:=C=H AND C>=ZTPRICE(REF(C,1),X1);DT:=C=L AND C<=DTPRICE(REF(C,1),X1);ZB:=C<H AND H>=ZTPRICE(REF(C,1),X1);ZBN:=BARSLAST(ZB);XG:CROSS(REF(C,ZBN),C) AND C<O AND EVERY(V<REF(V,ZBN) AND C<REF(H,ZBN) AND ZT=0 AND DT=0,ZBN) AND ZBN<15 AND ZBN>3AND REF(C>O,ZBN)AND REF(EVERY(ZT=0 AND ZB=0 AND DT=0,10),ZBN+1);

条件选股完整版(专用批量筛选):

SH:=CODELIKE('60') OR CODELIKE('00');SZ:=CODELIKE('30') OR CODELIKE('68');SS:=CODELIKE('9');X1:=IF(SH,0.1,IF(SZ,0.2,IF(SS,0.3,100)));ZT:=C=H AND C>=ZTPRICE(REF(C,1),X1);DT:=C=L AND C<=DTPRICE(REF(C,1),X1);ZB:=C<H AND H>=ZTPRICE(REF(C,1),X1);ZBN:=BARSLAST(ZB);XG:CROSS(REF(C,ZBN),C) AND C<O AND EVERY(V<REF(V,ZBN) AND C<REF(H,ZBN) AND ZT=0 AND DT=0,ZBN) AND ZBN<15 AND ZBN>3AND REF(C>O,ZBN)AND REF(EVERY(ZT=0 AND ZB=0 AND DT=0,10),ZBN+1);

⚠️ 互动问答:

使用指标时遇到任何问题(如安装、信号解读等),欢迎在留言区提问,我会第一时间解答!

也可以分享你的使用心得 —— 这个指标帮你抓住过哪些机会。

👥 制作不易,麻烦点亮右下角的 "👍" + "❤" 支持一下!

📢 转发给身边朋友,一起交流进步~

👉 喜欢我的分享?记得关注我,持续更新干货!

⚠️ 免责声明

本文所有源码及解读内容仅为通达信公式编程教学,目的在于帮助读者理解指标编写逻辑和函数用法。文中提到的任何指标名称、信号条件、参数设置均不构成任何投资建议。

指标是辅助分析工具,其信号仅反映特定数学条件是否满足,不代表对未来走势的预测。实际使用时请务必结合自身判断和其他分析方法,理性决策。投资有风险,入市需谨慎。

相关学习资料