ARTICLE · 1083318
通达信指标公式源码,趋势异变多信号副图
「趋势异变」是一个副图公式,190 行,十几个模块。它是目前为止拆过的公式里行数最多、信息密度最高的一个:图上从 0 到 117 排了十几条横线,中间还有七段色带、五个文字标签和四组图标标记。
它的组织方式可以概括成一句话:拿二十多个技术指标各算一个成立与否,再把它们组合成四组拐点信号,最后压缩成一根综合标记线。用到的原料包括换手、随机指标、SAR 抛物转向、CR/BR/AR、心理线、MACD、KDJ、均线族,基本把常见指标过了一遍。
装到软件里,它的用途是回看:这段时间里趋势方向有没有发生变化(色带的颜色),拐点出现在什么位置(四组图标),以及最下面那根白色标记线有没有亮起。
先做个速览
• 类型:单件,副图(没有选股公式,也没有主图)
• 用到的数据:开高低收、成交量、流通股本 CAPITAL
• 输出:十几条参考线 + 七段方向色带 + 四组拐点标记(拐点 A/B/C/D)+ 一根综合标记线
• 一句话:把趋势方向拆成三档色带,另用四套互相独立的判定找拐点,四组里同时亮三组以上才出综合标记

一、图上的横线是坐标,不是指标
先看前几行,容易被误读:
• 上顶线:95、下底线:5` —— 是固定的水平线,用来给整张图划出高低区间
• 强弱分界:50` —— 中间那条粗绿线,也是个固定值
• NOTEXT顶部标线:117、NOTEXT底部标线:-17` —— 画在图外面,是为了把坐标轴撑到 0~100 之外,让图标有地方放
• 五日换手:SUM(VOL,5)*100/CAPITAL、二十换手:SUM(VOL,20)*100/CAPITAL —— 两组换手率,标了 NODRAW`,也就是算了但不在图上画,只在你点开数值时才看得到
这五行里真正参与后面判定的只有那些换手率。轴线本身不产生任何信号,它们的作用是给下面的色带和图标留出位置。
二、主线:趋势力度的算法与变形
第 8 行是整张图的主线:
趋势力度:(3*SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1)-2*SMA(SMA(同一式子,5,1),3,1))
它是一个被放大的随机指标。写法是「3 倍快线 减 2 倍慢线」,这是通达信里常见的平滑放大变形——快线占 3 份权重、慢线占 2 份,两者的差被放大到 1 倍。好处是比单纯的 K 值更早转向,代价是更容易抖。
上下各配一条固定线,就得到了第 167 行那个信号:
• `DB1:=CROSS(趋势力度,下底线)` —— 趋势力度由下往上穿过 5 这条线
从公式的设计意图看,这个信号是要找「指标从极低位往上抬头」,但具体要它连续出现几次才算数,公式里的写法有一个问题,放在第六节讲。
三、三档方向色带
图上中段有三段色带,位置分别在 67~70、57~60、40~43,每段都用两色表示方向。
第一段(67~70)看均线系统:
• V9:=SUM(V8,0)、V10:=MA(V9,34)` —— 一个累加型的动量值,配 34 天平均
• V11:=V9>V10` —— 动量在均线上方涂红色,下方涂橙色
V8 那一段的公式很长,本质是一个把当日振幅、跳空、实体都揉在一起的加权值,然后做从上市至今的累加(SUM(V8,0) 的第二个参数为 0 表示累加全部历史)。这种无限累加会让数值随上市时间不断变大,所以要配一条均线比较,不能只看绝对值。
第二段(57~60)看 SAR:
• 趋势强A:=IF(SAR(10,2,20)<=L,SAR(10,2,20),DRAWNULL)`
• 趋势弱A:=IF(SAR(10,2,20)>=H,SAR(10,2,20),DRAWNULL)`
SAR 是抛物转向指标,SAR(10,2,20) 三个参数分别是周期、步长、极值。这里做了一次严格化处理:不是简单看 SAR 在价格上方还是下方,而是要求 SAR 完全落在当日最低价之下(才算强),或完全落在当日最高价之上(才算弱)。价格与 SAR 交错的那一天,两个条件都不成立,色带会空一格。这个写法比常见的「SAR 与收盘价比大小」更干净,避免了盘中穿插时的反复变色。
第三段(40~43)看二次平滑的随机指标:
• 趋势强B:=(CLOSE-LLV(LOW,34))/(HHV(HIGH,34)-LLV(LOW,34))*100`
• 趋势弱B:=SMA(SMA(趋势强B,3,1),3,1)` —— 两次 3 日平滑
这一段是拿 34 天区间位置的快慢线比大小,与前面第 36 篇那套是同一类算法,只是这里只做两层平滑。
三段色带是三个互相独立的视角(动量、SAR、区间位置),颜色一致的时候说明三者共振;颜色不一致时,图上会出现「上红下橙」这种混搭,那表示短期与中期给出了不同答案。
四、上面还挂着几个常见指标
第 62 行之后引入了一批标准指标,先算出来备用:
• 短期趋势、中期趋势、长期趋势 —— 分别是 13/21 日均线的组合与 144 日均线
• 异动0:=短红升 OR 中红升 OR 长红升` —— 三条趋势线里有任意一条在往上抬
• CR、BR、AR、PSY、KDJ、以及一组 28 天区间位置 —— 都是各自算好放着
这些指标本身不画图,全部是给后面的组合条件当零件用。异动0 是其中最关键的一个零件,它会在后面五处条件里反复被引用,相当于一个总的放行开关:只要三条趋势线全在往下走,后面的拐点信号一个都不会成立。
五、四组拐点信号
从第 100 行开始,公式用四套完全不同的判定各找一组拐点。
拐点 A(第 100~111 行):四个子条件全部成立。
• 异动1:CR > MA1 且同时大于 MA2、MA3、MA4 —— CR 指标站在它自己的四条不同周期均线之上
• 异动2:BR > AR —— 意愿指标高于人气指标
• 异动3:PSY > PSYMA —— 心理线在它自己的均线上方
• 异动4:上面三条同时成立,且今天成立、昨天不成立(REF(异动4=0,1))
• 异动5:KDJ 的一组状态组合
• 异动6:28 天区间位置的慢线在 20 到 70 之间,且快线在上方
• 异动7:以上全部成立,再加 异动0 放行
这一组的四个零件来自四个不同体系,可以理解成「多指标同时转向」。
拐点 B(第 112~116 行):
• 异动8:REF(趋势弱A,1)>0 AND 趋势强A>0 —— 昨天是弱势状态、今天是强势状态(配合前面 SAR 的严格化定义,就是转向那一天)
• 异动9:在上一条件基础上,还要求趋势力度不高于 50、异动0 成立、当日涨幅超过 4%、成交量比昨天放大
这一组是四组里唯一要求放量的,看的是「转向 + 量能配合」。
拐点 C(第 117~123 行):
• 异动10:55 天区间位置,用 20 日 SMA 再做两次 15 日平滑,外面套一层 100-(100-...) 的取反
• 异动11:结构与 异动10 完全相同,但把收盘价换成了开盘价
• 异动12:异动10 > REF(异动11,1) AND VOL>REF(VOL,1) AND CLOSE>REF(CLOSE,1)
• 异动13:异动12 AND COUNT(异动12,30)=1 —— 今天成立且 30 天内是第一次
这里有个设计上的巧思:异动10 用收盘价算,异动11 用开盘价算。开盘价是当天最早形成的信息,把两者放在一起比,等于用「昨天的开盘基准」和「今天的收盘结果」做跨日对比,能反映出当天盘中力量的移动方向,而不是简单比较两天收盘价。
拐点 D(第 124~130 行):
• 异动14:=C=LLV(C,60)` —— 收盘价创 60 天新低
• 异动15:=BARSLAST(异动14)` —— 距离上一次创新低过了多少天
• 异动16:=BETWEEN(异动15,1,60) AND C/REF(C,1)>1.043` —— 创新低之后 1 到 60 天内,出现一根涨幅超过 4.3% 的阳线
• 异动17:异动16 在「创新低之后的天数窗口」内是第一次,加 异动0 放行
这一组是四组里唯一和「低位」明确挂钩的:先创 60 天新低,再看多久之内出现反攻。注意 COUNT(异动16,异动15)=1 里的第二个参数是变量 异动15,也就是窗口长度随距今天数动态变化。
六、综合标记线与钻石底
第 131 行把四组拐点汇总:
异动18:=(COUNT(异动7,6)=1)+(COUNT(异动9,6)=1)+(COUNT(异动13,6)=1)+(COUNT(异动17,6)=1)
四个括号分别计算:过去 6 天里这一组拐点有没有出现过。 出现过记为 1,没出现记为 0。四个值加起来就是最近 6 天里同时亮过几组,结果只能是 0 到 4。
炫彩魔光:异动7 AND 异动18>=3 —— 四组里有三组以上在最近 6 天亮过,并且今天正在亮拐点 A。成立时在 47~53 之间画一段白色实心块。
这个设计的好处是要求的不是同日发生,而是六天窗口内的聚集。四套独立判定在六天里先后出现三组以上,说明不同体系在同一段位置上陆续转向,比单一信号更值得看一眼。
然后是第 167 行那组「钻石底」:
• DB2:=REF(COUNT(DB1,20)=2,1) —— 昨天往回数 20 天,DB1` 出现了正好 2 次
• DB3:=REF(COUNT(DB1,30)=3,1)` —— 昨天往回数 30 天,出现了正好 3 次
• DB4:=DB2 OR DB3`
• DB1 AND DB4 —— 今天再出现一次,且历史出现次数符合上面两种之一
这里有个需要注意的地方:判定用的是「正好等于」而不是「大于等于」。COUNT(DB1,20)=2 要求恰好 2 次,出现第 3 次的那天,这个条件反而变成假。所以这个信号不会在连续出现时一路亮下去,而是只在第 3 次(对 20 天窗口)和第 4 次(对 30 天窗口)那两个时点上成立。读图时如果发现它亮得断断续续,原因就在这里。
另外,DB1 是 CROSS(趋势力度, 5)——趋势力度上穿固定值 5。而 趋势力度 由「3 倍快线减 2 倍慢线」构成,值域可以到负上百,穿过 5 这个位置只在很低的位置才会发生,所以这一组的触发本身就比较少。
七、量变与质变
第 134 行之后是两组点状标记。
量变(第 134~146 行):
• 量变2:下跌动能的相对强度——用 LOW 相对前一日的变化,做 13 日平滑后乘以 4
• 量变5:=EMA(IF(LOW<=量变4,量变3,0),3)` —— 只在创 34 天新低的那天取值,其余日子取 0
• 量变8:75 天区间位置的收盘版低于开盘版的前值,且放量收阳
• 量变9:=量变8 AND COUNT(量变8,18)=1 AND 异动0` —— 18 天内第一次,加放行
成立时在 18 的位置标一个红色图标,并在 4.5 处画一个点。
质变(第 148~166 行),条件更复杂:
• 质变2 里用了 SLOPE(CLOSE,21)*20 —— 21 日线性回归斜率放大 20 倍再加回收盘价,是一个斜率修正过的价格
• 质变6 要求:短均线不低于斜率修正价、13 日最高价的均线回落创新低并开始回升、价格站上它、且这是首次
• 质变8:=LLV(LOW,质变7)*1.3` —— 距上次条件成立以来的最低价乘以 1.3
• 质变9:=LLV(LOW,20)*1.418` —— 20 日最低价乘以 1.418
• 质变10:要求当日涨幅不低于 7%,且价格同时不高于上面两条上限
• 质变12:同一结构,涨幅门槛降到 3.5%
• 质变15:上面任一条成立,且前一日检查过 20 天内出现过量变
量变与质变的关系就藏在最后一行:质变要求「之前 20 天里有过量变」。也就是说这两组标记不是并列关系,而是先后关系——先有量变打底,之后才可能出现质变。这个衔接是整套公式里最值得注意的一处设计。
那两个乘数 1.3 与 1.418 是价格上限门槛:要求当天的价格不能比近期低点高出太多,本质是限制「已经涨了一大截的票不参与」。
八、最后一组:顶部的提示
第 174 行之后是公式的最后一个模块,用的是 CCI 的双周期变形:
• VAR02、VAR03 —— 14 日与 70 日的 CCI
• VAR04:两个周期都落在 150 到 200 之间,输出 10
• VAR05:两个周期都落在 -200 到 -150 之间,输出 -10
• VAR1B:极端情形再加 15 或 -15,然后整体加 60
• `趋势转弱:FILTER(VAR1B=75,5)`
VAR1B 加 60 之后,能取到的值就集中在几个固定档位上,75 对应的是「两个周期的 CCI 都超过 200」这一档。所以这一组的含义是:短周期(14)和长周期(70)的 CCI 同时进入极值区,并在 5 天窗口内只标一次。
图上在 95 和 97 的位置画图标,96 处写「↙顶」,同时图的最下方还会用一个洋红色的点标记当天趋势转弱。
另外,公式末尾用 DRAWTEXT(ISLASTBAR,...) 在最右侧固定显示五个文字——人气趋势、强弱趋势、平衡趋势、转折趋势、异动趋势。这五个词只是坐标区的分区标签,分别对应图上的几段位置,不参与判定。
九、五个使用边界
第一,图上大部分横线只是坐标。95、5、50、117、-17 都是固定值,看到它们不要当成指标值。
第二,SUM(V8,0) 是从上市首日开始累加。这种无限累加会让数值随上市时间慢慢变大,跨股票比较没有意义,只能在同一只股票的历史里看它和 34 日均线的关系。
第三,钻石底用的是「正好等于」。COUNT(DB1,20)=2 要求恰好两次,第 3 次出现时条件转为假。所以它只在特定时点亮起,不是持续状态。
第四,四组拐点的时间窗口是 6 天,不是同一天。综合标记线要求的是「最近 6 天里三组以上亮过」,不是当天同时成立,读图时注意时间跨度。
第五,异动0 是总开关。只要 13/21/144 三条趋势线全在往下走,四组拐点、量变质变、综合标记一个都不会成立。这是全篇最强的一道过滤。
十、可调参数
LLV(LOW,27)、HHV(HIGH,27) 等27 / 34 / 55 / 75
各模块的区间长度;改大则更钝、信号更少;改小则更灵敏
SMA(...,5,1) 与 SMA(...,3,1)5 / 3
趋势力度的快慢线;改大则主线更慢
SAR(10,2,20)10 / 2 / 20
抛物转向参数;标准参数,一般不动
C/REF(C,1)>1.0434.3%
拐点 D 的力度门槛;改大则只认更强的反攻
VOL>REF(VOL,1)放量
拐点 B、C 的配合条件;可改成放大一定比例,如 1.2 倍
COUNT(...,6)=16
综合标记的聚集窗口;改大则更容易凑够三组
*1.3 / *1.4181.3 / 1.418
质变的价格上限;改大则允许更高的位置
FILTER(...,5)5
顶部提示的去重窗口;改小则标记更密
公式源码
副图(F)
五日换手:SUM(VOL,5)*100/CAPITAL,COLORRED,NODRAW;
二十换手:SUM(VOL,20)*100/CAPITAL,COLORRED,NODRAW;
上顶线:95,COLORWHITE,LINETHICK4;
强弱分界:50,POINTDOT,COLORGREEN,LINETHICK7;
下底线:5,COLORWHITE,LINETHICK4;
NOTEXT顶部标线:117,COLORBROWN;
NOTEXT底部标线:-17,COLORBROWN;
趋势力度:(3*SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1)-2* SMA(SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1),3,1)),COLORCYAN;
A1:=1;
A2:=5;
A3:=(((2 * CLOSE) + HIGH) + LOW) / 4;
A4:=LLV(LOW,34);
A5:=HHV(HIGH,34);
A6:=EMA((((A3 - A4) / (A5 - A4)) * 100),13);
A7:=(EMA(((0.667 * (REF(A6,1))) + (0.333 * A6)),2)) * A1;
A8:=(HHV(HIGH,9)) - (LLV(LOW,9));
A9:=(HHV(HIGH,9)) - CLOSE;
A10:=CLOSE - (LLV(LOW,9));
A11:=((A9 / A8) * 100) - 70;
A12:=SMA(((A10 / A8) * 100),3,1);
A13:=(SMA(A12,3,1)) - (SMA(A11,9,1));
A14:=(EMA((((A3 - A4) / (A5 - A4)) * 100),8)) * A1;
A15:=(EMA(A14,5)) * A1;
A16:=(EMA(A7,A2)) * A1;
A17:=(A14 - A15)>0 AND 趋势力度>A16;
看涨趋势:IF(A17,趋势力度,DRAWNULL),COLORYELLOW,LINETHICK2;
(公式太长,展示不便,获取信息见文末)
免责声明:本指标公式仅供技术分析与学术交流,所有数据均为模拟测试结果,不构成任何投资建议或决策依据。使用者应独立判断并承担风险,严禁用于违法违规用途。如涉及侵权,请及时联系删除,本平台概不承担由此引发的任何责任。
资料免费获取方式如下
1. 进入公众号主页发消息回复关键词:趋势异变,获取主图、副图与选股三段公式文件。
2. 文件仅用于个人技术学习,不提供个股解答,也不建任何形式的群。
历史文章链接