ARTICLE · 1209395
通达信"涨停十字星"源码解读:涨停后高开回落收十字星的低吸逻辑
温馨点击上方"风帆量化" → 点击右上角 "..." → 选 "设为星标"★
今天拆解一款把涨停和十字星接在一起的通达信选股公式:「涨停十字星」。
它的思路很直白,就三步。第一步用 BARSLAST 记住最近一次涨停发生在几天前,要求这个天数不超过 5 天。第二步看当天的 K 线形状:高开、回落收阴,实体很小,下影长于上影——典型的十字星。第三步要求 10 日线还在 20 日线上方,且 20 日线本身仍在上行。三件事同时成立,就是涨停之后洗盘的低吸点。
全公式 6 行,用到的都是 IF、REF、BARSLAST、MA 这类历史函数,没有未来函数。下面逐行拆解,最后附完整源码——可直接整段复制进通达信,中文变量名按原样保留。
一、这个指标在做什么?(整体逻辑速览)
整段代码可以归成 5 类动作,从最基础的 K 线度量一路推到买点信号:
① 实体层:先量出实体长度:收盘价与开盘价之差的绝对值,作为「小实体」判断的基准
② 影线层:分别量出上影线与下影线:从实体上下沿到最高价、最低价的距离,用 IF 区分阳线与阴线
③ 涨停定位层:用 BARSLAST 记住最近一次涨停距今多少个交易日,变量名字面就叫「涨停距离」
④ 均线趋势层:10 日线在 20 日线上方,且 20 日线本身仍在上行,确认趋势没坏
⑤ 信号合成层:小实体十字星 + 涨停后 5 天内 + 高开回落 + 收盘仍站在涨停日实体中位上方,合成输出 XH
核心定位:涨停之后的缩量洗盘低点,抓的是强势股高开回落、收出十字星的那一根 K 线。
二、逐层拆解
第1层:实体怎么算
实体是整根 K 线的实体长度,算法是「收盘价与开盘价之差的绝对值」。取绝对值,是因为阳线收盘在上、阴线收盘在下,直接相减可能是负数;而实体只关心长短、不关心方向,所以一律折成正数。后面「实体小于上影线、实体也小于下影线」这两条比较,比的就是这个长度。
学习要点:ABS(X) 是取绝对值函数。写 K 线形态时,凡是「长度类」的量——实体、上影、下影、振幅——都要先过 ABS,否则阴线会算出负数,比大小的时候全错。
第2层:上影线怎么算
第二行算的是上影线,也就是整根 K 线从最高点拉回到实体上沿的那一段距离。公式用 IF 把阳线、阴线分开处理:收阳时(收盘高于开盘)实体上沿是收盘价,上影取「最高价 − 收盘价」;收阴时实体上沿变成开盘价,上影取「最高价 − 开盘价」。
学习要点:IF(条件, 成立时的值, 不成立时的值) 是通达信里的二选一取值写法;把阳线、阴线拆成两支分别取数,是处理 K 线形态最常用的套路——同一根影线,在阳线和阴线下的起算点并不相同,不分阳阴直接算,阴线就会算错。
第3层:下影线怎么算
第三行是上影线的镜像,算下影线:收阳时实体下沿是开盘价,下影取「开盘价 − 最低价」;收阴时实体下沿是收盘价,下影取「收盘价 − 最低价」。两行合起来,一根 K 线上下两条影线就都量出来了,后面判断「小实体、长下影」全靠这两个量。
学习要点:写形态公式最稳的办法,是先记住「实体上沿、实体下沿」这两条线,再问一句「影线是从实体哪条边拉到最高价 / 最低价的」。上影下影都是同一句话,不用背。
第4层:涨停发生在几天前
第四行给「涨停」这件事定了时间坐标。C/REF(C,1)>1.097 的意思是「今天的收盘价比昨天的收盘价高出 9.7% 以上」,BARSLAST(...) 则返回这个条件「上一次成立距今有多少个周期」:今天刚涨停就是 0,昨天涨停就是 1,往前依次递增。变量名写成「涨停距离」,说的就是这个天数。
学习要点:BARSLAST(X) 返回「X 上一次成立到现在的周期数」,常用来做「N 天之内发生过某事」这类过滤,比写一长串 REF 判断干净得多。阈值取 1.097 而不是 1.1,是给复权和小数点后四舍五入留一点余量,免得真封了涨停,却因为那零点几个点漏判。
第5层:均线还是多头吗
第五行管趋势:10 日线在 20 日线上方,同时 20 日线本身比昨天更高。前半句保证短期强于中期,后半句保证中期趋势没有拐头向下——涨停之后如果 20 日线已经走平或下弯,说明这波多半只是下跌中的反弹,后面就不算数了。
学习要点:MA(C,N) 是收盘价的 N 日简单移动平均。判断趋势时,把「今天的均线」和「昨天的同一根均线」作比较,比只看两条线谁高谁低更能说明方向。
第6层:把条件缝成信号
最后一行是输出行 XH,把前面几层和当天的价格位置缝在一起。逐条看:实体同时短于上影线和下影线,说明是小实体十字星;上影线又短于下影线,说明下影更长、盘中被砸下去又被买回来;涨停距离不超过 5 天,锁定在刚涨停不久;收盘价高于涨停那一天「开盘价与收盘价的中位」,说明还站在涨停日实体的上半区;收盘低于涨停日收盘、同时开盘高于涨停日收盘,说明今天确实是高开低走。这几条同时成立,就是「涨停后高开回落、但没跌破涨停实体中位」的洗盘形态。
学习要点:把每个判断先单独命名、最后一行只负责 AND 拼接,公式就好读、好改、好排查;反过来把十几个条件挤进一行,真出错时根本无从下手。
三、实战图例:信号在图上长什么样?
下图是信号在副图上标注后的效果示意:十字星出现在涨停之后的回踩位置。

