通达信五型导弹指标:多条件共振选股公式源码详解
2026/9/19 20:31:46 网站建设 项目流程

简介:这是一份通达信五型导弹副图/选股指标公式源码文档,面向股票投资者和技术分析爱好者,旨在通过多周期EMA均线斜率的计算与组合交叉,捕捉股价加速上涨初期的选股机会。文档以通达信公式语言编写完整源码,包含基于3日、7日、20日指数移动平均的斜率指标、多周期平滑处理变量,以及AA1至AA82多组买入触发条件,并配有洋红色柱状线显示与DRAWTEXT文字标记,使用者在通达信公式管理器中复制即可运行,也可逐段学习多因子选股的编写思路。资源为单个doc文档,体积仅142KB,轻量易下载,方便查阅。目前已有484人学习/下载,适合希望在技术指标基础上自建选股系统的中高阶股民参考。需要提醒的是,任何技术指标都不保证绝对盈利,实盘操作仍需结合市场环境、公司基本面等多方面因素综合判断。

1. 被“太准了”吸引之前,先把五型导弹拆开看

“五型导弹”这四个字在通达信指标圈里不是严谨术语,而是近几年流传的一种命名套路:把趋势、动量、量能、位置、K线形态这五类条件各自写成一条判断,再让它们在副图上叠加输出,五条同时成立才给出醒目信号。跟“三步点睛”“麒麟三红”一样,这类指标的名气主要来自信号频率低、位置直观,而不是某段被反复传播的实盘战绩。这篇文章就按这个套路完整推演一套可复现的五型导弹副图与选股源码:五组条件分别解决什么问题、参数为什么这么取、换成选股公式时有哪几处写法差异,以及怎么判断这套源码到底是真准,还是靠未来函数画出来的“事后导弹”。适合正在找多条件共振指标、或者想自己把信号组装成选股条件的人,看完可以直接在通达信里敲成自己的版本。

2. 五型导弹拆解:五条信号先回答哪五个问题

在写任何一行源码之前,先回答一个问题:为什么五个条件叠加之后通常比单指标好用?因为单指标容易被市场噪声骗到,MACD金叉后面可以马上死叉,放量也可以发生在出货当天。五型导弹做的是把“趋势对不对、动量有没有、量能跟不跟得上、位置高不高、K线转没转”五个维度放到同一个时间截面上去做AND判断,相当于五个独立投票器同时举手,误报率自然被压低。下面把每一型拆开讲清楚设计意图和参数取法。

2.1 第一型:趋势结构,先把均线多头排列当成导轨

X1只做一件最保守的事:确认当前处于多头排列,即 MA5 > MA10 > MA20,并且收盘价站在20日均线上方。这等于告诉整个系统“只能顺着导轨方向点火,不要在下跌趋势里接飞刀”。如果行情偏震荡,觉得这个条件太紧,可以放宽成M20 > REF(M20,3),也就是20日均线方向向上即可,不再要求三线完全排列。我一般会在副图版本里保留严格多头排列,选股版本里也保留,因为本来信号频率就偏低,再放宽会引入大量假突破。

2.2 第二型:动量确认,把MACD启动点收进动量条件

X2不写金叉,而是写“DIF在DEA上方且红柱继续放大”,即DIFF > DEA AND AXMACD > REF(AXMACD,1)。差别在哪?金叉只是状态切换的瞬间,而“红柱放大”要求动量在加速,能过滤掉金叉之后立刻走平的弱势震荡。这类写法和网上常说的“macd启动点指标公式”本质上是同一个思路,只是我把它降级成一个分项条件而不是唯一信号。注意这里要自己算一遍MACD,不要直接引用系统函数里的MACD.DIF,否则公式在选股器里兼容性会变差,别人拿到源码没装对应公式时还会报错。

2.3 第三型:量能推进,比“量能饱和度”更直接的算法

