ARTICLE · 1116755
通达信"多空比值抄底"指标源码解读:15日强弱线叠加超跌反转共振的编程逻辑
风帆量化 · 通达信公式编程教学
温馨点击上方"风帆量化" → 点击右上角 "..." → 选 "设为星标"★
今天拆解一款把15日强弱线与超跌反转共振放在同一个副图里的通达信指标——「多空比值抄底」。
它的核心是一条取值 0 到 1 的「主升」线:把15个交易日里"高点不断抬升"的幅度累加起来,再除以"抬升 + 下沉"的总幅度,得到这半个月里多方力量的占比。0.8 以上算强,0.1 以下算弱。
副图在这条线上画三条刻度(0.8 / 0.5 / 0.15),并用柱状与文字标出「兑现」与「抄底」两个位置;真正的买点信号由 RSI 超卖拐头、慢速KD金叉、偏差极值回升三组条件共同决定。下面逐层拆解编程逻辑,最后附上完整源码。
一、这个指标在做什么?(整体逻辑速览)
整段代码可以归成6层,层层收紧:
① 强弱刻画层:用 D1 统计15日内高点抬升的累计幅度,D2 统计低点下沉的累计幅度,两者相除得到主升线
② 强弱刻度层:0.8 / 0.5 / 0.15 三条虚线做参照;主升高于0.88 画白柱,主升下穿0.8 画绿柱并标「兑现」
③ 超卖拐头层:D5 是7日RSI,D6 用 FILTER 取「前日RSI低于20、今日回升」这一天的5日内首次
④ 超跌定位层:D7 是加权价5日均线,D8 取其0.98倍,D9 是动态均线 DMA;D8 低于 D9 视为超跌
⑤ 摆动指标层:D10 取9日RSV,D11 做3-3平滑得到慢速K;要求当日金叉、并且前一日仍在下行
⑥ 极值回升层:偏差是 (高+低+收)/3 对14日均线的标准化偏离;要求低于 -100 且当日已经回升
核心定位:强势回落后进入极弱区、同时出现超卖拐头与摆动金叉的时点,属于左侧观察型信号。
二、逐层拆解
第1层:主升线是怎么算出来的
D1 只统计"今天最高价高于昨天最高价"的那些天的差值,把这些差值在15日内加总,代表上攻力量的累计;D2 反过来,只统计低点被击穿的幅度。两者相除就是主升线:分子大说明抬升占主导,分子分母接近说明多空在拉锯。
学习要点:IF(条件, 成立时的值, 不成立时的值) 是最常用的分段取值写法;SUM(X,15) 把最近15根K线的 X 值求和,常用来做区间累计。
第2层:刻度线与两个文字标记
三条虚线(0.8 / 0.5 / 0.15)给主升线提供读数参照。主升高于0.88 时在副图顶部画一段白柱,代表强势区;当主升从上方向下穿过0.8(CROSS(0.8,主升))时画绿柱并标注 DX(原文标签是中文「兑现」),提示强弱力量发生拐头。末尾两行的 CD 标注是原文的「抄底」,出现在主升首次跌破0.1 的那一天。
学习要点:CROSS(A,B) 表示 A 上穿 B。写 CROSS(0.8,主升) 时 0.8 当作快线,得到的是主升"下穿"0.8,方向别记反。
第3层:超卖拐头(RSI + FILTER)
D5 是常见的7日RSI写法:上涨幅度之和除以涨跌幅绝对值之和再乘100。D6 要求前一天RSI还在20以下、当天开始回升,并用 FILTER 把结果去重,5个交易日内只算首次出现。
学习要点:FILTER(条件, N) 表示条件成立后 N 个周期内不再重复输出,常用来避免同一波行情里信号连发。
第4层:超跌定位(加权价均线 + 动态均线)
(2*C+H+L)/4 是给收盘价加权的均价,比单纯收盘均线更贴近盘中重心。D8 取它的98%,D9 用 DMA 做一条"波动越大跟得越紧、波动越小跟得越慢"的动态均线。当 D8 低于 D9,说明价格还压在均线下方,属超跌区间。
学习要点:DMA(X,A) 是动态移动平均,第二个参数 A 越大跟随越快;用波动率当 A,可以让均线在剧烈行情里更灵敏。
第5层:慢速KD(RSV 的两次平滑)
D10 是9日RSV,衡量收盘价在近9日高低区间里的相对位置。D11 用 3*SMA - 2*SMA(SMA) 的经典写法把RSV做两次平滑,得到慢速K值,波动比原始KD平缓,更适合看拐点。
学习要点:HHV(H,9) 取9日最高、LLV(L,9) 取9日最低,两者相减是区间振幅,用它做分母就得到百分位。
第6层:偏差极值与最终选股
偏差是 CCI 的同类算法:典型价 (高+低+收)/3 相对14日均线的偏离,再除以 0.015 倍的平均绝对偏差做标准化。要求它低于 -100(极度超卖)并且当天已经回升。T1 把四项条件合并:超跌 + 慢速K金叉(当日高于前一日、且前一日仍低于前一日的前值)+ 偏差极值回升。最终选股信号是 D6 与 T1 同时成立。
学习要点:AVEDEV 是平均绝对偏差,用它可以做无量纲标准化;把多个条件先合并成一条 T1,输出行只写 T1,公式会清晰很多。
三、实战图例:信号在图上长什么样?
下图是副图加载后的效果示意:黄线是主升线,白柱标出强势区,绿色文字标出强弱拐头,红色柱是选股信号。

