news 2026/9/6 21:19:27

通达信选股公式如何少信号高胜率?从信号过滤到实战源码详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
通达信选股公式如何少信号高胜率?从信号过滤到实战源码详解

简介:一份面向广大股票与期货投资者的通达信技术指标公式源码文档,重点聚焦于信号少、胜率高的条件判断策略。文档从通达信平台基础概念讲起,逐步深入拆解 AI、C0、C1、DSY 四个核心变量的计算逻辑:AI 指标反映每笔交易金额占总成交额的百分比,C0 与 C1 分别代表短期和长期历史收盘价均线,DSY 则用于衡量交易流量的充沛程度。核心“抄底”信号被设计为一个两层条件——当收盘价相对 C0/C1 中较小值的偏离度小于10%,且近5日 DSY 均值低于1.8时,系统输出买入信号,从而过滤掉大量无效波动,减少交易噪音。整份资源仅含1个doc文件,压缩包大小132KB,内容紧凑,便于直接查阅、复制公式并根据自己的交易习惯进行修改。目前已有178人学习下载,适合有一定通达信基础、希望优化入场时机并提升胜率的个人投资者。资料中提供了完整源码、变量含义说明及条件逻辑解析,既可用于选股与风控,也能作为自定义指标开发的参考模板。 写通达信公式这些年,我最深的一个体会就是:信号多不等于能赚钱,反而往往是亏钱的开始。

早年我也沉迷于那种一天能选出几十只票的万能公式,看着满屏的买入信号,感觉下一秒就能财务自由。结果呢?信号多到根本看不过来,随便挑一只买进去就被套,止损割肉,然后再等下一个信号,循环往复,账户资金像坐了滑梯一样往下出溜。后来我慢慢想明白一个道理:真正能稳定赚钱的公式,一定是“信号少、胜率高”的。今天我就把自己打磨了大半年的一套低频高胜率选股公式源码,连同设计思路和踩坑经验一起拿出来聊聊,适合那些已经会用通达信基础功能、想自己动手写选股指标、又苦于信号太多太杂的朋友参考。

1. “信号满天飞”为什么难赚钱

1.1 信号数量与胜率之间的天然矛盾

先说一个很多人没意识到的问题——信号多,本质上就是筛选条件太宽松。

举个最简单的例子,单写一个“MACD金叉”,也就是DIFF上穿DEA,一天下来全市场能选出一两百只股票。这里面有上涨趋势中的回调金叉,也有下跌趋势中的反抽金叉,甚至还有横盘震荡的假金叉。你根本不知道哪个是真正要启动的,只能碰运气。

而胜率高的公式,背后一定是严格的条件组合。条件越多,能通过筛选的股票就越少,但每一只通过筛选的股票,它在逻辑上满足的“启动前特征”就越完整,买入后的成功概率自然就上来了。这就像面试,只要求“会写代码”能筛出一百个人,但如果你再加上“五年经验、熟悉某一领域、有大厂项目经历”这些条件,最后留下的可能就剩三个人,但这三个人大概率是真正合适的。

1.2 “低频+高胜率”公式背后的设计逻辑

那怎么才能设计出一个信号少、胜率高的公式?我总结下来,核心就三个字:加过滤。

一个科学的高胜率选股公式,应该像漏斗一样,层层筛选,最终留下来的都是有“共性”的强势股。我自己在写公式时,通常会叠加以下几类过滤条件,每加一个条件,信号数量都会大幅减少,但同时也会让信号质量更高:

过滤维度核心逻辑对信号数量的影响
趋势过滤股价运行在关键均线上方,均线呈多头排列过滤掉大部分下跌趋势中的反弹票
量能过滤回调时缩量,启动时放量过滤掉无量阴跌、庄家出货的票
位置过滤股价处于相对低位或回调到关键支撑位过滤掉高位追涨的风险
动能确认MACD、KDJ等指标处于多头共振区域过滤掉弱势反抽、假金叉的干扰
资金确认量比、换手率适中,有资金关注但未过度炒作过滤掉冷门股和情绪过热的妖股

叠加四五个条件之后,一套公式在正常情况下可能一周只出两三次信号,甚至有时候一周一个信号都没有。但老实说,我觉得这才是正常的,甚至是好事。行情不好的时候信号少,说明公式在自动帮你规避风险;行情好的时候信号相对多,说明公式抓住了市场机会。