看图重点:公式只输出 XH 一个信号,加载到副图后可用画线函数把出现位置画出来观察;图中信号仅展示公式输出形态,不构成投资建议。
四、副图 / 选股一体化说明
本段源码是副图与选股一体化版:它只输出 XH 一个信号,因此既能直接放进「条件选股公式」盘后海选,也能加载到副图观察信号出现的时点。两种用法对照如下:
五、实战使用注意事项(必看)
① 6 行 = 原文 5 行 + 1 行实体定义:第 2~6 行与你给的原文逐字节一致——中文变量名、空格位置、括号、条件顺序(含 C< REF(C,涨停距离)AND O>REF(C,涨停距离) 这种连写)一处都没动。第 1 行 实体:=ABS(C-O); 是补的:原公式用到了「实体」,但前面没有给它赋值,直接粘进通达信会报「未知字符串 实体」。补的这一行只把「实体」按字面定义成「收盘价与开盘价之差的绝对值」,没有改动任何一条原有判断——补上之后整段可以一次粘进通达信,不再报错。
② 适用场景:这是涨停之后的洗盘低吸,属短线博弈。涨停板本身波动极大,高开低走既可能是洗盘也可能是出货,必须结合量能、板块和大盘环境判断,不能单靠一个信号下单。
③ 无未来函数:公式只用到 IF、REF、BARSLAST、MA,全部基于已收盘的历史数据,历史信号不会因为后面走势而改变。
④ 涨停阈值是通用近似:1.097 对应主板 10% 涨停留出的余量。创业板、科创板的 20% 涨停、北交所的 30%、ST 股的 5%,用这个阈值会漏判或误判,需要按自己常做的板块把数字改掉。
⑤ 影线和实体用的是绝对价差(元):不像常见写法除以昨收换成百分比,这里直接比大小。同一个阈值放到 200 元的股票和 5 元的股票上,宽松程度完全不同,跨价位横向比较时要心里有数。
⑥ 涨停距离条件写了两次:最后一行里「涨停距离不超过 5 天」出现了两次,属原文重复,逻辑上不影响结果,本文原样保留未删。
⑦ 高开低走是硬条件:要求今开高于涨停日收盘、今收低于涨停日收盘,两者同时成立才通过。也就是说当天必须真的高开后回落——如果一路低开低走、或者尾盘又拉回涨停日收盘上方,都不会入选。这条把不少形态挡在外面,实盘里信号数量会偏少。
六、延伸学习
1. BARSLAST(X):定位「上一次某条件成立距今多少根」,常用来做「N 天内发生过」「距上次信号第几天」这类过滤;
2. IF(条件,值A,值B):按条件二选一取值,把阳线、阴线分成两支分别处理,是写 K 线形态的通用手法;
3. MA(C,N) 与 REF(MA(C,N),1) 配合,既能判断均线排列,也能判断均线本身的方向,是趋势过滤最省事的一组写法。
七、完整源码(可直接整段复制)
副图 / 选股一体化完整源码:第 1 行是实体定义(原公式缺,补上才能直接粘进通达信),第 2~6 行与你给的原文逐字节一致,无未来函数:
⚠️ 互动问答:
使用指标时遇到任何问题(如安装、信号解读等),欢迎在留言区提问,我会第一时间解答!
也可以分享你的使用心得:这个指标帮你抓住过哪些机会。
👥 制作不易,麻烦点亮右下角的 "👍" + "❤" 支持一下!
📢 转发给身边朋友,一起交流进步~
👉 喜欢我的分享?记得关注我,持续更新干货!
⚠️ 免责声明
本文所有源码及解读内容仅为通达信公式编程教学,目的在于帮助读者理解指标编写逻辑和函数用法。文中提到的任何指标名称、信号条件、参数设置均不构成任何投资建议。
指标是辅助分析工具,其信号仅反映特定数学条件是否满足,不代表对未来走势的预测。实际使用时请务必结合自身判断和其他分析方法,理性决策。投资有风险,入市需谨慎。















































