网上流传的“量能饱和度圆圈1.00”是把成交量做归一化处理画成圆环,看图直观,但作为条件阈值反而绕。我这里只用两件事:当日成交量大于5日均量的BL倍,且收盘价没有低于昨日收盘,写成V > MA(V,5)*BL AND C >= REF(C,1)。BL默认取1.5,低于1.2基本没有过滤作用,高于2.0又会漏掉温和堆量的票。盘中用这个条件要小心,量能还没定格时MA(V,5)本身会跳动,所以如果你打算挂盘后选股,BL取1.5最稳;盘中预警可以临时提到2.0。

2.4 第四型:位置安全,用60日分位把价格压在区间中下部

“太准了”的指标多半死在追高上。X4写的是C <= LLV(L,60) + (HHV(H,60) - LLV(L,60)) * 0.55,意思是收盘价落在60日最低最高价区间的55%分位以下。这个条件的意义不是找便宜货,而是给X1的趋势判断留出缓冲:允许你顺着均线方向买入,但禁止在60日高点附近去追。0.55是一个偏保守的默认值,喜欢打强势突破的人可以改成0.65,但超过0.7时X4基本失去意义,因为它允许在接近最高点的位置开枪,和X1叠加后等于只做了半套过滤。

2.5 第五型:K线拐点,用两根K线捕捉“止跌企稳”这个动作

趋势、动量、量能、位置都满足,最后还差一个短期的进攻节奏。X5写成(REF(C,1) < REF(O,1) AND C > REF(C,1)) OR CROSS(C, MA(C,5)),意思是“昨日收阴、今日转阳”或者“收盘价重新上穿5日均线”。前者捕捉的是已经出现止跌企稳迹象的票,后者捕捉的是刚刚重新站上短均线的票,两个动作二选一即可。这里有个常见误区:把X5写成C > REF(C,1)单日收阳,过滤效果会立刻变差,因为阴线之后的小阳线也可能是下跌中继,必须要求“前一日是阴线”或者“上穿5日线”这种结构性的转折证据。

3. 通达信指标公式源码实现:把五路信号画进副图

这一章直接写可以在通达信公式管理器里粘贴的副图源码。代码分成三段:先给参数和辅助均线,再算MACD三行,最后定义五型条件并绘图。所有变量都用:=赋值,区分:=中间变量和:最终输出。

3.1 副图源码:五型导弹的多头叠加版本

{五型导弹 副图 第一版} M5:=MA(C,5); M10:=MA(C,10); M20:=MA(C,20); DIFF:=EMA(C,12)-EMA(C,26); DEA:=EMA(DIFF,9); AXMACD:=2*(DIFF-DEA); X1:=M5>M10 AND M10>M20 AND C>M20; X2:=DIFF>DEA AND AXMACD>REF(AXMACD,1); X3:=V>MA(V,5)*1.5 AND C>=REF(C,1); X4:=C<=LLV(L,60)+(HHV(H,60)-LLV(L,60))*0.55; X5:=(REF(C,1)<REF(O,1) AND C>REF(C,1)) OR CROSS(C,M5); SUMSIG:=X1+X2+X3+X4+X5; STICKLINE(SUMSIG>=1,0,SUMSIG,3,0),COLOR00FFFF; STICKLINE(SUMSIG>=5,0,5,4,0),COLORYELLOW; DRAWTEXT(SUMSIG>=5,5.5,'★'),COLORRED;

逻辑说明:SUMSIG是五个布尔条件相加后的总分,范围0到5,通达信里逻辑判断结果为真记1、为假记0,所以可以直接求和。第一根STICKLINE把总分画成青色柱,便于直观看到当天几个条件同时成立;第二根STICKLINE在五型全满足时画黄色粗柱;DRAWTEXT在柱子上方输出星号作为当天最强信号。K线数据源统一用收盘价C、开盘价O、最高价H、最低价L、成交量V,这些是通达信内置序列,不需要额外引入。把这段代码复制进“公式管理器—新建—副图公式”,公式名称自己取,画线方法默认主图叠加没关系,副图类型会自动使用。

3.2 画线函数怎么选:STICKLINE、DRAWICON、DRAWTEXT的取舍

这段副图里我只用了三种绘图能力,很多同类“国宝级指标源码”炫技时会加入ICON、POLYLINE甚至自定义颜色的渐变,但可读性反而下降。列表如下:

函数作用本公式中用在哪注意事项
STICKLINE按条件画柱状线,从下沿画到上沿青色总分柱、黄色满仓柱第4参数是柱宽,3到4合适;第5参数写0表示实心柱
DRAWTEXT在指定位置输出字符串五型全满足时输出星号字符串要用英文单引号包住,中文字符在部分版本会乱码
DRAWICON在指定位置输出图标本公式未用需要记住图标编号,换软件版本极易错位

DRAWICON不是不能用,而是图标编号在不同通达信版本不通用,直接写死编号会让源码换个环境就显示异常,用星号文本最稳。副图指标追求的是信号醒目和兼容性,能少用一个函数就少用一个。

3.3 副图读法:看柱子的高度,而不是盯着星号追

副图启动之后,你会看到一根从0涨到5的青色柱上下浮动。柱高3意味着今天有三个维度的条件共振,但还不到开枪条件;柱高5并叠加黄色粗柱和星号,才是完整信号。读副图的正确姿势不是每次出星号就盲买,而是把星号出现的K线位置和主图K线形态放在一起看:黄色柱拉住的位置是不是在20日均线上方、60日区间的中低位附近。如果副图显示SUMSIG长期趴在0到1之间,说明当前不是这类模型的适用行情,不用强行交易。这套代码本身没有任何未来函数,所有信号都用REFCROSSHHVLLV这类只引用历史数据的函数,所以信号一旦产生就是固定的,下一次打开软件不会因为K线增长而后移。

4. 从副图到选股:把导弹装进条件选股源码

副图能看盘,但不能每天翻几千只票。通了碟里的标准做法是用相同的条件逻辑再造一个选股公式,跑“条件选股”把所有五型全满足的股票筛出来。但副图公式和选股公式不是简单复制粘贴的关系,有三处必须改:去掉所有绘图函数、把信号判断放进COUNT窗口、最后一行删掉中间变量赋值号。

4.1 选股公式源码:一屏扫完今天的“满仓信号”

{五型导弹 条件选股} M5:=MA(C,5); M10:=MA(C,10); M20:=MA(C,20); DIFF:=EMA(C,12)-EMA(C,26); DEA:=EMA(DIFF,9); AXMACD:=2*(DIFF-DEA); X1:=M5>M10 AND M10>M20 AND C>M20; X2:=DIFF>DEA AND AXMACD>REF(AXMACD,1); X3:=V>MA(V,5)*1.5 AND C>=REF(C,1); X4:=C<=LLV(L,60)+(HHV(H,60)-LLV(L,60))*0.55; X5:=(REF(C,1)<REF(O,1) AND C>REF(C,1)) OR CROSS(C,M5); XG:COUNT(X1+X2+X3+X4+X5>=5,2)>=1;

选股公式和副图公式的核心条件完全一样,差异在最后一行。COUNT(X1+X2+X3+X4+X5>=5,2)>=1的意思是从今天往前数两个交易日,至少有一天满足五型全满足。为什么要放宽成“两天窗口”?因为副图信号如果出现在收盘前几分钟,你在当日盘后跑选股正好能抓住;但如果信号出现在昨日、今天已经高开,你直接追高会有成本劣势,放宽窗口是为了把这种刚启动的票也纳入观察名单。注意XG这行用的是单个冒号,不能用:=。选股公式最后一个输出必须是公开输出,用:=的话公式管理器会把结果当成中间变量丢弃,选股结果永远是空的。

4.2 窗口不是越大越好:COUNT改成EXIST的代价

有经验的人会把窗口再放宽,写成COUNT(条件,5)>=1,甚至用EXIST(条件,5)表示五日内出现过一次。“五日窗口”表面上看胜率会高一点,因为你用后面几天的走势确认了信号有效性,但这是典型的幸存者偏差操作:选出来的不是“今天发生的启动信号”,而是“过去五天里曾经发生过、现在还没涨完的启动信号”,一旦市场转弱,统计上很容易买到最后一棒。我一般只提供2日窗口版本,手动想要更宽松的话把2改成3已经是上限。另一个细节是X1X3这类条件在选股公式里会用到REFCROSS函数,这些函数在通达信选股器里都被允许,但如果把公式挂到分钟周期去预警,LLV(H,60)会变成过去60分钟的高点,意思完全变了。所以选股和预警默认选日线周期。

