ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

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

通达信选股公式如何少信号高胜率?从信号过滤到实战源码详解 简介一份面向广大股票与期货投资者的通达信技术指标公式源码文档重点聚焦于信号少、胜率高的条件判断策略。文档从通达信平台基础概念讲起逐步深入拆解 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日线} 趋势:MA5MA10 AND MA10MA20 AND CLOSEMA60; {缩量回调当日成交量小于5日均量说明回调抛压不重} 量缩:VOLMA(VOL,M); {回踩支撑最低价触及20日线附近不破且收盘收回20日线上方} 回踩:LOWMA20*1.02 AND CLOSEMA20; {MACD多头区域DIF在DEA上方且DIF为正} DIF:EMA(CLOSE,12)-EMA(CLOSE,26); DEA:EMA(DIF,9); MACD多头:DIFDEA AND DIF0; {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 J80; {最终信号} 信号:趋势 AND 量缩 AND 回踩 AND MACD多头 AND KDJ金叉; {画线输出} STICKLINE(信号,0,1,1,0),COLORRED; DRAWTEXT(信号,1.2,低吸),COLORWHITE;2.2 关键函数与参数的设计意图这套公式里没有用任何未来函数也没有复杂的加密逻辑全部是通达信内置的基础函数但每一个条件的筛选力度都很大。先说趋势过滤。MA5MA10 AND MA10MA20是典型的短期多头排列CLOSEMA60是为了确保股价运行在中期均线上方。有了这三条基本上就把还在下跌通道里反弹的股票全部过滤掉了。我特意用MA60而不是MA120是因为60日线更贴近中线资金的成本线一旦股价站上60日线说明近三个月的持仓者大多处于盈利状态抛压相对较小。再说缩量回调。VOLMA(VOL,M)表示当日成交量小于M日均量M默认是5。这一条非常关键——回调过程中缩量说明割肉盘和获利盘都不多筹码锁定良好。如果回调时放量那很可能是资金在出逃这种股票即使回踩到20日线也不能碰。然后是回踩支撑。LOWMA20*1.02表示最低价触及20日均线或其上方2%的区域CLOSEMA20表示收盘时股价还站在20日线上方。这里我加了1.02的容差是因为强势股很少精确回踩到20日线很多时候在20日线上方一两毛钱就反弹了。如果你把容差设为1也就是必须跌到20日线信号会急剧减少反而不利于实际使用。MACD多头和KDJ金叉这两个条件本质上是动能确认。DIFDEA能保证短期动能强于中期动能DIF0则保证动能位于零轴上方属于多头市场。KDJ金叉是常用的短线买点信号我加了一个J80的约束是为了避免在过热区域追高——如果J值已经很高还出现金叉说明股价短线已经涨了一大截这时候进场很容易买在山顶。2.3 参数怎么调不同风格对应不同数值这套公式默认参数适合中线低吸风格但如果你有自己的交易习惯参数是可以灵活调整的。想把信号调得更少更稳把N从20改成30M从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线里“凭空出现”或“凭空消失”那这个公式大概率带了未来函数。我这套公式全部用的是REF、MA、CROSS这类及时函数不会出现这个问题。4.2 公式保存后报错的常见原因编写公式时最常遇到的就是报错通达信的报错提示一般会告诉你错误在第几行。我遇到的几种高频报错基本都是小问题但能卡住新手半天。漏分号通达信公式每一条赋值语句的结尾必须有英文分号;。漏掉一个分号后面的代码全部会被当成一条语句来解析直接报错。括号不匹配函数嵌套层级多了之后很容易出现左括号和右括号数量不一致。我的习惯是写多层嵌套的语句时像EMA、SMA这种带两个参数的函数先把函数名和括号一起写上再往里面填参数。变量名重复如果你在副图指标里定义了A又在选股公式里定义了A系统会提示重复定义。建议变量名尽量用有意义的英文或拼音比如趋势、量缩、回踩一眼就能看出含义也不容易重名。中英文符号混用把中文输入法的逗号、括号打到了代码里通达信识别不了。新手建议直接把输入法切到英文模式再写公式。4.3 源码文件打开乱码怎么办有些朋友拿到一份.doc格式的公式源码文件打开后发现全是乱码第一反应就是文件坏了。其实大多数情况下这是编码问题。通达信公式源码通常保存为ANSI即GBK编码格式如果你用系统自带的记事本直接打开记事本会默认按UTF-8解析中文注释就全变成乱码了。解决办法很简单用记事本打开源码文件后选择“文件 → 另存为”在底部编码栏里把默认的UTF-8改成ANSI保存后再复制到通达信里就不会乱码了。还有一个防坑技巧从网上下载的公式源码复制到通达信之前先粘贴到文本编辑器里把格式清理一遍尤其是把所有全角括号和全角分号替换成半角的。因为网页排版经常会把代码里的符号悄悄改成全角粘贴过去直接报错排查这个花的时间往往比写公式还长。5. 一套公式的打磨过程远比公式本身重要最后再聊点题外话。很多人拿到一套源码第一反应是赶紧复制进去看信号如果信号少就说公式不行如果信号多就迫不及待地买。但在我这几年的实践里一套公式从“能选出股票”到“能稳定盈利”中间还要经历大量的数据统计和参数磨合。我自己的流程是这样的先用历史数据做三个月以上的回看把公式选出的每一个信号在K线图上标记出来看看买入后三天的表现然后统计胜率、平均盈亏比、最大回撤再针对性地调整参数和过滤条件。这个过程可能要反复十几轮但正是这个打磨过程让你真正理解公式里每一个条件的作用也让你知道它在什么行情环境下会失效。这套“趋势加缩量回踩加动能确认”的公式就是我在大量交易记录的基础上一点点调出来的。它不一定适合所有人但它的设计思路——层层过滤、宁缺毋滥——我觉得是值得每个写通达信公式的朋友参考的。行情不好的时候空仓等待信号本身就是一种操作。本文还有配套的精品资源点击获取
返回列表