
简介一份通达信指标公式源码文档面向使用通达信软件进行短线交易、希望借助量化信号捕捉抄底机会的投资者。文档通过多个变量的组合构建了包含股价变化率、波动率、阶段性涨幅及筹码分布评估的指标体系并将超级短线王买卖信号与盘中预警逻辑整合在同一个公式中便于直接导入看盘软件进行实盘观察。资源包共一个doc文件大小约147KB内容以源码公式及定义说明为主适合有一定公式编写基础、能自行调试参数的交易者。目前已有三千六百五十四人学习下载。文档详细展示了多组条件选股代码如利用均线偏离度、成交量放大、成本分布比例等过滤信号并附有具体参数区间与历史日期范围可作为二次开发或策略优化的参考底稿。 最近在几个股票交流群里总能刷到这种标题的文件“通达信指标公式源码抄底95%成功率 超级短线王 盘中预警 成功率99%.doc”。我第一眼看到“99%成功率”心里就咯噔一下——天天喊着“百分之百胜率”的要么是没经历过熊市的生瓜蛋子要么就是拿未来函数做出来后知后觉的假信号。但话说回来这种文件能满天飞恰恰说明大家对通达信公式源码、盘中预警、超级短线这几个方向的兴趣极大只是被标题党带偏了方向。作为一个用了十几年通达信、自己也写过不少指标公式的老股民我觉得有必要把这层窗户纸捅破那些号称“95%成功率”的抄底指标到底是怎么写出来的盘中预警又是怎么一步步配置出信号短线选股逻辑里面哪些是可复用的哪些纯粹是心理安慰。这篇文章就把我从源码阅读、公式编写到实际盯盘的完整经验拆开来讲适合刚接触通达信二三次不太清楚公式语言也适合已经会写基础公式但想完善预警和选股逻辑的朋友。不带什么“稳赚”承诺只讲能落地的技术细节和坑。1. 先给“成功率99%”卸个妆1.1 成功率95%是怎么“算”出来的先别急着下那个 .doc 文件。我们先把“成功率”这三个字拆开看看。大部分流传公式所谓的成功率来源只有三种可能第一事后编程统计。把历史K线跑一遍某个买入条件出现后如果3天内涨了1%就算“成功”。这种统计从定义上就非常宽松涨0.5%算失败还是成功不同权重下结果千差万别。第二用了未来函数。比如公式里悄悄用上了REF(HHV(HIGH, 20), 1)之后又调用了未来数据或者使用了没有位移的HHV当根数值这样信号永远是“精准”出现在底部但现实中你根本买不到那个点。第三样本偏窄。只在某只走牛的个股、或者某一个特定时间段里回测自然成功率极高换个品种或者换个行情周期马上现原形。所以我在任何场合都建议看到“成功率95%”先当笑话看真正要用一个指标至少要做全市场、跨年度的简单回测最好包含一轮完整的熊市和震荡市。能把回测口径里的“成功”定义、失败条件、手续费和滑点写清楚的才算半个靠谱指标。1.2 未来函数与过拟合源码里的隐形杀手关于未来函数我再说几句实在话。通达信公式语言是逐K线按顺序计算的同一根K线上你只能拿到这根K线已经收盘的数据。如果写C REF(HHV(H, 5), 1)那是上一根K线之前的最高价没问题但如果写C HHV(H, 5)并且直接在当前K线出信号这里HHV里面包含了当前这根还没走完的K线最高价盘中实时数据下最高价会不停变化信号就会跟着闪烁和漂移。这类代码在历史静态K线上回测看起来“完美”但一上实盘就是灾难。过拟合则是另一个坑。很多人拿到指标后拼命调参数调到历史回测成功率90%以上结果换一段行情立刻失效。一个真正有生命力的指标参数应当具备一定“钝感”微调一点结果不会天翻地覆。如果一个参数从3调整到4就从大赚变小亏这不是灵敏度这是脆弱。大家要明白策略的逻辑合理性永远比漂亮的回测净值更重要。2. 通达信公式语言速通看懂源码的第一课2.1 公式语言的基本骨架既然要拆指标源码就得先熟悉通达信公式语言的基础语法。这套语言非常轻量说白了几分钟就能看懂框架用:赋值。比如MA5 : MA(CLOSE, 5);表示计算5周期均线这个中间变量不会画到副图上。不带冒号的语句会直接输出到指标窗口比如RSI1: RSI(CLOSE, 14);这样会在副图画出RSI线。变量名可以自己取但不能和内置函数重名。注意中英文括号和分号公式源码导入时出问题八成是标点混了中文输入法。使用{ }添加注释方便自己以后阅读。有了这个骨架你再看网上下载的源码就不会满眼天书了。大部分公式无非就是先定义几个条件再输出结果或用CROSS、COUNT、FILTER这类函数做信号判断和过滤。2.2 最常用的核心函数我整理了一个在阅读和编写通达信公式时最高频的函数清单很多人看源码卡壳基本就卡在这些函数上函数作用实战场景CLOSE/OPEN/HIGH/LOW当前K线收盘、开盘、最高、最低价所有价格相关的前提VOL当前K线成交量量能分析、放量缩量判断MA(X, N)X的N周期简单移动平均均线系统、趋势判断EMA(X, N)X的N周期指数平均更敏感的均线常用在分时HHV(X, N)/LLV(X, N)N周期内X的最高值/最低值创N日新高新低、通道突破REF(X, N)N周期前的X值前一日收盘、昨量对比CROSS(A, B)A上穿B返回1否则0金叉死叉类信号COUNT(COND, N)最近N周期内条件满足的次数连板、连涨、连续净流入BARSLAST(COND)上一次条件成立到现在的周期数距上次涨停多少天DYNAINFO(3)/DYNAINFO(4)最新价 / 即时成交量等动态行情盘中预警专用TIME/DATE当前K线时间/日期限定早盘、尾盘等具体时段2.3 一个五分钟就能上手的示例下面写一个最经典的均线金叉选股公式作为练手{均线金叉副图信号示例} MA5 : MA(CLOSE, 5); MA10 : MA(CLOSE, 10); GOLDEN : CROSS(MA5, MA10); SIGNAL: GOLDEN;这里的逻辑很直白5日均线上穿10日均线在交叉当根K线上CROSS返回1副图上就会竖一根柱子。如果做成选股公式把最后一行改成XG:GOLDEN;在选股器里就能选出当天满足金叉条件的股票。要是想过滤掉ST和次新股还可以加上FILTER或者其它条件。新手最容易忽略的是REF和未来函数的关系。上面例子里CROSS是比较当前值与上一根K线值不涉及当前未收盘数据所以没有未来函数问题。你要是一旦把MA5 : MA(C, 5);写成MA5 : MA(C, 5) 100;虽然不涉及未来但信号位置会整体偏移毫无意义。3. 抄底指标的人与逻辑3.1 “抄底”到底在抄什么说到“抄底”很多人第一反应是找最低点。但做超短线和波段的都明白最低点是一个事后才能确认的点位盘中根本没有“绝对底”这一说。真正的抄底抄的是一个“高盈亏比区间”在下跌动能衰竭、出现反转信号的阶段进场止损明确一旦反弹利润空间大。那怎么判断动能衰竭常见的逻辑有五个维度超卖修复RSI、KDJ跌入超卖区比如RSI(14)低于20甚至低于15。乖离率过大价格短时间内快速偏离均线比如收盘价低于20日均线8%以上历史上大概率有技术性反弹。缩量企稳下跌过程中成交量从放量杀跌转为地量说明抛压减弱也就是常说的“地量见地价”。支撑确认触及前期平台、布林带下轨、重要均线附近后出现快速拉起或长下影线。底背离价格创新低但MACD或RSI指标没有创新低说明内在下跌动力在衰减。一个好的抄底指标最好不要只用其中一个条件否则噪音极大。我看到过网上流行很多“抄底副图”大多就是把KDJ、RSI、乖离率三个东西加权在一起然后画个信号柱。不能说完全没用但实战里信号非常多碰上阴跌行情容易被连续套牢。3.2 一个可用的抄底副图源码示例我分享一个自己常作为备选参考的抄底信号写法不是“神级成功率”但逻辑很清晰适合大家在此基础上做二次开发{超跌反弹抄底参考副图} RSI1 : RSI(CLOSE, 14); BIAS : (CLOSE - MA(CLOSE, 20)) / MA(CLOSE, 20) * 100; VOLA : MA(VOL, 5); S1 : RSI1 25; S2 : BIAS -6; S3 : VOL VOLA * 0.6; 底信号: S1 AND S2 AND S3;这个公式的含义是RSI进入超卖、股价偏离20日均线超过6%、成交量萎缩到5日均量的60%以下三个条件同时满足时给出信号。设计上坚持“超卖幅偏缩量”三重确认能在一定程度上过滤掉单边暴跌中“越跌越买”的风险。我自己用的时候还会加一个附加条件如果当天收出长下影线K线下影线实体占比达到一定比例信号可靠性会提高很多。下影线代表盘中多头反抗这是短线资金用真金白银试出来的信号。具体代码可以这样加影线 : (MIN(OPEN, CLOSE) - LOW) / (HHV(HIGH, 20) - LLV(LOW, 20));影线长度超过一定阈值时说明下方承接明显。但这块阈值怎么定就得根据不同的个股波动率去调没有统一标准。3.3 参数调整与组合思路抄底类指标最怕的就是“一根均线打天下”。同样的RSI低于25在低位横盘股和连续跌停股上的含义完全不同。所以我会建议用“周期嵌套”的思路去适配大周期判断方向小周期选择入场点。例如日线级别只允许做“下跌末期缩量”的候选股然后切换30分钟或60分钟K线等小级别出现MACD底背离再介入。这里还有个容易被忽略的细节复权方式。做指标公式和回测时通达信里一定要把K线设置为“前复权”尤其是做历史信号验证。否则遇到除权除息股价断崖式下跌会让RSI和BIAS全部失真回测自然也是错的。像量能饱和度、筹码分布这类衍生类指标也会因为复权差异得出完全不同的结论。4. “盘中预警”是这样工作的4.1 通达信预警机制入门盘中预警并不是什么神秘功能通达信本身就内置“条件预警”你只需要把写好的选股公式挂进去它就会按照设定的周期和频率自动扫描全市场。核心步骤就三步写好选股公式或者条件预警公式编译通过。在“功能-预警系统-条件预警设置”里把公式加入预警列表。设置扫描品种范围可以扫全市场也可以扫自选股或某个板块同时设定声音提醒和自动弹窗。但很多人不知道的是预警扫描频率和数据集市有关。如果你设置的是“分时预警”那实际用的是分钟级数据如果设置“日线预警”那盘中可能只在本日已收盘K线基础上刷新。做短线盘口预警选分时级别更贴近实时变化但CPU占用也更高。4.2 盘中预警公式写法与注意事项下面给一个适合做盘中异动预警的参考公式逻辑是捕捉“股价站上分时均价线且当日涨幅在2%到5%之间”的放量强势股{盘中强势量价预警} DYN_PRICE : DYNAINFO(7); DYN_VOL : DYNAINFO(4); 均价 : AMOUNT / VOL / 100; X1 : CROSS(CLOSE, 均价); X2 : CLOSE / REF(CLOSE, 1) 1.02 AND CLOSE / REF(CLOSE, 1) 1.05; X3 : V REF(V, 1) * 1.5; 预警: X1 AND X2 AND X3;细看这段代码DYNAINFO(7)是现价DYNAINFO(4)是即时成交量这类函数只有在实时行情下才有意义。均价线是分时图上的黄色线代码里通过AMOUNT / VOL / 100估算出当日的平均成交价格。AMOUNT在通达信里代表成交额注意单位是元除以成交量股数之后就能得到每手均价所以除100。CROSS(CLOSE, 均价)抓的是股价由下往上突破分时均线那一瞬间适合追强势股启动初期。涨幅限制在2%到5%是为了过滤掉高开低走和已经涨停追不进的情况。成交量放大条件则提高信号质量保证有资金参与。实际运行这种预警公式时容易出现一个问题AMOUNT / VOL / 100在开盘第一分钟数值极不稳定因为分母和分子都很小比值波动剧烈。所以我会在预警公式前面加一个时间过滤时间过滤 : TIME 945;意思是早盘9点45分之后再开始扫描避开集合竞价和开盘瞬间的虚假突破。很多人做盘中预警买入后被挂在分时均线上方的假突破坑里一部分原因就是没有过滤掉开盘前阶段的混乱数据。4.3 避免预警漏报和误报的细节预警公式除了要考虑“怎么触发”还要考虑“触发之后怎么办”。我见过不少朋友信号弹出来之后手忙脚乱不知道是追还是不追。我的做法是预警只是第一道筛选信号出现后马上打开对应个股的日线周期确认位置是否处于相对低位再切到分时图看量价配合最后结合板块热度决定是否参与。这里还需要特别提醒一点很多网上流传的“盘中预警源码”都带有未来函数。最常见的写法就是在选股条件里用了类似ZIG或PEAK这类未来函数历史K线上它们能精准画出转折点但实盘预警时它们用的数值会随K线变化而不断重绘导致信号出现后过几秒钟又消失甚至出现过预警然后股价反向暴跌的尴尬场景。识别未来函数最简单的办法就是把指标信号数一数看看历史信号是不是都出现在“转折点”本身如果每次信号都精准对应最低点那大概率就有未来函数掺在里面。5. 短线选股量价与资金的核心逻辑5.1 真正有效的短线要素“超级短线王”这五个字听起来霸气实际落到公式源码上核心无非就四件事量能、价格位置、资金流向、题材板块。量能是资金最直观的脚印所谓“量在价先”放量代表分歧和承接突破关键价位时必须有量价格位置解决的是盈亏比高位放量可能是出货低位放量才是启动同样一根大阳线在不同位置含义完全不一样资金流向和板块效应解决的是“为什么涨”一个股单独拉跟整个板块一起拉持续性区别极大。所以任何短线指标如果不考虑“位置”就给出买点基本都是在耍流氓。我写短线选股条件时一定会加入“距最近高点回撤幅度”或者“股价与年线的相对位置”来避免追高。5.2 大单进场叠加倍量突破的选股参考写法在通达信里虽然默认免费行情没有逐笔大单数据但可以通过成交量和涨跌幅的组合模拟出一个“大单进场倍量突破”的粗略选股框架。我常用的思路是这样的{倍量突破后的短线观察池} 突破上轨 : CLOSE REF(HHV(HIGH, 30), 1); 量比倍数 : VOL / REF(VOL, 1) 1.8; 涨幅适中 : CLOSE / REF(CLOSE, 1) 1.03 AND CLOSE / REF(CLOSE, 1) 0.097; 换手考虑 : IF(CLOSE / REF(CLOSE, 1) 1.03, VOL / CAPITAL * 100, 0); 候选: 突破上轨 AND 量比倍数 AND 涨幅适中 AND 换手考虑 5;这个公式的逻辑是股价突破30日最高点、成交量放大到前一日1.8倍以上、涨幅在3%到9.7%之间避免涨停一字板买不进同时换手率超过5%确保有充分的筹码交换和活跃度。选出来的不是一定涨而是进入“重点观察池”等分时回调不破均价时再人工决定是否介入。注意VOL / CAPITAL * 100是换手率的近似计算CAPITAL是流通股本。对于不同股本规模换手率标准要灵活调整大盘股和小盘股的5%换手含义完全不一样。这也是所有“源码万能论”最害人的地方——没有放之四海皆准的参数只有适配特定场景和风险偏好的交易规则。5.3 为什么要做多条件过滤很多人下载了超级短线公式之后总幻想着一个信号就是“买入命令”。但真实市场里单一信号的胜率通常也就五五开。做多条件过滤的目的不是把信号数量减少到“精准”而是把交易逻辑从“赌信号出现”变成“赌条件共振”。比如突破和放量同时出现再加上板块概念里有一定热度这样共振的赢面远高于单一技术形态。这里也顺带提一下热词里经常有人问的“通达信dll编写”“选股插件源码”这类扩展方向。公式语言能做到的事确实存在天花板比如更复杂的资金流模型、大数据回测、个性化界面原生的公式系统跑不动这时候确实会有人用C/C写DLL扩展。但如果只是为了做短线预警和选股先用好公式语言已经足够覆盖绝大多数场景完全没必要一上来就扎到DLL的坑里。等你能用纯公式把量价关系写清楚再考虑扩展路线会更顺。6. 常见问题排查速查表6.1 指标不显示、乱码与加密问题好用不好用先不说很多朋友连源码导入都卡住了。这里整理一份速查表都是我踩过的坑问题可能原因解决办法导入提示语法错误代码里混入中文标点、括号不匹配、用了低版本不支持的函数逐行检查标点用英文输入法重写分号和括号副图指标没有显示输出语句被:赋值没有实际输出线去定义前的冒号或单独加一行输出主图副图指标错位指标设计包含买卖价格带、画线函数被系统识别为副图或主图不匹配检查代码里有没有DRAWICON、DRAWTEXT等绘图函数导致的类型变化导入后完全空白未来函数导致信号在当前K线不显示或条件在当前行情不满足回看历史K线确认信号位置并检查是否用了FILTER过度过滤源码乱码/加密作者对指标加了密或者文档编码不对不提倡花精力去“解密”一是版权问题二是这类源码往往隐藏了未来函数根本没必要用数据明显不对复权方式设置错误K线界面右键切换成前复权再测试关于加密源码我再多说一句。网上那些带密码的“神级指标”很多就是普通公式加个壳核心逻辑毫无新意。与其花时间破解不如自己把开头的MACD、KDJ、均线组合搞明白写一个真正符合自己交易习惯的公式。破解别人的代码既不合规也学不到东西还容易踩中木马文件实在划不来。6.2 预警不触发或误报盘中预警不触发最常见的原因有四个预警设置里没有勾选“实时刷新行情”、扫描品种范围太小、公式在分时周期下计算量太大导致延迟、以及预警公式里错误使用了仅日线有效的函数。我自己排查的顺序一般是先看单独运行公式能不能选出股票再挂到预警里看状态栏是否提示“当前扫描品种0”最后再确认时间过滤条件是否设得过于严格。误报则大多是行情数据滞后导致尤其是免费行情源分时数据天然有一定延迟。遇到过系统提示预警信号触发但打开个股行情时价格已经在几秒钟内变化了的情况这种只能靠提高自身盯盘手速来弥补或者把预警条件略微往“严格”方向调整减少无意义弹窗干扰。6.3 回测与实盘差异回测成功率很高、实盘一塌糊涂这个问题几乎每一个指标开发者都会遇到。除了前文提到的未来函数和过拟合还有一个很容易忽视的因素交易成本与滑点。通达信自带的“程序交易评测”里如果我设置买入佣金万三、卖出万三加印花税千一一只每天换手频繁的超短线策略一年下来摩擦成本可能会吞掉十几个点甚至更多。很多网传指标回测净值非常漂亮其实压根没算手续费。解决建议是回测时把佣金率调到提示范围以上并且做“选取日期区间外”的样本外验证。比如用2022年的数据确定参数再用2024年的行情验证如果收益出现大幅下滑说明过拟合严重这时候就要减少参数数量或者简化逻辑。最后再分享一个小技巧写了这么多年指标我的体会是真正有价值的技术往往不是那些网盘里传得神乎其神的“99%成功率”源码而是自己动手把一个简单逻辑写成公式、放到实盘里反复检验、不断修正参数的过程。这个过程会逼着你思考市场结构、量价关系和风险控制而不是把希望完全寄托在一个 .doc 文件上。个人操作层面建议新手可以从“抄底盘中预警”这个组合起步用前文那个缩量超跌副图缩小候选股范围再用盘中强势预警筛选介入时机。需要再次强调的是指标公式只是辅助工具不构成任何投资建议市场有风险决策一定要有自己的仓位管理和止损纪律。踩过几次用“未来函数”回测骗自己的坑之后你自然会理解我说的话。本文还有配套的精品资源点击获取