2. 一套“低频高胜率”选股公式源码逐行拆解

2.1 完整源码

下面直接上干货,这套公式是我实盘用了很久的,核心思路是“趋势向上 + 缩量回调到支撑 + 动能重新转强”,我把它的定义放在下面,大家在通达信里新建一个“条件选股公式”,把代码复制进去即可:

{参数区} N:=20; {回踩观察周期} M:=5; {量能缩放周期} P:=60; {中期趋势均线} MA5:=MA(CLOSE,5); MA10:=MA(CLOSE,10); MA20:=MA(CLOSE,20); MA60:=MA(CLOSE,P); {趋势过滤:短期均线多头排列,收盘价站上60日线} 趋势:=MA5>MA10 AND MA10>MA20 AND CLOSE>MA60; {缩量回调:当日成交量小于5日均量,说明回调抛压不重} 量缩:=VOL<MA(VOL,M); {回踩支撑:最低价触及20日线附近(不破),且收盘收回20日线上方} 回踩:=LOW<=MA20*1.02 AND CLOSE>=MA20; {MACD多头区域:DIF在DEA上方,且DIF为正} DIF:=EMA(CLOSE,12)-EMA(CLOSE,26); DEA:=EMA(DIF,9); MACD多头:=DIF>DEA AND DIF>0; {KDJ金叉辅助确认,且J值不高,避免追高} RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100; K:=SMA(RSV,3,1); D:=SMA(K,3,1); J:=3*K-2*D; KDJ金叉:=CROSS(K,D) AND J<80; {最终信号} 信号:=趋势 AND 量缩 AND 回踩 AND MACD多头 AND KDJ金叉; {画线输出} STICKLINE(信号,0,1,1,0),COLORRED; DRAWTEXT(信号,1.2,'低吸'),COLORWHITE;

2.2 关键函数与参数的设计意图

这套公式里没有用任何未来函数,也没有复杂的加密逻辑,全部是通达信内置的基础函数,但每一个条件的筛选力度都很大。

先说趋势过滤。MA5>MA10 AND MA10>MA20是典型的短期多头排列,CLOSE>MA60是为了确保股价运行在中期均线上方。有了这三条,基本上就把还在下跌通道里反弹的股票全部过滤掉了。我特意用MA60而不是MA120,是因为60日线更贴近中线资金的成本线,一旦股价站上60日线,说明近三个月的持仓者大多处于盈利状态,抛压相对较小。

再说缩量回调。VOL<MA(VOL,M)表示当日成交量小于M日均量,M默认是5。这一条非常关键——回调过程中缩量,说明割肉盘和获利盘都不多,筹码锁定良好。如果回调时放量,那很可能是资金在出逃,这种股票即使回踩到20日线也不能碰。

然后是回踩支撑。LOW<=MA20*1.02表示最低价触及20日均线或其上方2%的区域,CLOSE>=MA20表示收盘时股价还站在20日线上方。这里我加了1.02的容差,是因为强势股很少精确回踩到20日线,很多时候在20日线上方一两毛钱就反弹了。如果你把容差设为1,也就是必须跌到20日线,信号会急剧减少,反而不利于实际使用。

MACD多头和KDJ金叉这两个条件,本质上是动能确认。DIF>DEA能保证短期动能强于中期动能,DIF>0则保证动能位于零轴上方,属于多头市场。KDJ金叉是常用的短线买点信号,我加了一个J<80的约束,是为了避免在过热区域追高——如果J值已经很高还出现金叉,说明股价短线已经涨了一大截,这时候进场很容易买在山顶。

2.3 参数怎么调:不同风格对应不同数值

这套公式默认参数适合中线低吸风格,但如果你有自己的交易习惯,参数是可以灵活调整的。

  • 想把信号调得更少(更稳):把N从20改成30,M从5改成10,容差从1.02改成1.01。条件更严格,回踩周期更长,量能萎缩得更充分,信号数量可能直接减半。
  • 想适应短线快进快出:把20日线改成10日线,P改成30,容差稍微放宽到1.03。这样选出来的是强势股回踩10日线附近的短线买点,持股周期3-5天,止盈止损都要更快一些。
  • 想适应不同板块:如果是做波动大的题材股,建议把MA20改成MA10,因为题材股回调往往很浅,很难等到20日线;如果是做银行、地产这种波动小的权重股,可以把均线周期拉长到30日,信号更稳定。

