通达信指数强度副图指标编写实战:从公式语法到买卖信号

📅 发布时间:2026/9/18 21:41:07
通达信指数强度副图指标编写实战:从公式语法到买卖信号
简介这份通达信指标公式教程围绕「指数强度副图指标」源码展开面向需要对比个股与大盘相对强弱的投资者以及希望学习公式编写的通达信用户。文档以逐行解析方式讲解核心逻辑先设定120日高低点周期与5日均线参数再计算股价在区间内的相对强度并以60为阈值绘制红色强势提示线随后套用同样方法计算大盘指数强度通过两条平滑均线的上穿/下穿触发买卖图标辅助判断介入或离场时机。其中详细解释了T1T6各变量来源包括LOW、HIGH、CLOSE以及INDEXL、INDEXH、INDEXC等大盘数据的用法。资源包为单个doc文档大小115KB集中呈现公式源码、参数含义与运行效果说明方便同步到通达信软件中生成副图观察。目前已有103人学习适合有一定技术分析基础、想借助自定义指标提升决策效率的股民。1. 指数强度副图的真正价值在于先定性市场再决定买卖做短线的人都经历过这种挫败个股选得不错买进去却被系统性下跌拖下水止损打到怀疑人生。通达信自带的涨跌家数、大盘指数看盘不够直观因为看盘口的时候人脑很难同时把两三个窗口的信息换算成“强还是弱”。指数强度副图指标解决的正是这个问题——把市场整体强度换算成一条在副图里上下摆动的曲线让强度这个东西可以被量化、被比较、被写成条件进选股公式。这类指标在通达信体系里的本质是一组基于大盘指数或成分股统计的公式代码通过赋值计算和线型输出在副图区域显示出强度值、趋势线甚至买卖信号。对新手来说它是把指数强弱从“感觉”变成“数值”的入口对老手来说它是把市场情绪过滤条件叠加到交易系统里的基础设施。常见做法是抓取上证指数或深证成指的涨跌均线、涨跌停家数、成交量能等数据再做归一化处理。本文从公式语法出发逐步搭出一个可运行的指数强度副图再讲怎么把它接进自己的选股和预警体系。2. 通达信副图指标公式的骨架变量类型、赋值和输出形态任何一个能在通达信里跑起来的副图指标骨架只有三部分变量定义、参数声明、输出线型。指数强度副图也不例外。搞懂这三样后面往里填逻辑才有基础搞不懂光会复制源码一改参数就崩。2.1 通达信公式变量体系里最常用的三类赋值、中间变量和输出通达信的公式语言特点是指标公式由若干行组成一行以等号结尾表示“只计算不画线”以冒号结尾表示“画线输出”。信号类语句的表现形式也类似但带有画线或提示含义。这个符号差异是新手最容易看漏的下面写一个纯粹演示骨架STRONG:CLOSE/INDEXC-1; {收盘价相对指数收盘价的偏离} STRMA:MA(STRONG,20); {偏离值的20日平滑} DRAWTEXT(STRONGSTRMA,STRONG,强); {偏离线高于平滑线时标注}逐行解释第一行用:赋值计算出个股收盘价相对指数收盘价的偏离度。这里CLOSE是个股收盘价INDEXC是大盘指数收盘价通达信会自动取当前股所在市场对应的指数。数值大于0说明个股跑赢指数小于0说明跑输。第二行对偏离度取20日移动平均。MA是通达信最常用的均值函数第二参数是周期。周期设大了曲线平滑但反应慢设小了抖动剧烈20在多数场景下是一个兼顾灵敏度和稳定性的起始值。第三行是条件画字。当偏离度大于其均线时记录一个“强”字的标志在副图数值位置上。注意DRAWTEXT就必须用冒号开头它是真正的输出语句不写等号。把这段代码贴进通达信公式管理器的时候你会发现副图自动分成上下两半。上半部分是STRONG曲线下半部分是文字“强”。这就是“只计算不画线”和“画线输出”的差别所在。做指数强度副图时我们应该把参与后续运算的曲线尽量用:只把最终要看的核心结果用:输出这样副图干净也减少不必要的性能消耗。2.2 副图指标输出形态的选择线型、柱状和分区着色怎么搭配副图里除了曲线还可以输出柱状线、带状线和着色区域。指数强度副图常见的输出形态有四种每一种对应的语法和适用场景完全不同。下表把四种形态的代码骨架和用途列出来方便你按需选择输出形态语法示例适用场景单线强度:值;看趋势走向最简单直观柱状线强度:值,STICK;区分正负值柱子在零轴上下显眼着色柱强度:值,COLORSTICK;涨跌两种颜色区分适合强度穿越零轴分区背景FILLRGN(强度0,0,强度);直观标出强弱区间看盘快速定性实测中我一般会把主力输出设置成COLORSTICK再叠加一条平滑均线。因为COLORSTICK的着色逻辑是数值大于等于0画一种颜色小于0画另一种颜色一眼就能看出市场强度是在零轴之上还是之下。加上均线之后颜色变化和均线方向两个信号同时看能滤掉不少假突破。强度: (INDEXC-REF(INDEXC,5))/REF(INDEXC,5)*100; {指数5日涨幅} 强度线: 强度, COLORSTICK; 强度均: MA(强度,10), COLORYELLOW;参数说明REF(INDEXC,5)是取5个交易日前的指数收盘价用当前值减去5日前再除以5日前乘以100得到一个百分比的涨跌幅。MA的周期从5到20都可以试但如果你把均线周期设到10以上副图曲线会平滑很多适合做趋势判断短周期如3、5则更适合发现拐点代价是毛刺多。2.3 指数强度里的INDEXC到底代表什么以及它和IF语句结合时的坑INDEXC是通达信里一个隐含变量它表示当前个股对应市场的指数收盘价。在大盘分析里它代表上证指数在创业板里代表创业板指。这个变量的好处是不用手写指数代码切换个股时自动跟随所属市场。但这里有一个常见的误用在同一个公式里如果你用IF(市场SH, 上证指数, 深证指数)这种逻辑强行指路反而让公式在跨市场时失效。因为在通达信公式系统里判断市场归属的语法不是这么写的而是用DYNAINFO或者直接让 INDEXC 自动识别。一个更隐蔽的坑发生在跨周期引用时。你在日线公式里写INDEXC没问题但如果你在30分钟K线里也这样写通达信取到的仍然是当前周期。所以做日内强度副图时指数也必须是同一周期的否则算出来的“强度”含义就变了。这个细节在写“分时指数强度”类指标时极为关键很多人把日线公式周期一改就报警其实就是没意识到 INDEXC 会跟着周期走。3. 从基础强度到买卖逻辑把指数强度副图升级成可执行信号只有强度曲线看盘的指标只能算半个工具。真正有用的副图指标一定会在曲线基础上叠加判断逻辑用信号点直接告诉你“现在该看多还是该看空”。指数强度副图里最常用的升级路径就是交叉信号和背离信号两者分别对应趋势跟随和拐点预警两种策略。3.1 用强度快线、慢线和零轴构建金叉死叉信号当你把指数强度的原始值算出来后第一步通常是做平滑处理得到两根线一根敏感、一根稳健。敏感线用短周期如5日平均稳健线用20日平均。当敏感线上穿稳健线时标注金叉下穿时标注死叉。这种处理方法和MACD的DIF、DEA结构异曲同工但在指数强度场景里含义不同——它表示市场短期强度开始超过中期平均水平。下面是一个完整可编译的指数强度副图公式强度ST: (INDEXC-REF(INDEXC,3))/REF(INDEXC,3)*100; 快线: MA(强度ST,5), COLORYELLOW; 慢线: MA(强度ST,10), COLORWHITE; 零轴: 0, COLORGREEN; DRAWICON(快线慢线 AND REF(快线,1)REF(慢线,1), 慢线, 1); DRAWICON(快线慢线 AND REF(快线,1)REF(慢线,1), 慢线, 2);这段代码的逻辑拆解强度ST是3日指数涨跌幅周期选3的目的是比5日更早感知变化适合震荡市快线和慢线分别是对强度值做5日和10日均值。参数的比例建议保持在1:2左右这样金叉死叉信号的次数适中不会频繁触发零轴画在0的位置判断强弱分界DRAWICON条件里用了REF取前一天的值来对比。具体的判断方式是今天快线在慢线上方且昨天快线还在慢线下方这种状态变化就形成了一个向上的交叉标志。代码里的数字1和2代表图标编号通达信内置了多个图标序号1一般表示向上的箭头2表示向下。实际使用中这个信号体系最怕的是横盘震荡期快慢线反复交叉。处理手段有两个加上“零轴过滤”只保留零轴上方的金叉和零轴下方的死叉或者用FILTER函数限制信号间隔比如FILTER(金叉条件,5)表示金叉信号出现后5个周期内不再显示新的金叉减少连续触发器。3.2 强度背离指数创新低但强度线不创新低这是左侧信号的来源背离是指数强度副图里信息量最大、但也最难程序化的部分。强度曲线的本质是指数涨跌幅所以它和指数价格之间存在天然的“滞后”或“提前”关系。当指数价格创出新低而强度线的低点明显高于前一个低点就是底背离说明下跌动能在衰减反之指数创新高而强度线走弱就是顶背离上涨动能在衰退。在通达信公式里实现背离不能直接用一条语句解决需要借助PEAK和TROUGH这类摆动函数来定位波峰波谷。很多人的做法是先把背离当成“肉眼条件”只把强度线画出来背离自己看。其实可以用一个简化版比较当前价格和5日前的价格方向与强度方向是否相反。价创低: INDEXCREF(LLV(INDEXC,5),1); 强抬高: 强度STREF(强度ST,5); 底背离: 价创低 AND 强抬高;参数说明LLV(INDEXC,5)是5日内指数最低收盘价REF(LLV(...),1)是取这个最低价在昨天是什么值。如果今天指数比昨天往前算的最低值还低且今天的强度值高于5天前的强度值那就构成一次底背离。注意这里的“5日”是一个可调参数行情快时用3慢时用10。底背离出现不等于立刻反转它只提供“不能再追空”的提示具体操作还要等强度线回抽零轴或快慢线金叉配合确认。3.3 把强度值转换成打分制强弱评级怎么落到具体持仓决策上曲线和信号之外还有一种更贴近实战的处理方式将指数强度映射到一个固定区间比如0到100然后用分段评级来指导仓位。好处是信号不会被主观感觉带偏坏处是打分规则需要对历史数据做大量回测。通达信里实现打分制不复杂就是用MAX和MIN做一个标准化强度ST: (INDEXC-REF(INDEXC,10))/REF(INDEXC,10)*100; 标准化 : (强度ST-LLV(强度ST,60))/(HHV(强度ST,60)-LLV(强度ST,60))*100; 评级: 标准化, COLORSTICK;这段代码把过去60日的强度值范围映射到0到100之间当前值越高说明越接近区间上沿。60日的滑窗可以换成20或120键盘输入参数即可动态调节。如果说前两小节的曲线是“顺势工具”打分就是“区间工具”适合用来判断市场是否过热或过冷。一般来说评级高于80进入高风险区低于20进入机会区中间区域用金叉死叉信号做波段交易。两种思路不冲突可以同时输出到一个副图里。4. 用行情函数和自选状态改造指数强度副图状态过滤与盘中应用指数强度不仅看大盘指数还可以看市场的整体情绪。如果你把“涨的家数占比”“涨停家数”“成交金额变化”这些信息全塞进公式里指数强度副图就从“大盘温度计”升级成了“情绪雷达”。这是进阶用法的一个方向也是当前量化指标源码类搜索里最被高频查询的内容形态。4.1 用涨跌家数占比计算市场宽度指标再把宽度融合进强度线通达信虽然不直接提供全市场涨跌家数作为基础变量但可以用INDEXADV和INDEXDEC这两个隐含函数获取上涨家数和下跌家数。它们的取值在不同版本上略有差异但常见版本中都支持。把涨跌比和指数涨跌做一个加权合成就能得到比纯指数涨幅更稳定的强度值。涨占比: INDEXADV/(INDEXADVINDEXDEC)*100, COLORSTICK; 宽度均: MA(涨占比,10), COLORYELLOW; 强度修正: (强度ST涨占比)/2, COLORWHITE;逻辑说明INDEXADV和INDEXDEC分别表示当前市场上涨家数和下跌家数。它们相除得到的涨占比和指数涨跌幅不同家数占比能过滤掉“指数被少数权重股拉起来、但多数股票都在跌”的虚假繁荣。然后把上一章的强度ST和涨占比取平均就得到一条同时反映价格动能和市场宽度的合成强度线。副图里有柱状、均线和合成线三层看盘时先看柱状颜色再看线型方向。4.2 使用状态函数过滤震荡区间的假信号用EXIST和COUNT控制信号频率震荡市里一切突破型指标都会频繁失效。指数强度副图常见的优化方式是用EXIST或COUNT函数加入状态过滤条件只在强度线位于特定区间时才允许出现买卖信号。比如要求“过去5天里至少3天强度均线低于20”说明市场处于极度弱势区这时候追多信号直接忽略连画图标注都省掉。条件: COUNT(强度均20,5)3; 有效金叉: 金叉信号 AND NOT(条件);解释一下COUNT(条件,N)统计过去N天满足条件的次数。这里判断“过去5天内强度均线低于20的天数至少有3天”再用NOT取反表示前面提到的金叉信号不应在这样的弱势状态下被当作有效信号。这个做法的核心意义不是避免亏损而是减少无效交易对心态的消耗。设置计数天数时注意5天3次是偏宽松的过滤放得太松会把应该执行的底部机会也过滤掉想要激进一些可以改成3天2次。4.3 把指数强度副图作为条件接入通达信的预警系统和选股器指数强度副图的最大价值并不只在图表上显示真正强的是把它提取出的条件参与预警和选股。通达信的条件选股公式可以是单独的也可以引用已有指标的输出。做法是新建一个选股公式代码里写条件表达式再引用指标名和输出线名。RIS: 指数强度.评级#DAY; SELECT RIS80;上述写法引用的是之前那个“指数强度”指标的“评级”输出#DAY表示提取日线周期的值即便当前选股周期是周线或月线也按日线取数。SELECT是选股公式的标准输出关键词。把这条选股公式放到“条件选股”里跑一遍能得到所有当前强度评级高于80的股票一般配合“指数强度大于80时不买入个股”的反向过滤逻辑使用。注意引用指标前需要先在公式管理器里编译通过指标名要和保存名称一致否则选股器会报“未定义的变量”错误。5. 验证你的源码正确性和信号有效性副图指标的常见坑位排查公式写好了、能画线了不代表它没有隐患。通达信公式的语法和脚本语言里逻辑对但结果怪的情况非常普遍。按过往排查经验指数强度副图这类公式出问题大多集中在数据引用、除零处理和输出线型三个位置。这几类问题如果没有处理好直接会导致副图不显示信号或显示信号但“不准”。排查时最好优先确认除法函数的保护逻辑。通达信公式里最常见的错误是分母为0指数强度计算里会出现很多前值、最低值作为分母的情况如果前值是0或者最低值很长时间是0结果就是无穷大或千位级异常值。解决方式是给分母加上极小值保护比如分母0.0001。还有一个常见错误是使用了未来函数例如DRAWLINE在某些用法里会引入向右延伸的线段看图时“马后炮”信号特别漂亮实战就是废的。验证方法是用“显示最后一根K线”的模式检查最后一根K线位置的信号如果会随以后新K线出现而改变就说明存在未来函数。症状原因排错手段副图显示空白但无报错输出值全是常数或NaN在公式里临时输出分母值检查是否为0信号延迟一两天才出现使用了REF或未来引用函数把REF周期改成0或1看信号位置是不是立刻变化柱状线颜色不变COLORSTICK依赖零轴但数值范围不在0附近对输出做中心化减去均值或定义零轴变量不同市场符号强度对比失真INDEXC跟随市场自动切换跨市场对比时基准不同改用固定指数代码的行情函数最后提一个三条输出线的实测经验把主力强度线和它的均线以及市场宽度线放在同一个副图里三条线方向一致时胜率明显高于两线交叉单独触发。参数调试时不要同时调整快线、慢线、零轴偏移三个参数否则你根本不知道是哪一项引起了信号变化。固定两个属性只调节其中一个变量逐轮记录信号数量和质量是公式调试最稳妥的做法。用到后期你甚至可以把这套指数强度逻辑移植成涨停板数量统计或板块强度排名通达信公式语言本身是一通百通的。本文还有配套的精品资源点击获取