简介:通达信信号少胜率高公式源码文档,面向股票与期货投资者、量化交易初学者,用于减少无效信号、提升交易胜率。内容围绕“信号少胜率高”公式展开,逐段拆解AI:=AMOUNT/VOL/100、C0:=REF(C,2)*0.865、C1:=REF(C,13)0.772、DSY:=100VOL/CAPITAL等关键代码的含义:AI反映单笔交易金额占比,C0与C1分别代表短期和长期收盘价参考值,DSY衡量成交量与流通盘的关系。文档重点讲解“抄底”条件的判断逻辑——当(C-MIN(C0,C1))/C<0.1且SUM(DSY,5)/5<1.8时输出信号,帮助读者理解如何综合价格位置与量能活跃度构建过滤条件,避免频繁交易。资源为1个doc文档,大小132KB,便于直接查阅和复制源码,也有助于学习通达信公式的写作思路。目前已有178人学习,适合想深入掌握技术指标公式、建立稳定交易信号体系的投资者。 在通达信里折腾过指标的人,应该都经历过这个阶段:打开公式网站,从头翻到尾,真正敢用、能坚持用的源码其实没几个。大部分指标要么信号扎堆,一天蹦出三五个买点,复盘一看一半是假突破;要么信号稀疏到一年都没动静,等得人心态崩了。今天要拆解的这套“信号少胜率高”公式源码,属于后面这种情况——它一年可能只给你十几个信号,但每一笔都建立在多重条件过滤之上,不是靠运气碰出来的。这篇文章我会把这套源码的每一行逻辑、导入步骤、常见坑全部讲清楚,已经拿到.dox文档但打开乱码的人,也能在这里找到解决办法。
这个公式适合谁?我觉得三类人最对口:一是已经过了“天天找牛股”阶段、想减少无效交易的老手;二是刚学通达信公式语言、想搞明白多个函数组合用法的入门者;三是手里有源码但不知道参数怎么调、怎么放入软件的新人。我会用最直白的话把这套源码讲透,不需要你有编程基础。
1. 先想清楚:信号少,为什么反而是优势
1.1 信号数量与胜率之间,存在天然的矛盾
很多人刚接触指标时都有一种错觉:信号越多,代表指标越灵敏,赚钱机会越多。实际上恰恰相反。一个指标如果稍微一点波动就触发买点,那它大概率是在追涨杀跌——价格稍微抬头就提醒你买,稍微回落就提醒你卖,长期下来手续费和滑点就能吃掉不少利润,更不用说假突破带来的亏损。
我拿自己踩过的坑举个例子。早几年我用过一套参数很灵敏的MACD金叉公式,差不多每隔两三天就弹一个信号出来。当时觉得捡到宝了,结果一个月复盘下来,真正能拿住的行情没几段,倒是止损单开了不少。原因很简单:信号的频率越高,参与的市场状态就越多,而大部分状态下行情是没有方向的。所以后来我把思路彻底反转过来——不是让指标更灵敏,而是让指标更“挑食”。这套“信号少胜率高”的源码,走的正是这条路。
1.2 高胜率的本质,是把“不该买”的行情都过滤掉
想提高胜率,大多数人的第一反应是换一个“更准”的指标。但软件里那些经典函数,MACD、KDJ、均线、布林带,大家都能看到,单独拿出来其实没有秘密。真正拉开差距的,是你怎么组合它们、怎么设置过滤条件。
打个比方。单看均线多头排列,你会买在半山腰;单看放量突破,你会追在情绪高点;单看MACD金叉,你会买在震荡区间的上沿。单独任何一个条件,胜率都很一般。可如果你要求“均线多头 + 放量突破 + MACD动能向上 + 乖离率不过热”同时满足,那等于把四个低概率事件叠加成一个高概率时刻。这就是这套源码的核心思想:不追求一次性抓住所有机会,而是把不符合标准的行情全部挡在门外。
1.3 这套公式的适用边界与使用预期
在动手导入之前,我必须把丑话说在前面。任何技术指标都建立在概率之上,这套公式也不例外。我实测下来的感觉是:它比较适合日线级别、趋势相对流畅的个股,对宽幅震荡的行情会长时间不触发信号,这是正常的,不需要怀疑公式坏了。
如果你想用在小级别周期,比如15分钟、30分钟,那需要把平台周期调短、量比门槛降低,否则信号会少到没法用。另外,它更像一个“入场过滤器”,不是完整的交易系统。信号出现后,止损位放在哪里、仓位怎么分配,这些规则得你自己定。我习惯在信号触发后把止损放在突破平台下沿,这个后面细说。
2. 源码逐行拆解:每个条件到底在过滤什么
2.1 全套源码(可直接复制)
这份源码在通达信里属于技术指标公式,我整理成了可以直接粘贴的形式。注意保留注释和换行,别漏掉任何一行。
{信号少胜率高主升浪指标} {适用周期:日线} {=== 均线系统 ===} MA5:=MA(CLOSE,5); MA10:=MA(CLOSE,10); MA20:=MA(CLOSE,20); MA60:=MA(CLOSE,60); {条件一:均线多头排列,方向向上} 均线多头:=MA5>MA10 AND MA10>MA20 AND CLOSE>MA60; {条件二:平台突破,蓄势后启动} 平台高点:=HHV(HIGH,60); 突破:=CLOSE>=REF(平台高点,1)*1.01 AND REF(CLOSE,1)<REF(平台高点,1); {条件三:量能确认,资金进场} 量比:=VOL/MA(VOL,10); 放量:=量比>=1.8 AND VOL>REF(VOL,1)*1.3; {条件四:MACD动能向上} DIF:=EMA(CLOSE,12)-EMA(CLOSE,26); DEA:=EMA(DIF,9); MACD动能:=DIF>DEA AND DIF>REF(DIF,1); {条件五:乖离率过滤,防止追高} 乖离率:=(CLOSE-MA20)/MA20*100; 不过热:=乖离率<8; {综合买入信号} 原始信号:=均线多头 AND 突破 AND 放量 AND MACD动能 AND 不过热; {信号过滤:一次信号产生后,10个周期内不再重复出现} XG:FILTER(原始信号,10),COLORRED;2.2 五重条件,每一重都在避免一类亏损
条件一是趋势方向过滤。MA5、MA10、MA20依次向上,收盘价在MA60上方,这保证了我们只做上升趋势中的股票。这个条件看起来简单,但能挡住下跌中继和阴跌走势里的大部分买点。很多人亏钱不是因为买点差,而是因为接了一把正在下落的刀,这个条件专门解决这个问题。
条件二是平台突破过滤。HHV(HIGH,60)取的是过去60个交易日的最高价,突破条件要求今天的收盘价创出这个区间新高,而且昨天还没有突破。为什么强调“昨天没突破”?因为如果昨天已经突破了,今天再追可能站上高位,所以它只捕捉突破发生的那一天。这个逻辑专治假突破和追高。
条件三是量能确认。量比计算的是当天成交量与过去10天平均成交量的比值,要求大于1.8,同时当天成交量要比昨天放大30%以上。突破如果没有放量,很可能是无量虚涨;放量突破则代表有真实资金参与,突破的可靠性会高很多。我之前试过把阈值改成1.5,信号会多一些,但假突破的比例也会上来,1.8这个值整体更稳一些。
条件四是MACD动能过滤。DIF、DEA是标准参数,这里要求DIF在DEA上方,同时DIF本身还在走强。等于说,MACD已经由弱转强,而且还在加速。这能把“将要金叉但没金叉”的半吊子行情挡在外面。
条件五是乖离率过热过滤。这个条件很容易被忽略,但它恰恰是控制回撤的关键。乖离率计算的是收盘价与20日均线的偏离程度,超过8%说明短期涨幅过大,哪怕前面四个条件全部成立,也可能买在高潮期的尾声。加了这一层之后,信号数量会明显减少,但剩下的买点离均线更近,止损空间更好控制。
2.3 参数调整的底层规律
这套公式的参数不多,但每个参数背后都有讲究,我把常用调整方向和适用场景列一下:
| 参数位置 | 默认值 | 适用风格 | 调整方向 |
|---|---|---|---|
| 平台周期 HHV | 60 | 中线趋势 | 改为20适合波段,信号变多 |
| 量比阈值 | 1.8 | 中等活跃度 | 个股活跃可降到1.5,冷门股建议升到2.2 |
| 乖离率上限 | 8 | 稳健型 | 弹性大的个股调到10,保守型调到6 |
| 信号过滤周期 | 10 | 减少重复信号 | 改成5信号会变多,改成20几乎一年没几个 |
调整的基本逻辑是:你想让信号变多,就放宽条件;想提高胜率,就收紧条件。但不要把参数改得太极端,比如平台周期从60改成5,那本质上是另一套短线策略了,胜率逻辑完全不同。参数只是微调,不能乱调。
3. 实测流程:从doc文档到通达信软件
3.1 先把doc文档里的源码安全提取出来
拿到这份.doc文件后,很多人第一反应是直接用记事本打开,结果满屏乱码。这是因为.doc是Word早期的二进制格式,记事本默认按文本文件解析,自然读不了。正确做法是:用WPS或Word打开文档,全选内容复制,再粘贴到新建的文本文件里中转一次。中转的目的是去掉Word的格式控制符,防止粘贴进通达信公式管理器时带上隐藏字符。
复制出来的源码里如果带行号、页码这些多余信息,记得手工清理干净。我见过不少复制后编译失败的案例,最后排查下来全是行号尾巴没删干净导致的。还有一个细节:通达信公式语言对中文字符的编码要求比较特殊,Windows系统下默认是按GBK编码保存,如果你用的是Mac或者Linux,建议先在通达信自带的编辑器里直接输入,或者用系统自带记事本转存一遍,能省不少事。
3.2 导入通达信的详细步骤
第一种方式是新建技术指标公式,适合用来在主图和副图上观察信号。操作路径是:通达信软件顶部菜单“功能” -> “公式系统” -> “公式管理器”。在弹出的窗口里选择“技术指标”,点击右侧“新建”,把公式名称填好,比如“主升浪精选”,然后把清理好的源码粘贴到文本框里。粘贴完之后,务必先点“测试公式”,看到“测试通过”的提示再点“确定”。这一步非常关键,测试不过别硬存,改了编译错误再保存。
第二种方式是新建条件选股公式,适合只用来做每日选股扫描。操作路径类似,区别是在公式管理器里选择“条件选股公式”分类,代码中最后一行XG:FILTER(...)就是选股条件。新建完成后,在“功能” -> “选股器” -> “条件选股”里能找到它,设置好范围和时间后直接执行。
无论哪种方式,第一次导入后建议先看历史信号。找一个你熟悉的、走势流畅的股票的日线图,加载指标,肉眼检查信号位置是否合理。如果信号全部出现在离谱的高位,优先检查前线数据是否一致,再检查是否漏了某一行条件。
3.3 三种实战用法,别只盯着副图信号
这套源码不只是一个画红点的副图指标,我更推荐下面三种用法。
第一种是主图叠加观察。把XG信号线画在主图上,配合均线和K线形态一起看。每次信号出现时,留意当时的K线位置、成交量水平,慢慢建立对这种“过滤后买点”的盘感。这不是多余的仪式感,而是复盘训练的一部分。
第二种是每日自动选股。收盘后跑一遍条件选股,把当天触发信号的股票加到自选股里。第二天开盘不急着买,先观察竞价和分时走势是否符合预期。我一直坚持“信号只代表候选,不代表必买”,开盘走势不符合预期的直接放弃。
第三种是结合板块效应。如果同一天多只股票触发信号,优先选择属于同一热点板块的那批。板块联动本身就说明资金有合力,这时候单只个股的信号可靠性会更高。
4. 实战中的常见问题与排查技巧
4.1 典型问题速查表
我把实操中遇到最多的问题整理成了一张表,按“症状 - 原因 - 处理方式”三个维度来写,方便你直接对照排查。
| 症状 | 常见原因 | 处理方式 |
|---|---|---|
| 源码粘贴后中文全部乱码 | 文件编码不是GBK或UTF-8转出现了偏差 | 先复制到Windows自带的记事本里另存为“ANSI”编码,再粘贴进通达信 |
| 测试提示“缺少函数”或参数错误 | 复制时漏了行,或者把注释格式破坏了 | 对照源码逐行检查,尤其是大括号 { },必须是成对的半角符号 |
| 信号永远不出现 | 当前股票不符合均线多头、平台突破等核心条件 | 先换几只活跃股测试,再用公式管理器里的“测试”功能验证代码是否通过 |
| 实盘信号与复盘信号对不上 | 复权设置不一致,前复权与不复权会导致价格计算有差异 | 在通达信里统一设置K线复权方式,回测和实盘用同一个标准 |
| 指标加载后副图没有图形 | 输出行XG:前被误加了赋值符号:= | 检查最后一行,输出必须用冒号,只有中间变量才用:= |
4.2 信号对不上,八成是复权问题
很多人复盘时发现,公式在“历史某一天”明明有信号,但实盘中那一天根本没弹出来,或者反过来。九成情况都是复权设置不一致造成的。除权除息之后,如果不复权,价格K线会出现跳空缺口,所有基于价格计算的指标都会受到影响。
解决方法是:无论在复盘还是实盘,都保持同一套复权标准。我个人习惯用“前复权”看信号,因为前复权能保持历史价格连续,平台突破、乖离率的计算会更稳定。但要注意,当你更换复权模式后,历史信号位置会有细微变化,这属于正常现象,不是公式坏了。
4.3 关于密码和加密公式的一个忠告
网上流传的很多指标源码都带密码,提示输入密码才能看参数或者修改。这事我得说几句掏心窝的话:如果你只是普通使用,输入作者发布的公开密码即可;如果你想要无密码版本,最稳妥的办法是直接联系原作者。市场上流传的解密工具,要么只对旧版软件有效,要么本身捆绑了不明程序,为了一个指标冒这个险完全不值得。
我见过不少朋友为了“解密”折腾两三天,最后电脑中了毒。我现在的态度很简单:拿不到密码就换一个同类公式。通达信公式体系是开放的,你能想到的思路都可以自己写,没必要在一棵树上吊死。这个公式如果哪一天作者更新了,我一般会先看更新日志,确认逻辑变化后再决定是否跟进。
4.4 从公式到DLL扩展,值不值得学?
最后聊一个很多人在进阶路上都会碰到的方向:通达信DLL扩展。公式语言虽然灵活,但有些场景确实不够用,比如复杂的自定义算法、外部数据接入、低频计算优化等,这些就需要用C/C++写好DLL,再在公式里调用。
我的建议是:先把公式语言本身吃透,DLL扩展不要急着碰。原因很简单,公式语言你写了就能立刻看到效果,反馈快,试错成本低;而DLL开发涉及编译环境、内存管理、接口协议,调试成本高出一大截。等你发现某类计算用公式语言实在无法高效表达时,再切换到DLL方向也不迟。现阶段这套“信号少胜率高”的公式,用纯公式语言已经能覆盖得很完整了。
最后分享一个实操心得:指标只是工具,真正让你盈利的,是你对规则和风险的理解。这套源码我用了很长时间,最大的收获不是“信号准”,而是它逼着我放弃那些不达标的行情,耐心等真正属于自己的机会。你把它导入通达信之后,我建议先用历史数据复盘三个月,别急着实盘,等把信号节奏摸透了再上真金白银。
本文还有配套的精品资源,点击获取