ARTICLE · 1083259
通达信指标公式源码,底部背离吸筹副图选股
点击关注☝,置顶+星标每天订阅,学习更多指标内容☼☝
↑↑↑关注备用号,防失联!
[底部背离跟踪]副图加选股两个文件,共用同一套慢线金叉判定。副图上画了七组线,选股只取其中一组。
用到的数据很少——只用了收盘价、最高价、最低价,没有成交量,也没有资金流。全部计算都是对价格位置做归一化,也就是「当前价格落在最近 N 天高低区间里的百分比位置」。
先做个速览
• 类型:两件套,副图 + 选股,同一套判定内核
• 用到的数据:收盘价、最高价、最低价;不含成交量与资金流
• 输出:副图七组线(两条摆动线、十组参考线);选股输出一个成立条件
• 一句话:把收盘价在 34 天高低区间里的位置做三层平滑,慢线金叉且位置仍在 20 以下,并去掉 10 天内的重复

一、只用了价格,没有用成交量
先看公式的第一行:
ZBHJF1:=(CLOSE-LLV(LOW,34))/(HHV(HIGH,34)-LLV(LOW,34))*100
这是整套公式的原型,后面的线都是它的变体。拆开是三步:找最近 34 天的最低价,找最近 34 天的最高价,看收盘价落在这两者之间的什么位置,再乘以 100 变成 0 到 100 的数。
• 收盘价贴近 34 天最低价,数值靠近 0
• 收盘价贴近 34 天最高价,数值靠近 100
这个量叫「随机指标位置」,本质是把绝对价格换算成相对位置。好处是不同价位的票可以放在一起比较:不管股价是 5 元还是 50 元,只要处在区间底部,算出来都是一个小数字。
需要注意:整套公式没有一处用到成交量。所以它判断的是价格的位置与拐头,不是资金的动作。这一点很重要,后面还会回来讲。
二、三层平滑为什么能让它变慢
接下来三行是判断信号的核心:
• `ZBHJF2:=SMA(ZBHJF1,3,1)`
• `ZBHJF3:=SMA(ZBHJF2,3,1)`
• `ZBHJF4:=SMA(ZBHJF3,3,1)`
三次连续平滑,每次窗口都是 3。通达信的 SMA(X,N,M) 是加权移动平均,M 是权重,这里取 1,等价于 (X+2*前值)/3,是标准写法。
关键在于第三次平滑是对第二次平滑的结果再平滑:
• 第一次平滑后,已经是一天半前后的加权重心
• 第二次平滑后,重心落到三天前后
• 第三次平滑后,落到四天半前后
所以 ZBHJF4 是整条链里最钝的一层——它比 ZBHJF1 落后大约 4 到 5 个交易日。这就是它适合做「慢线」的原因:信号出现得晚,但只要出现,后面的抖动被压得很平。
三层平滑不是为了让信号更准,而是为了让信号更少。 每一次平滑都会削掉一部分短期噪声,代价是延迟。你调参数的时候要清楚自己换的是什么。
三、交叉只认一个方向
核心判定是三行:
• `ZBHJF5:=CROSS(ZBHJF3,ZBHJF4) AND ZBHJF3<20`
• `ZBHJF8:=CROSS(ZBHJF2,ZBHJF3) AND ZBHJF3>80 AND ZBHJF3>ZBHJF4`
• `ZBHJF9:=CROSS(ZBHJF4,ZBHJF3) AND ZBHJF3>80`
第一行是低位金叉:次钝的那层 ZBHJF3 上穿最钝的 ZBHJF4,同时位置还在 20 以下。
第二、三行是高位情形:ZBHJF8 是位置在 80 以上时较快的 ZBHJF2 上穿 ZBHJF3,ZBHJF9 是位置在 80 以上时 ZBHJF4 反超 ZBHJF3。
只有第一条会生成文字标记,而且选股文件里也只有这一条。第二、三条在副图上只是画两条色块,不出文字,也不进选股。
四、FILTER 起什么作用
DRAWTEXT(FILTER(ZBHJF5,10)=1,25,'强势吸筹')
FILTER(X,N) 的意思是:X 成立时输出,之后 N 天内即使再次成立也一律压掉,只保留第一次。
这里窗口是 10,也就是同一段低位金叉,10 个交易日内只会被标记一次。作用是防止一波行情里连续几天反复闪烁。
选股那边窗口相同:XG:FILTER(ZBHJF5,10)=1。也就是说选股与副图文字标记用的过滤窗口一致,结果应该完全对应,选出来的票在副图上都能找到那个文字标记。
另外两处色块用的是别的窗口:高位那条 ZBHJF9 用了 FILTER(...,5),也就是 5 天。窗口不同,出现频率也就不同。
五、副图上那七组线分别是什么
副图一共画了七组内容,只有一组参与选股。
第一组是两条摆动线,也是副图上最显眼的:
• `D:=EMA((CLOSE-LLV(LOW,30))/(HHV(HIGH,30)-LLV(LOW,30))*100,20)`
• `J:=EMA(同式,5)`
用 30 天区间位置,分别做 20 天和 5 天指数平滑。原文给这两条线起了两个带资金主体的输出名(原名见文末公式),倒数第二行那条是 J 再取 7 天指数平均。这两个名字没有实际依据,公式里就是两条不同速度的平滑线,不必按字面理解。
第二组是一组零轴的柱:
• `MM:=(ZBHJ1W+2*ZBHJ2W+3*ZBHJ3W)/6` —— 收盘价相对 6 天、12 天、24 天均线的偏离率,按 1:2:3 加权
• `MN:=MA(MM,3)`
• `底观察:IF(MN<-4,10,0)` —— 加权偏离做 3 天平均后低于 -4 才输出,是个 0/10 的开关
这一组看的是价格离均线多远,跟区间位置是两个不同的视角。
第三组是两条背离线,名字直接叫 底背离 与 顶背离:
• `ZBHJ26:=EMA((CLOSE-LLV(LOW,36))/(HHV(HIGH,30)-LLV(LOW,36))*4,4)*25`
• `底背离: IF(ZBHJ26<10,90,100)`
• `顶背离: IF(ZBHJ26>90,5,18)`
这里有个量纲问题。分子用的是 36 天最低价到收盘价的范围,分母用的却是 36 天最低价到 30 天最高价的范围。两个窗口不一致(36 对 30),分母短几天,值域就不再是标准的 0 到 100,*4*25 实际把结果放大了四倍。
从公式的设计意图看,作者大概是想用 (CLOSE-AA)/(BB-AA)*100,也就是分子分母都用 36 天。写成现在这样就出现了窗口错位,公式还不至于不可用,但这两条线的数值不要按 0 到 100 去理解。
第四组是弱分歧的两次归一化:
• `DD:=(EMA(((CLOSE-AA)/(BB-AA))*4,4))*25`
• `弱分歧吸筹:=(((DD-LLV(DD,21))/(HHV(DD,21)-LLV(DD,21)))*4)*25`
DD 是第三组那个式子换了个写法(AA、BB 与 ZBHJ24、ZBHJ25 取值相同)。后面那行把 DD 再放到它自己最近 21 天的区间里归一化一次,然后又乘了一遍 4 和 25。两次归一化加上两次放大,最终值的量纲已经很难对应到任何实义单位,读图时只能看它自己的相对高低,不要试图换算回价格。
第五组是一条跟踪线与一个标记:
• `跟踪:10` —— 就是一条画在 10 的横线
• 底部拐点开关:IF(COUNT(DD>REF(DD,1),1)=1 AND REF(DD,1)<REF(REF(DD,1),1) AND DD<跟踪,20,0)
• 图标条件:DRAWICON(CROSS(10, 那条 20 天平滑线),5,1)
COUNT(DD>REF(DD,1),1)=1 就是「今天比昨天高」,后面那个 REF 套两层就是「昨天比前天低」。两句合起来是由降转升的拐点,还要求当天数值在 10 以下。输出 20,是个 0/20 的开关。
下面那行画图标用的是另一个条件——数字 10 上穿那条 20 天平滑的摆动线。这个判断与上面那行的 DD 完全没有关系,两个不同的量被画在同一个区域里,容易看混。
第六组是一对镜像线:
• `V1:=(CLOSE-MA(CLOSE,21))/MA(CLOSE,21)*100`
• `顶:100+(-ABS(V1))、底:ABS(V1)`
ABS 是取绝对值。V1 本身有正有负,取绝对值之后就永远是非负数,所以「底」这条线只会涨不会跌回去。而「顶」是 100-|V1|,永远不超过 100。两条线都是以 21 天均线偏离率为原料的对称镜像,不是独立的判断。
(V2、V3 两个变量定义了但从未被引用,是死代码。)
第七组才是真正参与信号的那一组,也就是前面第一到四节讲的 ZBHJF1 到 ZBHJF5,加上两条高位色块。
七组线里,只有第七组与选股有关。其余六组都是背景观察,彼此之间没有交叉确认关系。
六、主图上画了什么
副图上除了线,还有三处绘制:
• 低位金叉成立时,从 0 到 20 画一根红色实心柱,并在 25 的位置写上「强势吸筹」四个字
• 高位那条 ZBHJF9 成立时,从 80 到 100 画一根绿色实心柱,在 79 的位置写一个「顶」字
• ZBHJF8 成立时(位置 80 以上、快线上穿中线),从 85 到 100 画一根蓝色实心柱,不写字
所以副图上能看到红色低柱、绿色高柱、蓝色高柱三种标记。红蓝绿三种颜色都出现在高位与低位两端,读的时候先看柱子的位置(靠下还是靠上),再看颜色。
七、两个文件怎么配合
副图用来看节奏:红色低柱出现的位置是不是一浪比一浪高,绿色与蓝色高柱出现的疏密。
选股盘后用,条件只有一条 FILTER(ZBHJF5,10)=1,与副图上「强势吸筹」文字标记完全对应。选出来的每一只票,在副图上都能找到那个标记。
要注意的是:副图上另外六组线都不参与选股。如果你在副图上看到蓝色或绿色高柱,那是观察用的,选股结果里不会有对应的票。
八、五个使用边界
第一,公式里没有成交量。它判断的是价格在区间里的位置和这个位置的拐头,不是资金进出。名字里的「吸筹」是从「低位」这个位置推出来的判断,公式本身没有验证资金是否真的进入。这是全套公式最需要留意的一点。
第二,三条背离线与弱分歧线的量纲已经错位。36 天与 30 天窗口混用,加上两次乃至三次放大,数值不要按 0 到 100 去读。
第三,IF(MN<-4,10,0) 这个门槛偏严。要加权偏离低于 -4 才输出。多数时间这条线是 0,它只在偏离明显的时候亮一下。
第四,DRAWICON 用的条件与上面那行不是同一个量。一行看 DD 的拐点,一行看数字 10 与 20 天摆动线的交叉。图上的图标和那个 20 分的开关,指向的不是同一个东西。
第五,FILTER 窗口决定了两者的对应关系。选股与文字标记都是 10 天窗口,两者一致;高位色块是 5 天窗口,出现次数会更多。
九、可调参数
LLV(LOW,34) / HHV(HIGH,34)34
区间长短;改大则位置更钝、信号更少;改小则更贴当下
三层 SMA(...,3,1)3
平滑强度;改大则整条链更慢,信号更少但更晚
ZBHJF3<2020
低位门槛;改大则高位也认,信号变多;改小则更严
FILTER(...,10)10
去重窗口;改小则标记更密集
MN<-4-4
底观察开关;改到 -6 更严,-2 更灵敏
高低位色块 80 / 8580 / 85
高位提示线;按自己的观察区间调整
公式源码(副图)
公式原来叫「底部分歧吸筹」,这里按原文完整保留,未作任何改动。
D:=EMA((CLOSE-LLV(LOW,30))/(HHV(HIGH,30)-LLV(LOW,30))*100,20);
J:=EMA((CLOSE-LLV(LOW,30))/(HHV(HIGH,30)-LLV(LOW,30))*100,5);
ZBHJ1W:=(CLOSE-MA(CLOSE,6))/MA(CLOSE,6)*100;
ZBHJ2W:=(CLOSE-MA(CLOSE,12))/MA(CLOSE,12)*100;
ZBHJ3W:=(CLOSE-MA(CLOSE,24))/MA(CLOSE,24)*100;
MM:=(ZBHJ1W+2*ZBHJ2W+3*ZBHJ3W)/6;
MN:=MA(MM,3);
ZBHJ1:=(HHV(HIGH,24)-CLOSE)/(HHV(HIGH,24)-LLV(LOW,24))*100;
ZBHJ2:=(CLOSE-LLV(LOW,18))/(HHV(HIGH,18)-LLV(LOW,18))*100;
ZBHJ3:=(2*CLOSE+HIGH+LOW)/4;
ZBHJ4:=LLV(LOW,26);
ZBHJ5:=HHV(HIGH,34);
ZBHJ6:=EMA((ZBHJ3-ZBHJ4)/(ZBHJ5-ZBHJ4)*100,16);
ZBHJ7:=SMA((SMA(ZBHJ2,3,1)+3),3,1),LINETHICK3;
ZBHJ8:=EMA(ZBHJ6,7);
(公式太长,展示不便,如需完整公式请查看资料获取方式)
免责声明:本指标公式仅供技术分析与学术交流,所有数据均为模拟测试结果,不构成任何投资建议或决策依据。使用者应独立判断并承担风险,严禁用于违法违规用途。如涉及侵权,请及时联系删除,本平台概不承担由此引发的任何责任。
这些指标一起用,效果更好:
资料免费获取方式如下
>>>>
1.进入公众号主页发消息回复关键词:底部背离跟踪,获取指标。