资讯动态

通达信精准找牛选股公式:平台突破+均线多头+量能确认源码详解

发布时间:2026/9/20 0:09:01 来源:尧图企业网站定制
简介这是一份面向通达信软件用户的选股指标公式文档适合有一定技术分析基础、希望借助量化条件自动筛选强势股的投资者。文档以doc格式提供了完整的“精准找牛选股”源码核心逻辑融合MACD金叉、布林带突破与量价配合通过DIF、DEA、BOLL、UPPER、LOWER等变量构建选股模型要求个股同时满足收盘上涨、成交量倍量放大、DIF上穿DEA且处于非高位、收盘价突破布林上轨四个条件从而在海量标的中快速锁定具备上涨潜力的候选股票。资源共1个文件格式为doc整体大小仅20KB内容精简、便于导入通达信软件使用也方便对照源码理解选股思路。目前已有158人学习适合用于日常复盘、条件选股与策略优化。需要说明的是技术指标存在固有局限建议结合基本面与市场环境综合判断避免单一信号决策。1. 精准找牛选股公式关键是把“牛相”翻译成代码在通达信里折腾选股公式的人大多都经历过同一种挫败从网上淘来一份“精准找牛”源码粘贴到公式编辑器要么提示变量未定义要么选出来的股票堆满一屏真正的启动股被淹没在杂讯里。问题通常不在源码本身而在缺少一套“把盘面形态翻译成公式语言”的转换能力。这篇文章要解决的正是这件事牛股启动前的均线结构、量能变化、平台突破和 MACD 状态如何用通达信的指标公式函数写出来并让它在选股器和预警里稳定跑起来。我默认你打开过通达信的公式管理器知道新建公式按钮在哪里但对 TDX 公式语法还谈不上熟练。后面的内容会从最常用函数讲起给一份可以直接粘贴的“精准找牛”源码再讲参数怎么调、信号怎么验证。适合给那些已经看腻了“金叉死叉”描述想把选股标准落到可执行代码上的交易者。注意一点凡是没有明确写出“未来函数”的公式都是在当前 K 线收盘时点计算完毕选股结果只用于盘后复盘和次日观察不承诺盘中实时信号。2. 牛股启动前的共同形态怎么转成可计算的条件2.1 先定义“牛相”均线、量能、平台、动能缺一不可所谓精准找牛本质是把牛股启动前的几个共性特征叠加起来做交集。走牛之前市场结构上通常会出现三个可观测事实短期均线开始向上穿过中期均线说明持仓成本在抬高股价在一个相对窄的平台里反复震荡说明抛压在衰竭成交量在某个临界点突然放大说明有资金愿意在更高的价位接货。这三个事实对应到通达信公式里就是均线排列、区间高点、量比放大三个条件。公式里只用“收盘价”和“成交量”这两个最原始的数据源不依赖任何外部数据接口。这样做的最大好处是信号可复核你可以把公式生成的买点重新画到历史 K 线上观察信号是否真的出现在每一段像样的拉升之前。如果公式在震荡市里频繁触发在单边启动前反而沉默那多半是条件顺序写反了而不是行情没来。2.2 通达信公式函数的最小集合REF、HHV、COUNT、BARSLAST写选股公式不需要背大量函数掌握下面几个就够覆盖大部分形态定义。REF(X,N)取 N 周期前的值是构建“平台突破”的基石HHV(X,N)取 N 周期内最高值用来标记平台的上沿COUNT(条件,N)统计一个条件在 N 周期内成立过几次适合描述“最近 5 天内出现过金叉”这类模糊条件BARSLAST(条件)返回上次条件成立到当前的周期数用于判断“突破发生在缩量回调之后”。用这四个函数就能把“股价突破近 20 日最高收盘价后的第一次放量”翻译成下面的逻辑平台高点:REF(HHV(CLOSE,20),1); 今日突破:CLOSE平台高点; 近五日内金叉:COUNT(CROSS(MA(CLOSE,5),MA(CLOSE,10)),5)0; XG:今日突破 AND 近五日内金叉;这段代码的要点在第二行REF(HHV(CLOSE,20),1)取的是“昨天往前看 20 天的最高收盘价”而不是“今天往前看 20 天”。两者区别很关键——如果直接用HHV(CLOSE,20)今天这根 K 线的收盘价会自己跟自己比等于拿今天的价格来验证今天的突破任何一根创 20 日新高的阳线都会被判为突破成功信号失真。先用REF把比较基准锁死在昨天才真正是在测“今天突破了之前的平台”。2.3 四种常见启动形态与判定语句把市面上流行的选股思路归类高频出现的形态其实只有四种平台突破、均线粘合后向上发散、缩量回调后重新放量、MACD 零轴上方二次金叉。这四种形态对应的判定逻辑各有侧重我在下表里给出了核心函数组合市场形态判定逻辑通达信核心语句平台突破收盘价突破 N 日最高收盘价且当日收阳CLOSEREF(HHV(CLOSE,N),1)均线粘合后发散5 日与 10 日均线距离收窄后重新张口ABS(MA5-MA10)/MA100.02缩量回调后再放量回调日缩量随后单日量比显著放大VOLREF(VOL,1) AND VOLREF(VOL,1)*MMACD 零轴上方二次金叉DIF 在零轴上回踩 DEA 后重新上穿CROSS(DIF,DEA) AND DIF0实际操作中我不建议一次只用一个形态做选股因为单一条件的噪音太大。“平台突破”在上升趋势里经常连续触发单独看几乎每个强势股都能选进来而“MACD 二次金叉”又常常落后于股价等信号出现时离启动点已经涨了 8 个点。把两个、三个形态条件做交集噪音才能压下来这也是“精准”二字的意义所在。后面第 3 章给出的源码就是把均线结构、平台突破和量能确认三组条件拼在一起的完整做法。3. 一份可直接运行的“精准找牛”源码与逐段逻辑解读3.1 粘贴进通达信就能跑的源码主体下面这份源码是我按“三道过滤”的思路写的均线结构一道平台突破一道量能确认一道。前四行是参数区后面是判定区最后一行输出选股结果。代码支持“条件选股公式”格式也支持作为副图指标画线观察。{精准找牛_v1平台突破均线多头量能确认} N:20;{平台周期默认20日} M:1.5;{放量倍数默认1.5倍} T:60;{上市天数下限过滤次新} MA5:MA(CLOSE,5); MA10:MA(CLOSE,10); MA20:MA(CLOSE,20); {条件一均线多头排列} KX1:MA5MA10 AND MA10MA20; {条件二MACD零轴上方运行} DIF:EMA(CLOSE,12)-EMA(CLOSE,26); DEA:EMA(DIF,9); KX2:DIFDEA AND DIF0; {条件三放量突破近N日平台} 平台顶:REF(HHV(CLOSE,N),1); KX3:CLOSE平台顶 AND VOLREF(VOL,1)*M; {过滤涨停无法买入} KF1:CLOSEREF(CLOSE,1)*1.095; {过滤上市不足T日} KF2:BARSCOUNT(CLOSE)T; XG:KX1 AND KX2 AND KX3 AND KF1 AND KF2;粘贴到通达信公式编辑器时注意把“新建”里的公式类型选成“条件选股公式”。如果只是想在看盘界面观察信号就把类型选成“副图指标”XG 那一行会输出一组红点。需要说明的是这份源码的参数区是可调的N 控制平台跨度M 控制放量强度。震荡市里 M 建议保持 1.5趋势市中可降到 1.3避免因为放量要求过高把正常突破过滤掉。3.2 逻辑顺序为什么是均线先、MACD 次、突破最后三个条件的排列顺序不是随意的它直接影响最终选股结果的“含金量”。KX1均线多头放在最前面是因为它负责排除掉下跌中继形态的假反弹——股价可以在下跌趋势里出现单日放量大阳线但 5 日、10 日、20 日均线同时呈多头排列需要一段时间的持续修复假反弹在这种结构里很难同时满足。KX2 让信号只发生在 MACD 的 DIF 在零轴上方的情况隐含的意思是“趋势已经由跌转涨回调后再次向上”这与零轴下方的反弹有本质区别。KX3 是临门一脚也是最容易被散户玩坏的一脚。很多人写突破条件时喜欢在“突破平台”之外再加上“涨幅超过 7%”这种限制理由是只有强势才算牛。但实际回测下来突破当天涨幅过大往往意味着次日高开低走的风险量能和大阳线都是给持仓者出货用的。我更倾向于把放量倍数当作唯一的量能限制让涨幅自己说话。这样选出来的票可能是涨幅 8 个点的大阳突破也可能是涨幅 2 个点的温和放量突破后者往往更有持续性。3.3 为什么没把“MACD金叉”写成唯一主条件这里想专门说一个容易被误解的点很多选股公式把CROSS(DIF,DEA)当作核心条件写出来的源码也短选出来的股在历史 K 线上看着都挺准。这是公式回看时常见的幸存者偏差——金叉发生在起涨点附近但同样数量的金叉发生在下跌中继的反弹高点。只拿 MACD 金叉做主条件的公式复盘成功率低得惊人。我上面这份代码里 KX2 用的是“DIF 大于 DEA 且 DIF 大于零”而不是金叉当天。这样选出来的股票在金叉之后的若干天内每天都可能入选好处是给操作留出从容的介入时间坏处是信号持续出现会降低锐度。如果你希望每个股票只被选一次可以把 KX2 改成COUNT(CROSS(DIF,DEA),3)0意思是“最近 3 天内出现过金叉”既能拿到金叉的时效性又不会像单日金叉那样一天就消失。3.4 三处最常见的误用以及对应的修正方法第一处误用是把REF(HHV(CLOSE,N),1)的 N 设得太小。N 取 10 时平台顶太低任何一个小反弹都可能“突破”噪音极大N 取 60 时一年可能都选不出几只票资金利用效率太低。我一般取 20 到 30 之间对应约一个月左右的平台整理周期。第二处误用是忽略了涨停过滤。A 股主板涨停幅度 10%涨停板上的股票可以突破任何平台但你买不进去。加入KF1之后选股结果里剩下的是真正能在次日参与交易的标的。第三处误用是不加上市天数过滤。次新股上市初期没有足够的历史 K 线HHV(CLOSE,20)计算出来的平台顶没有参考意义而且次新股波动剧烈容易让整个选股结果变得不稳定。BARSCOUNT(CLOSE)T在源码里把上市不足 60 日的全部排除做次新股专项策略的人可以单独把 T 调小但不要直接删掉这行过滤。4. 把公式装进选股器和盘后预警参数设置与结果验证4.1 从源码到条件选股粘贴、命名、编译三步在通达信里新建一个条件选股公式最稳妥的路径是“功能”菜单下的“公式系统”再选“公式管理器”新建时类型选择“条件选股公式”把第 3 章的源码整段粘贴进去点击测试公式出现“测试通过”后保存。这里提醒一个细节源码里的中文注释和变量名用的都是中文冒号如果用英文输入法从别处复制很容易混入全角字符导致编译失败。真遇到“当前公式在 XX 行存在语法错误”的提示先检查最近修改的那一行的标点符号。如果你拿到的是网上下载的.tn6文件不需要手工粘贴。通达信的公式管理器支持直接导入找到“导入公式”按钮选择 tn6 文件即可。需要留意的是导入的公式类型可能是“副图指标”而非“条件选股”导入后先看公式类型不对就手动改一下类型再编译。很多人卡在这一步不是因为公式本身错而是类型选错导致“选股器里找不到这个公式”。4.2 参数面板的三档设置保守、均衡、激进源码里的 N、M、T 三个参数在参数面板里可以手工调整。我按自己的使用习惯给出三档设置方便不同风险偏好的读者直接套用参数档位N平台周期M放量倍数T上市天数适用场景保守档301.8120震荡市要求更高确定性均衡档201.560趋势市信号数量适中激进档101.230牛市预期强烈抓启动早期参数设置的原则是放量倍数 M 越小选出的股票越多假信号的比例也会上升平台周期 N 越大要求的整理时间越长错过启动的概率越高。没有一组参数能在所有行情下都最优。我的习惯是每个月月初用最近一周的行情做一次手工回看如果信号在下跌段密集出现就把 M 提高 0.2如果在上涨段里连续一周选不出票就把 M 调回 1.5。参数调整是慢功夫不值得为某个“全网最准的选股公式”神话交学费。4.3 用历史信号复盘替代肉眼记忆选出股票之后验证公式有效性的方法不是“看完觉得挺准”而是把信号画到 K 线图上回看。具体操作是在条件选股公式里加入一行画图标注代码让信号出现在主图或副图上。DRAWICON(XG,LOW,1); DRAWTEXT(XG,LOW,找牛),COLORRED;把这两行追加到源码末尾后保存为副图指标再把它加载到日线图上。这样做的意义在于——你看到的每一个红点都对应公式当时选出来的股票和日期。复盘时重点看两类情况一类是红点出现后 5 日内股价明显上涨的成功信号确认公式抓到了主升段另一类是红点出现后股价继续横盘甚至下跌的失败信号找出这些失败信号在形态上和成功信号的区别。这种复盘方法比拉长选股列表看结果要可靠得多因为失败样本和成功样本放在同样的时间尺度下对比能直接暴露公式的过度拟合倾向。4.4 盘后选股与盘中预警的配置差异公式在盘后选股和盘中预警里表现完全不同原因在于盘中行情数据未收盘定型量比、突破、金叉都可能随着盘中波动反复出现。我不建议把这套“精准找牛”公式直接挂到盘中预警上盘中预警更适合用简化条件例如只保留平台突破和量能放大去掉均线多头的日期约束这个条件本来就是日线级别的判断。盘后选股的推荐路径是收盘后下载当日日线数据执行“选股器 → 条件选股 → 加入公式 → 执行选股”结果加入自选板块次日观察开盘半小时的承接力度。这样既拿到了公式信号又避开了盘中数据不稳定带来的重复报警。5. 三步点睛式组合触底、反转、看多三个信号叠加过滤5.1 把“触底、反转、看多”三个副图信号拆成可叠加的过滤条件市场上流传较广的“三步点睛触底、反转、看多”副图指标核心思路是让三个信号同时被点亮时才形成买点。我不打算照抄那份源码因为它夹杂了大量艺术性绘图代码直接拿来选股并不好用。但它的思想值得保留把单一选股条件的“是与否”升级成三路信号的“是否同向”过滤效果显著提升。应用到我的源码上可以叠加三段小逻辑。触底条件用“股价距 60 日低点不远且出现长下影”反转条件用“5 日均线上穿 10 日均线后 3 日内维持在上方”看多条件用“MACD 柱状线由绿转红”{触底近60日最低点附近收长下影} LLV60:LLV(LOW,60); 触底:ABS(CLOSE-LLV60)/LLV600.15 AND (MIN(OPEN,CLOSE)-LOW)ABS(CLOSE-OPEN)*0.5; {反转5日均线与10日均线金叉后维持3日} 反转:COUNT(CROSS(MA5,MA10),3)0 AND MA5MA10; {看多MACD柱由负转正} MACD柱:(DIF-DEA)*2; 看多:REF(MACD柱,1)0 AND MACD柱0; 叠加信号:XG AND 触底 AND 反转 AND 看多;叠加后选股数量会锐减这符合“精准找牛”的定位——它不是每天都有信号的公式而是等待多条件共振的工具。用热词的说法可以把这套思想理解为“触底、反转、看多”三个维度都给这只股票打个勾三个勾齐了才纳入观察池。实际使用时触底条件在单边上涨行情里几乎永远不会成立这会造成“牛市选不出股”的结果所以它更适合用在震荡市的大盘环境下。5.2 用资金流和主力增仓视角做二次确认均线、突破、MACD 都只能反映价格行为还有一种常见过滤思路是引入量价背离程度和资金流强度。通达信公式里可以用AMOUNT函数取到当日成交金额用它构造一个简化的“资金异动”条件{资金异动当日成交金额达到近5日均值的1.6倍以上} 金额均值:MA(AMOUNT,5); 资金异动:AMOUNT金额均值*1.6;另一种常见做法是观察“量能饱和度”——当成交量温和放大但未达到极端值时股价上涨的延续性往往比天量暴涨更好。可以用“量能与 20 日均量的比值”圈定一个健康区间。这两个条件适合作为“主力增仓”的间接确认与第 3 章的源码叠加时放在最后面作为“加分项”而非“必选项”。选股结果太多时加上它选股结果为零时去掉它视市场环境灵活切换。5.3 一份自查清单交付前的最后检查写好的公式在形成准星之前最后过一遍自查清单能避开大多数隐性坑。以下六条是我每次写完公式都会检查的项公式里是否有BACKSET、ZIG、PEAKA这类未来函数——只要出现该公式的选股结果就不可信务必删除。是否引用了当日收盘后的才能确定的数据——用于盘中预警时需要去掉这些条件。参数面板里的默认值是不是你实盘想用的值——很多公式编译通过但忘了调参数默认值选出来的股票没有意义。选股结果里是否混入 ST 类股票——有需要可加NOT(NAMELIKE(ST))做过滤。相同信号在同一只股票上是否重复出现——若需要“一个标的只选一次”用信号计数函数做去重。是否跑过一次至少 3 个月的历史复盘——没跑过历史就直接实盘等于把自己当测试样本。完成这份清单后公式基本上就是一份可以交付给自己的选股工具了。后续要做的是盯住每次选股结果里“错误信号”的共同特征反哺到条件参数里让公式跟随行情自身的节奏进化。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价