
简介一份通达信指标公式源码解读文档面向股票技术分析爱好者、通达信软件用户及波段操作者。资源从公式核心变量N15切入逐段拆解DMH、DML等计算逻辑说明“量”强弱指标的构建方式并辅以指标线颜色、线条样式及具体用法注释帮助读者理解如何用该指标捕捉抄底逃顶信号、识别背离清仓时机。文档强调“无未来、不漂移”信号稳定适合没有时间盯盘、偏好稳妥波段操作的用户参考。资源包共1个doc文件大小515KB内容紧凑便于对照软件逐行学习。目前已有2608人学习/下载。通过这份解读读者可以快速掌握指标公式的每段含义理解0.8、0.2等阈值线与吸筹出货信号的关系学会在量线下穿0.8且与股价背离时清仓规避风险即使不熟悉公式编写也能按文档说明直接用于实战筛选。1. “无未来、不漂移”的抄底逃顶指标值钱的不是买卖点复盘时信号一个不差实盘一买就套这是绝大多数“神指标”的通病。病根往往不在买卖逻辑而在公式里偷藏了未来函数——那些看似精准的底部和顶部是行情走出来之后由软件“补画”上去的。标题里的“无未来不漂移”六个字才是一套通达信指标公式真正该较真的地方信号一旦画在K线上不管后面怎么走不消失、不挪位、不新增。这篇文章要解决三件事怎么识别拖了后腿的未来函数怎么用通达信公式语言写一套“三层确认”的抄底逃顶主图指标以及实盘前用什么方法验证信号确实不漂移。适合被“信号消失”坑过的老股民也适合刚想写自己第一套买卖公式、但还分不清 ZIG 和 REF 区别的新手。2. 先看清“未来函数”和“漂移”通达信公式里谁在作弊2.1 未来函数是怎么做到“事后精准”的通达信公式是逐根K线顺序计算的正常情况下第 N 根K线只能用第 N 根及之前的数据。未来函数做的事是让第 N 根K线“看到”后面第 N5 根、第 N30 根才有的数据。这样一来历史底部自然画得又准又漂亮——因为它不是预测出来的是事后填进去的。漂移是未来函数的外在表现。用带未来函数的公式看盘信号会随着新K线出现而改变昨天还标着的底部图标今天收盘后就消失了或者往后挪了两根K线。真正的实战指标必须先过这一关同一个位置今天看是这个信号一个月后回看还是这个信号。做不到这点后面的抄底逃顶逻辑再好也白搭。2.2 通达信里最常见的四个作弊函数以下四个函数是未来函数重灾区也是指标源码里最常被藏起来的“猫腻”函数中文名作弊方式常见伪装ZIG之字转向按给定幅度向后确认转折点绘制时会重绘历史波浪理论、波段高低点PEAK / TROUGH前M个波峰/波谷引用未来K线确认的峰谷值压力支撑、顶底背离BACKSET向前赋值把当前结果赋值给过去K线历史信号整体后移板块轮动标记、条件统计TROUGHBARS / PEAKBARS波峰波谷位置返回未来才能确认的位置序号距底部N天之类的描述很多号称“主力追踪”的指标源码本质就是 ZIG 套上均线再画几个图标。复盘看主力每次都抄在最低点实盘里那个点根本不会出现。判断一个源码有没有问题直接在公式编辑器里搜索有没有上述函数名是最快的筛选方式。通达信公式管理器 6.06 之后的版本编译时会给出未来函数提示但只提示直接调用的情况嵌套在自定义函数里的检测不到。2.3 隐蔽的漂移XMA 和未收盘数据比 ZIG 更隐蔽的是 XMA。XMA 是经过平滑的移动平均它的当前值会包含未来若干周期的数据因此每一根 K 线上的 XMA 值都会随行情推进而改变。用 XMA 画出来的均线昨天看是金叉今天回看那个金叉可能没有了。这是新手最容易踩的坑从网上找的源码看起来全是最普通的均线交叉其实把 MA 换成 XMA信号会整体重绘。另一种隐蔽情况是引用未收盘数据。在日线周期里用 DYNAINFO(7)实时价格参与计算盘中信号和收盘后信号就会不同。这类指标在 14:55 看的信号收盘后回看可能完全不是一回事。真正的不漂移必须让公式只依赖已经确认的收盘价、成交量这些静态数据。2.4 不写代码也能验证漂移的笨办法不用看懂每一行源码也能判断一套公式是否干净。找一只波动大的股票加载指标后用右键“标记”当前最新的一个买入信号然后快进 20 到 30 根K线切到更大周期或直接翻页。回看刚才标记的位置信号还在说明大概率没用未来函数信号消失、挪位或者又冒出来两个新信号基本可以判定是垃圾指标。这个办法的局限在于只能抽查不能做系统性验证。要系统验证就得用第 4 章的“双版本对照法”。先把理论基础打牢下一步是动手写一套干净的无未来指标。3. 手写一套“触底—反转—看多”三层确认的抄底逃顶指标3.1 为什么是三层信号而不是一个买卖点“傻瓜操作”不等于只画一个买卖点——那是把风险藏起来的做法。真正能用起来的信号应该能区分三种行情状态进入超卖区触底、出现反转K线反转、站回趋势线看多。这三种状态对应三个操作含义触底是预警反转是试探看多才是加仓依据。把三者分开画在图上新手也能看懂当前处于哪个阶段。逃顶方向同理超买区、转折阴线、跌破均线三者递进。这套结构和热词里常刷到的“三步点睛(触底 反转 看多)指标”思路一致但实现上全部用 REF 锁定确认条件保证信号画出来就不再变动。3.2 完整通达信源码主图叠加直接用打开通达信公式管理器新建一个“主图叠加”公式命名为“无漂移抄底逃顶”粘贴以下源码{N: 参数默认14可调} N:14; RSI6:SMA(MAX(CLOSE-REF(CLOSE,1),0),6,1)/SMA(ABS(CLOSE-REF(CLOSE,1)),6,1)*100; MA14:MA(CLOSE,N); 乖离率:(CLOSE-MA14)/MA14*100; {第一层触底——RSI与乖离率共振进入超卖区} 超卖区:RSI620 AND 乖离率-8; {第二层反转——超卖区之后出现阳线确认} 转折阳线:超卖区 AND CLOSEOPEN AND REF(超卖区,1); {第三层看多——收盘站上14日均线} 站上均线:CLOSEMA14 AND REF(CLOSE,1)REF(MA14,1); 转向看多:REF(转折阳线,1) AND 站上均线; {逃顶三层} 超买区:RSI680 AND 乖离率8; 转折阴线:超买区 AND CLOSEOPEN AND REF(超买区,1); 跌破均线:CLOSEMA14 AND REF(CLOSE,1)REF(MA14,1); 转向看空:REF(转折阴线,1) AND 跌破均线; {绘图} STICKLINE(超卖区,LOW*0.985,LOW*0.995,2,0),COLORBLUE; STICKLINE(超买区,HIGH*1.005,HIGH*1.015,2,0),COLORYELLOW; DRAWICON(转折阳线,LOW*0.975,1); DRAWICON(转折阴线,HIGH*1.025,2); DRAWICON(转向看多,LOW*0.965,3); DRAWICON(转向看空,HIGH*1.035,4);3.3 逐段说明每个函数解决什么问题第一段是参数和基础计算。N:14是周期参数控制均线周期SMA(X,6,1)是通达信标准的 RSI 平滑算法第一参数MAX(CLOSE-REF(CLOSE,1),0)取当日上涨幅度分母取当日真实波幅两者比值就是 RSI 的原始含义——过去 6 天里上涨力量占全部波动的比例。这里用的 RSI6 比常见 RSI14 更敏感适合抄底逃顶这种偏向于抓转折点的场景。乖离率:(CLOSE-MA14)/MA14*100衡量收盘价偏离均线的百分比。RSI 负责看短期动能乖离率负责看价格偏离两者同时进入极值区才判定超卖或超买避免单一指标在震荡市里频繁触发。第二段是三个判定条件。超卖区是一个布尔值结果为 1 或 0真正的信号看转折阳线它要求当前是阳线且上一根K线处于超卖区。注意REF(超卖区,1)这个写法——它把“确认”推迟了一根K线换来的是信号不会再变。如果删掉 REF改成“超卖区 AND CLOSEOPEN”那么盘中出现阳线时信号就画出来了但收盘前价格回落取消阳线形态信号就会消失这就是最常见的盘中漂移。第三段的绘图部分STICKLINE把超卖区画成蓝色柱状超买区画成黄色柱状起预警作用DRAWICON在确认信号的位置画数字图标。图标编号 1 到 4 对应底部反转、顶部反转、转多、转空含义直接看图例。LOW*0.975这类写法只是把图标放在K线下方 2.5% 的位置避免遮挡K线实体。3.4 为什么这套信号天然不漂移核心只有一点所有判断条件都只能引用当前周期及之前已确认的行情数据。REF引用的是上一根K线的值MA、SMA是顺序计算的历史平均值CLOSE、OPEN、HIGH、LOW、VOL是静态行情不存在任何“事后才知道”的分量。对比上一节提到的 ZIG 和 XMA这套代码里一个都没用。转折阳线一旦出现它在历史K线上的位置取决于超卖区的位置而超卖区取决于 RSI 和乖离率这两个指标在收盘后是定值。后续行情无论怎么走都不会反过来修改已经确定的 RSI 数值所以信号位置被“焊死”了。这也解释了为什么很多源码作者不愿意公开这种写法——信号少、位置固定没有“复盘精美”的滤镜。指标的关键参数总结如下参数默认值调小的影响调大的影响N均线周期14信号更早出现次数增多信号滞后次数减少RSI 超卖阈值20要求更极端信号少而准信号变多假信号上升RSI 超买阈值80逃顶更早可能卖飞逃顶更晚回撤变大乖离率阈值8更灵敏震荡市易触发更迟钝抓大波段4. 实盘前验证这两条确认信号不会“事后移动”4.1 训练模式回放把信号钉在行情里通达信自带的训练模式是验证不漂移的最好工具。调出公式后进入训练模式选定一只股票把光标移动到当前最新一根K线记录下此时图上存在的全部买入信号位置以转折阳线和转向看多为准。然后按“下一根K线”逐步推进 20 根每推进 5 根暂停一次回头检查之前记录的信号位置是否还在原K线上那些位置有没有新信号凭空冒出来超卖区的蓝色柱有没有因为后续行情而减少或消失如果三项检查都通过说明公式在“信号固定性”上是合格的。任何一项不通过直接把源码里出现问题的条件删掉别舍不得。4.2 双版本对照用故意污染的版本看清差距肉眼验证容易忽略细节更可靠的是做一个对照实验。把第 3 章的代码复制一份只改动一处——把MA全改成XMA保存为“漂移对照版”MA14:XMA(CLOSE,N); {注意XMA会重绘仅用于对照演示}把它和干净版同时叠加到同一只股票上。翻到历史一段明显的底部记录两个版本各自画出的转折阳线位置。你会发现干净版的图标钉在某根K线下方不动对照版的图标会随着行情推进向前或向后挪动甚至消失。这个实验把“未来函数”的抽象概念变成了肉眼可见的差异印象会比读十篇文章都深。对照实验正式跑完之后把对照版删除防止后续误用。4.3 复盘信号时最容易误判的三个场景场景看起来像真实原因处理方法底部连续出现多个阳线信号信号不准超卖区内的反弹K线都满足条件属于同一波段按突破均线后的第一个信号为准超买后价格继续大涨逃顶太早乖离率阈值不够大强趋势中RSI持续钝化把乖离率调到 10 以上信号位置没变但数量增多指标变得不准新一段行情产生了新的超卖区旧信号并未漂移用 FILTER 限制信号间隔见 5.1这三种误判在量化指标验证里非常典型。特别是第一种底部区域的每根阳线都会触发转折信号看起来像是“反复出现”实际是同一个底部波段的多次确认。解决办法不是删除信号而是在使用规则上规定“只取转向看多为正式进场点”拐点信号只作参考。验证完成后这套指标已经可以进入使用。但“能用”和“好用”之间还差一步把信号翻译成可执行的选股条件和更稳健的通道逻辑。5. 把这套思路变成自己的武器转选股、加通道、避脏写法5.1 副图转选股公式一分钟得到“今天出信号”的股票池主图叠加公式不能直接用来选股需要把输出改成一列“信号值”。复制第 3 章代码把最后绘图部分的STICKLINE和DRAWICON全部删掉文件类型改成“条件选股公式”用以下代码收尾买入条件:转向看多; 选股:FILTER(买入条件,5);FILTER(买入条件,5)的含义是出现买入条件后5 根K线内不再重复触发。这能过滤掉同一个底部波段里多次信号的情况。公式编译后在“条件选股”里选择该公式就能筛选出当日收盘站上均线且之前出现转折阳线的股票。选出来后回到主图用三层信号确认当前处于哪一层再决定是否纳入观察池。5.2 用 ATR 动态通道替代固定乖离率阈值固定乖离率-8在低波动股票上很难触发在高波动股票上又频繁触发。一个干净且不漂移的改进方式是换成 ATR 通道用均线加减两倍 ATR 构成动态上下轨替代固定百分比阈值。ATR14:MA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),14); 通道下轨:MA14-2*ATR14; 通道上轨:MA142*ATR14; 强超卖:CLOSE通道下轨; 强超买:CLOSE通道上轨;ATR 计算只用最高价、最低价和昨收全部是历史静态数据不影响“不漂移”属性。把第 3 章超卖区里的乖离率-8替换成强超卖震荡市里信号会自然变少趋势市里又能及时捕捉剧烈偏离的转折点。5.3 三个让指标重新“变脏”的写法碰都别碰学会了写干净公式之后更要守住底线。以下三个写法都会让辛苦搭好的不漂移指标倒退回去引入 ZIG 做趋势辅助。比如“收盘价突破 ZIG 的上一转折点”表面看是多了一条趋势参考线实际整个信号系统被 ZIG 的重绘拖下水。盘中用 DYNAINFO 混合运算。DYNAINFO 返回的是实时行情收盘后回放时数值与盘中不同导致同一根K线在盘中、盘后信号不同。用 TROUGHBARS 判断“距离底部N天”。这类函数给出的数字在底部真正形成之前是动态变化的写在买卖条件里等于让信号随未来修正。把这三条记住再回头看网上的指标源码一眼就能看出哪些是金矿哪些是坑。真正值得下功夫的写法和这套三层确认类似信号数量不多每个信号都能说清楚依据并且经得起一个月后的回看。本文还有配套的精品资源点击获取