注意:参数不是越严格越好。我自己测试过,把容差放到1.01后,公式经常一个月都出不了几次信号,选出来的股票虽然稳,但没有可操作性。好的参数是在“信号数量”和“信号质量”之间找一个平衡点,我的经验是每个月能有8-15次信号比较合理。

3. 实战验证与选股器配合使用指南

3.1 把公式接到通达信选股器里

源码建好之后,如果你用的是通达信电脑版,操作路径是:功能 → 选股器 → 综合选股 → 选择“条件选股公式” → 找到刚才新建的公式 → 加入条件 → 执行选股。

有几个设置细节值得注意。第一,执行选股前,一定要把“选股范围”设置为“沪深A股”,并且剔除ST板块和上市未满60日的新股,这些股票要么流动性差,要么数据不稳定,容易干扰信号。第二,建议勾选“前复权”数据再选股,因为如果不复权,除权除息会导致股价跳空,20日线附近的位置会被计算错。第三,选股日期选择“最近一天”即可,这套公式本来就是盘中或盘后用的,不需要做历史回测区间的批量选股。

3.2 不同行情下的信号表现差异

我实测下来,这套公式的表现跟大盘环境关系很大。在震荡市或者上升趋势中,信号质量很高,买入后往往几天内就能走出反弹;但在单边下跌行情中,信号数量会明显增多,但假信号也变多,因为弱势环境下即使回踩到20日线,也可能继续破位下跌。

所以现在我用这套公式时,会先看一眼大盘的20日线。如果大盘指数在20日线上方,正常选股操作;如果大盘跌破20日线,我会把公式选出的股票全部放弃,或者只做轻仓试探。不要觉得这是多此一举,因为个股的走势再强,也扛不住大盘系统性下跌,这是我在实践中交过学费才明白的。

3.3 买入后的止损止盈与仓位安排

公式只是解决了“在哪里买”的问题,买完之后怎么操作,同样重要。我个人习惯是:

  • 止损:买入后如果收盘价跌破20日线3%以上,无条件出局。因为这说明“回踩支撑”的逻辑已经失败了,不应该继续扛单。
  • 止盈:短线持股5-8个交易日,如果涨幅达到8%-12%,分批止盈。如果是比较强势的股票,我会把止盈位上移到10日线,跌破就走。
  • 仓位:单个信号买入不超过总仓位的10%-15%。因为这套公式是“低吸”逻辑,买入后不排除还有最后一跌的可能,仓位控制能让你在极端行情下不至于伤筋动骨。

说句心里话,任何公式都只能提供“概率优势”,不能保证“每单必赢”。我现在用这套公式,单月胜率能维持在六到七成,就是靠严格的止损纪律把亏损限制在小范围内。止损永远比找一只好票更重要。

4. 公式编写中常见的坑与排错实录

4.1 未来函数:最隐蔽的“信号后移”陷阱

公式编写里最大的坑,就是不小心用了未来函数。什么叫未来函数?简单说,就是某个数据在当前时刻引用了未来才会出现的数据,选股时看到的信号,实际等到买入后可能就消失了或者变了。

通达信里常见的未来函数有ZIG(之字转向)、PEAK(波峰值)、TROUGH(波谷值)、WINNER(获利盘比例)等。比如ZIG这种函数,它需要走完一段趋势之后才能确认转折点,所以在信号出现的当时,你看到的买点其实是“用未来数据倒推出来的假买点”。

我自己刚学公式时就吃过这个亏,用了一个带ZIG的抄底公式,历史回测胜率高达九成,结果实盘一用就翻车。后来排查了很久才弄明白是未来函数在作怪。验证方法很简单:在通达信里把公式加载到主图上,然后按键盘的下箭头把K线往右移动,如果发现信号在历史K线里“凭空出现”或“凭空消失”,那这个公式大概率带了未来函数。我这套公式全部用的是REFMACROSS这类及时函数,不会出现这个问题。

4.2 公式保存后报错的常见原因