看图重点:STICKLINE 负责画柱,DRAWTEXT 负责标文字,DOTLINE 画虚线刻度。图中信号仅展示公式输出形态,不构成投资建议。
四、版本差异对比
本文这段源码是副图指标版,自带画线参数。如果想把它当成条件选股公式用,需要做三处减法(改用 := 赋值、删掉全部画线与文字语句、输出行只留信号)。下表是两种版本的差异;改造完成的条件选股版完整源码放在文末第七节,可直接复制到「条件选股公式」里用:
具体改造三处:① 「主升」由输出行 ZS: 改成赋值 ZS:=;② 输出行精简为 XG:D6 AND T1;;③ 删掉全部 8 行画线/标注语句(3 条刻度虚线、2 条 STICKLINE、2 条 DRAWTEXT、1 条 DRAWNULL)。其余 13 行定义与副图版逐字相同,改造后的完整源码见文末第七节。
五、实战使用注意事项(必看)
① 适用场景:信号出现在"强势回落后进入极弱区"的时点,属于左侧观察型。趋势中的回调与下跌末端的超跌都可能触发,需要结合更大周期判断位置。
② 「兑现」是强弱拐头:它由主升下穿0.8 触发,描述的是15日强弱力量的衰减,不能当作精确卖点。
③ 「抄底」只是极弱标记:它由主升首次跌破0.1 触发,是跌进极弱区的第一天,之后继续走弱很常见,只能用来观察。
④ 选股条件偏严:D6 与 T1 共五项条件同时成立,外加 FILTER 去重5天,信号数量偏少,建议先小范围回看再决定用法。
⑤ 参数微调:最敏感的两处是 D6 里的 RSI 阈值 20 与 T1 里的偏差阈值 -100,放宽这两个数字会明显增加信号数量。
六、延伸学习
1. SMA() / DMA() —— 通达信的两类加权平均,SMA 带权重参数,DMA 用动态因子,做平滑与快慢线常用;
2. FILTER() —— 信号去重,控制密度;
3. AVEDEV() 与 CCI 类偏差 —— 用平均绝对偏差做标准化,衡量价格相对均线的极端程度。
七、完整源码(复制前请先对照上方逐层解读)
副图指标完整版(强弱线 + 刻度 + 兑现/抄底标注 + 选股信号):
条件选股版完整源码(去掉画线与标注,只留信号输出):
⚠️ 互动问答:
使用指标时遇到任何问题(如安装、信号解读等),欢迎在留言区提问,我会第一时间解答!
也可以分享你的使用心得 —— 这个指标帮你抓住过哪些机会。
👥 制作不易,麻烦点亮右下角的 "👍" + "❤" 支持一下!
📢 转发给身边朋友,一起交流进步~
👉 喜欢我的分享?记得关注我,持续更新干货!
⚠️ 免责声明
本文所有源码及解读内容仅为通达信公式编程教学,目的在于帮助读者理解指标编写逻辑和函数用法。文中提到的任何指标名称、信号条件、参数设置均不构成任何投资建议。
指标是辅助分析工具,其信号仅反映特定数学条件是否满足,不代表对未来走势的预测。实际使用时请务必结合自身判断和其他分析方法,理性决策。投资有风险,入市需谨慎。