通达信跳空缺口公式写起来只有几行,判断跳空要跟哪些数据、要不要看成交量、缺口什么算回补。缺口的判定看着直白:今天的最低价高于昨天的最高价,就是向上跳空,反之是向下跳空。难点在边界:开盘价与昨日最高价相等算不算、缺口当天被回补算不算、除权日的价格不连续要不要先复位。这些边界不处理,公式在少数标的上会给出与肉眼判断不同的结果,而这正是这类误判的来源。下面按分类、条件写法、参数、失效四个环节往下讲。
一、缺口的分类与判定口径
先把缺口分清楚,再写公式。按方向分两类:向上跳空与向下跳空。按位置分,缺口出现在价格区间的下沿还是上沿,对应不同的观察口径。判断逻辑只在方向这一层,位置属于后续的观察维度,不必写进条件里。
判定口径里的第一处选择是「最低价对最高价」还是「开盘价对收盘价」。最低价高于昨日最高价,是严格定义,跳空当天没有与昨日价格区间重叠;开盘价高于昨日收盘价,只说明开盘有跳空,盘中可能被回补。两种口径给出的结果集不一样,写公式前要先确定用哪一种。
{跳空缺口判定口径表}
口径 写法比较 结果特征
严格跳空(向上) 今日最低价 > 昨日最高价 当日与昨日区间不重叠
开盘跳空(向上) 今日开盘价 > 昨日最高价 开盘有缺口,盘中可能回补
严格跳空(向下) 今日最高价 < 昨日最低价 向下方向同理
开盘跳空(向下) 今日开盘价 < 昨日最低价 向下方向同理
「严格跳空」的条件更强,结果集更小,适合作为缺口形态的确认条件。「开盘跳空」宽松,适合用来做进一步筛选的入口。两者在源码上只差一个函数名,效果差别却很明显,这一点要先想清楚再动手。
二、条件怎么写
通达信里取昨日数据靠引用,取前一日取值的方式是在字段后面接一个偏移量。写向上跳空的核心表达式是「今日最低价」与「昨日最高价」做比较,昨日最高价写成 REF(HIGH,1) 的形式。
{向上跳空的条件骨架}
{今日最低价高于昨日最高价,构成向上跳空}
缺口向上 := LOW > REF(HIGH,1);
{昨日最高价高于前日最高价,与前一条串联形成连续向上跳空}
连续向上 := 缺口向上 AND REF(HIGH,1) > REF(HIGH,2);
{把连续条件作为输出,结果集为满足条件的交易日}
连续向上;
这一段里能改动的有两处:比较符号与偏移量。偏移量为 1 表示跟上一日比,改成 2 就是跟两日前比,适用于跨过停牌或周末的口径需求。比较符号改成大于等于,边界情形(两日区间恰好相接)就会进结果集,这是与严格定义的一处实际差异。
| 改动项 | 写法 | 结果变化 |
|---|---|---|
| 偏移量 | REF(HIGH,1) → REF(HIGH,2) |
比较对象后退一日,跨过中间的停牌或周末 |
| 比较符号 | > → >= |
区间恰好相接的情形进入结果集 |
| 取价字段 | LOW → OPEN |
从严判定放宽为开盘判定,盘中可回补 |
| 叠加量能 | 追加 VOL > REF(VOL,1) |
只在成交量放大的跳空上成立 |
| 叠加方向 | 追加 CLOSE > OPEN |
要求当日为阳线,剔除向下回补的形态 |
第三项的改动对结果影响最直接。取最低价是看当日整体区间,取开盘价是看开盘那一刻,两者在盘中先跳空后回补的标的上结论相反。选哪一个取决于你要观察的是形态本身的成立,还是开盘时的价格关系。
三、参数取值与可调范围
把偏移量与量能比较幅度提成参数,公式的适用范围会宽不少。参数表里可以放三项:回溯天数、量能倍数、缺口最小幅度。
{参数表建议}
回溯天数 N : 默认 1,最小值 1,最大值 5
—— 与哪一日的区间做比较
量能倍数 M : 默认 1,最小值 1,最大值 3
—— 当日成交量相对前一日的倍数门槛
最小幅度 P : 默认 0,最小值 0,最大值 5
—— 缺口的最小幅度,单位百分比
最小幅度这一项值得单独说。缺口很小时,肉眼几乎看不出断档,但严格判定仍然成立,结果集里会混进一批不显著的条目。用最小幅度过滤的办法,是要求跳空的幅度大于设定值,把这一批剔出去。参数值属于设定值,取多少由使用场景决定,没有通用最优值。
四、回补与失效:几类必须提前想到的情形
缺口写出来了,接下来要处理的是它不成立的条件。五类情形需要在公式里或在使用时处理掉。
{失效情形与处理方式}
1. 当日回补 : 盘中价格回到昨日区间之内 → 收盘后复核,或用开盘口径
2. 除权除息 : 价格序列不连续,跳空是复权造成的 → 先用不复权数据核对
3. 停牌复牌 : 中间缺了几日,昨日实际是复牌首日 → 偏移量需跳过节数
4. 一字板 : 开收高全等,四价重合 → 是否计入取决于观察目的
5. 流动性低 : 长期成交稀疏,价格断档无实际意义 → 增加成交量门槛
第 1 类与第 4 类容易混。当日回补是价格在盘中被拉回,一字板是价格全天没有波动,两者都表现为当日的四价关系紧贴,但成因不同。区分办法是看振幅:振幅接近零是后者,振幅明显但不是零是前者。
第五类要单独处理。成交稀疏的标的上,价格断档多来自买卖挂单之间的空档,不代表形态意义。加成交量门槛之后,这一类会自然退出结果集,不需要在公式里为它们写特例。
第 6 类与版本相关,单独放在这里:不同版本对取价函数与偏移量引用的支持范围有差异,同一段条件在新旧版本上的结果可能不同。这类偏差不体现在报错上,只体现在结果集的大小上,需要用官方更新记录里的函数增删逐条比对。
通达信跳空缺口公式在这些边界上的处理方式,决定了它在少数标的上会不会给出与肉眼判断不同的结论。把上面几类逐条走过一遍,再回到结果集核对,分歧会明显减少。
五、验证方法与核对顺序
公式做完,验证按四步走。每一步对应一个可以当场完成的动作。
{跳空缺口公式的验证顺序}
1. 编译 : 公式管理器 → 选中 → 点「测试公式」,确认无语法提示
2. 挂图 : 挂到主图,确认跳空位置与肉眼判断一致
3. 抽样 : 从结果集取若干交易日,逐日核对四价关系
4. 对照 : 换一种口径(严格 / 开盘)各跑一次,记录差集
第 3 步是最要紧的一步。从结果集里挑出跳空当天,在 K 线图上把当日的最高、最低、开盘、收盘与昨日的对应值抄下来,按公式里的比较符号手工验一遍。手工验不过的条目,就是公式与实际判断的分歧处,分歧集中出现在前文列的几类边界上。
第 4 步的差集用来判断口径选择是否合理。严格口径多出来的条目是「区间不重叠但开盘未跳空」的形态,开盘口径多出来的条目是「开盘跳空但盘中回补」的形态。看这批条目符不符合你的观察目的,再决定用哪一种。
六、边界声明
通达信跳空缺口公式是形态判定工具。它输出的是「某日价格区间是否断开」这一事实判断,不包含对断开之后价格走向的任何推断。这句话不是场面话:缺口与后续价格之间的关系属于另一类问题,需要单独的样本与口径,不在公式的能力范围内。
还有两点使用上的限制。一是数据依赖:跳空判定依赖至少两个连续交易日的四价数据,数据未更新或数据缺失的时点上,公式取不到返回值,输出为空属于正常。二是周期依赖:同一段逻辑在日线与分钟线上对应的时间跨度不同,跳空的统计意义也随之变化,跨周期使用要重新核对偏移量。
把这两点记进使用记录,后面再遇到输出为空或结果与预期不同,先查这两项,再动公式。
本文只作技术研究口径,不涉及也不构成对任何标的的判断。
站内还有 量价形态与信号拆解 的条目,通达信公式编写教程 里讲语法与函数引用,指标回测与风险验证 里讲样本与偏差控制,通达信主图副图指标 里讲挂载与输出渲染,可对照查看。