编写公式时最常遇到的就是报错,通达信的报错提示一般会告诉你错误在第几行。我遇到的几种高频报错,基本都是小问题,但能卡住新手半天。

  • 漏分号:通达信公式每一条赋值语句的结尾必须有英文分号;。漏掉一个分号,后面的代码全部会被当成一条语句来解析,直接报错。
  • 括号不匹配:函数嵌套层级多了之后很容易出现左括号和右括号数量不一致。我的习惯是写多层嵌套的语句时,像EMASMA这种带两个参数的函数,先把函数名和括号一起写上,再往里面填参数。
  • 变量名重复:如果你在副图指标里定义了A,又在选股公式里定义了A,系统会提示重复定义。建议变量名尽量用有意义的英文或拼音,比如趋势量缩回踩,一眼就能看出含义,也不容易重名。
  • 中英文符号混用:把中文输入法的逗号、括号打到了代码里,通达信识别不了。新手建议直接把输入法切到英文模式再写公式。

4.3 源码文件打开乱码怎么办

有些朋友拿到一份.doc格式的公式源码文件,打开后发现全是乱码,第一反应就是文件坏了。其实大多数情况下,这是编码问题

通达信公式源码通常保存为ANSI(即GBK)编码格式,如果你用系统自带的记事本直接打开,记事本会默认按UTF-8解析,中文注释就全变成乱码了。解决办法很简单:用记事本打开源码文件后,选择“文件 → 另存为”,在底部编码栏里把默认的UTF-8改成ANSI,保存后再复制到通达信里就不会乱码了。

还有一个防坑技巧:从网上下载的公式源码,复制到通达信之前,先粘贴到文本编辑器里把格式清理一遍,尤其是把所有全角括号和全角分号替换成半角的。因为网页排版经常会把代码里的符号悄悄改成全角,粘贴过去直接报错,排查这个花的时间往往比写公式还长

5. 一套公式的打磨过程远比公式本身重要

最后再聊点题外话。

很多人拿到一套源码,第一反应是赶紧复制进去看信号,如果信号少,就说公式不行,如果信号多,就迫不及待地买。但在我这几年的实践里,一套公式从“能选出股票”到“能稳定盈利”,中间还要经历大量的数据统计和参数磨合

我自己的流程是这样的:先用历史数据做三个月以上的回看,把公式选出的每一个信号在K线图上标记出来,看看买入后三天的表现;然后统计胜率、平均盈亏比、最大回撤,再针对性地调整参数和过滤条件。这个过程可能要反复十几轮,但正是这个打磨过程,让你真正理解公式里每一个条件的作用,也让你知道它在什么行情环境下会失效。

这套“趋势加缩量回踩加动能确认”的公式,就是我在大量交易记录的基础上一点点调出来的。它不一定适合所有人,但它的设计思路——层层过滤、宁缺毋滥——我觉得是值得每个写通达信公式的朋友参考的。行情不好的时候,空仓等待信号,本身就是一种操作。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 21:18:40

如何快速部署开源中文法律大模型:法律AI私有化部署完整清单

如何快速部署开源中文法律大模型&#xff1a;法律AI私有化部署完整清单 【免费下载链接】Awesome-Chinese-LLM 整理开源的中文大语言模型&#xff0c;以规模较小、可私有化部署、训练成本较低的模型为主&#xff0c;包括底座模型&#xff0c;垂直领域微调及应用&#xff0c;数据…

作者头像 李华
网站建设 2026/9/6 21:15:47

ThingsBoard消息优先级会怎么“插队“:一次源码走读

ThingsBoard消息优先级会怎么"插队"&#xff1a;一次源码走读 【免费下载链接】thingsboard Open-source IoT Platform - Device management, data collection, processing and visualization. 项目地址: https://gitcode.com/GitHub_Trending/th/thingsboard …

作者头像 李华
网站建设 2026/9/6 21:15:21

用 ChartDB 把数据库设计从“写 DDL“变成“画图纸“

用 ChartDB 把数据库设计从"写 DDL"变成"画图纸" 【免费下载链接】chartdb Database diagrams editor that allows you to visualize and design your DB with a single query. 项目地址: https://gitcode.com/GitHub_Trending/ch/chartdb ChartDB …

作者头像 李华
网站建设 2026/9/6 21:14:03

ZCode 官方提供了命令行工具 官方 CLI

有&#xff0c;ZCode 有 CLI 版本&#xff0c;而且不止一种形态。下面把官方渠道和社区版本分开说清楚&#xff0c;方便你选择。 官方 CLI ZCode 官方提供了命令行工具&#xff0c;需要 Node.js 环境&#xff08;Windows 下要求 Node 22&#xff09;。安装后即可在终端直接调用…

作者头像 李华