4.3 把公式挂进条件选股与盘中预警

实际操作路径:打开通达信,按Ctrl+F打开公式管理器,新建“条件选股公式”,把4.1的代码粘贴进去,公式名称写“五型导弹选股”。然后按Ctrl+T打开条件选股界面,在公式列表里找到“五型导弹选股”,选择“当日”或者“最近2日”,加入条件后点执行选股。选股结果会列在列表窗口,注意先执行“盘后数据下载”再跑选股,否则缺数据的个股会被直接跳过,这种“漏票”比选错更隐蔽。盘中想实时盯的话,用“功能—预警系统—条件预警设置”,把你关注的股票池加进去,预警公式选“五型导弹选股”,周期选日线,刷新频率按你自己可接收的延时设,20秒到1分钟比较合理,5秒级别的轮询会给本地行情接口造成没必要的压力。

5. 别让“导弹”靠未来函数欺骗眼睛:验证与参数校准

拿到任何一份“太准了”的副图源码,第一步永远不是改参数,而是做减法检查。

5.1 先搜四个函数名:BACKSET、ZIG、PEAK、PEAKA

未来函数的共同点是引用当前交易日之后的数据。打开公式管理器,在源码里按Ctrl+F搜索上面四个函数名,只要出现任何一个,这套源码在历史K线上的所有信号都不可信。典型效果是:副图里的星号总是精确出现在最低点旁边,选股测试的历史收益曲线平滑得像直线,但实盘里信号要么消失,要么晚一到两天才出现。原因很简单,BACKSET会把当前的条件回标到过去的K线位置上,站在今天看历史,当然百发百中。我们这套源码里完全没有这类函数,但如果你要拿别人的源码去套用,这是第一条安全线。

5.2 单参数校准:一次只动一个旋钮

参数校准最忌讳同时调 BL、60日分位、窗口天数,三个变量互相纠缠,最后你根本不知道是哪个改动让结果变好的,这种调法在两三个星期之后必然过拟合。我一般的顺序是固定其他参数,只动量能倍数BL,分别在1.2、1.5、1.8、2.0四个档位跑条件选股测试,记录两个指标:最近60个交易日的信号数量和次日收益为正的比例。再固定BL不动,把X4里的分位系数挨个试0.45、0.55、0.65。参数表可以这么记:

参数所在条件候选取值观察目标
量能倍数BLX31.2 / 1.5 / 1.8信号数每周不低于2个
位置分位X40.45 / 0.55 / 0.65次日正收益占比不低于50%
窗口天数选股COUNT2 / 3信号数增幅不超过20%

这里没有标准答案,你的风险偏好决定取舍:BL越严,选出的票越少,但普遍更靠近启动点;分位越严,越容易错过已经起飞的热门票,换来的是回撤空间更小。

5.3 用“次日开盘验证”替代回测曲线

条件选股测试面板上的收益曲线很容易给人虚假安全感,因为它默认用收盘价买入,而真实操作时大部分人是在次日开盘价附近买入,两者差一个跳空。更可靠的验证办法是:把选股结果导出来,只记信号出现日和次日开盘价、次日收盘价两个数据,连续记30个信号,统计次日开盘买入、收盘卖出的胜率。这一步不需要任何外部工具,通达信的“数据导出”配合Excel就够了。样本少没关系,先看的不是胜率数值,而是看有没有一个特征:信号出现当晚你还能不能用次日开盘价买得进去。如果大量信号的次日开盘价比信号日收盘价高3个点以上,说明信号在盘中就被市场抢跑了,这个参数组合下你实际拿不到回测里那种收益,要么把BL调高去选更强的票,要么把COUNT窗口放宽到3日去接加速段。把这组记录和你的止损规则放在同一张表里,三个月后再回来看参数要不要动。

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询