简介:这是一份通达信波段王副图指标公式源码讲解文档,面向需要识别大波段机会的股票、期货投资者及技术分析入门者。文档围绕“波段王”副图指标展开,详细拆解了二十一日移动平均线、指数移动平均线、均价计算及多空柱线绘制的完整公式逻辑,并逐条解释开多、开空信号的生成条件,帮助读者理解指标背后的趋势判断思路,并可直接将源码应用到通达信软件中。资源包为1个doc文档,大小398KB,内容结构集中,适合下载后随用随查。目前已有2906人浏览学习。通过这份资料,读者不仅能获得可复制的指标源码,还能掌握移动平均线与EMA组合判断波段高低点的核心方法,减少盲目跟单,提升入场出场决策的客观性。
1. 波段王副图指标:把大波段识别沉淀成通达信公式
波段交易最典型的痛不是买错,而是卖早。很多人其实看见过启动信号,却在主升浪的第三根阳线就落袋,然后眼睁睁看着价格再走一倍。通达信波段王副图指标就是冲着这个场景来的:它把均线趋势方向、动量超买超卖、量能确认三个维度压缩进一条副图曲线,输出带趋势过滤的进出场信号,横盘震荡期自动失效,信号不会满屏乱打箭头。也因为信号经过了这层筛选,它在股票和期货两个市场都能站得住脚。这篇文章从三层识别逻辑讲起,给出可直接粘贴的通达信指标公式源码,再讨论参数调整和假信号过滤,最后落到期货、股票的不同配置和验证方法上。
2. 波段识别的三层逻辑:趋势方向、动量拐点与超买超卖边界
2.1 趋势层:均线排列是波段“可做性”的总闸
波段交易的前提是先分清有没有值得参与的行情。在主跌段里抄底,或者在箱体里来回被打止损,根因都是只看K线形态而忽略了趋势方向。常见做法是用一组短、中、长期均线的排列关系作为总开关,通达信公式里写起来非常直接:
{--- 趋势层 ---} MA1:=MA(CLOSE,5); MA2:=MA(CLOSE,10); MA3:=MA(CLOSE,20); UP:=MA1>MA2 AND MA2>MA3; DOWN:=MA1<MA2 AND MA2<MA3;MA函数取N周期收盘价的算术平均值,UP为真表示多头排列,DOWN为真表示空头排列。这里的关键是:后面的所有进出场信号,都要先经过UP或DOWN这两个布尔值的允许。趋势层起到的不是预测作用,而是划定“可交易区间”——多头排列存在时,做多属于顺势;空头排列时,价格即便反弹也不参与。
默认取5、10、20这三个周期,对应股票日线上的“短中线波段”坐标。换到期货的30分钟或60分钟K线时,这三个数字依旧可用,只是背后对应的持仓周期会从数日压缩到数小时。当然均线有一个绕不开的短板:趋势排列形成时价格往往已经走了一段,等空头排列被打破,回调又已经接近尾声。所以单靠均线做不来拐点,必须有第二层。
2.2 动量层:RSV与KDJ如何识别区间拐点
均线管方向,动量管时机。支撑这一层的核心是RSV指标,它先计算当前收盘价在最近N周期最高、最低价区间里的相对位置,再做平滑得到K、D和J值:
{--- 动量层 ---} RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; K:=SMA(RSV,M1,1); D:=SMA(K,M2,1); J:=3*K-2*D;LLV(LOW,N)取N周期内的最低价,HHV(HIGH,N)取N周期内的最高价,分母是这段时间的振幅区间。RSV天然落在0到100之间:收盘价越接近区间高点,RSV越高。K线是对RSV的指数平滑,D线是对K线的二次平滑,J值则是3倍K减2倍D,把K、D之间的偏离程度放大,专门用来捕捉“转向的那一下”。
当K线在低位上穿D线,通常代表价格从超卖区反弹的意愿在增强;反过来,K线下穿D线代表回落压力出现。这也是全场信号最主要的触发源。N默认设成9,M1、M2都设成3,这是KDJ类参数里的经典起点,灵敏度和稳定性相对均衡。想少一点信号、抓更大级别行情时,把N改到13或20,M1、M2同步放大,代价是信号滞后两三根K线。
2.3 边界层:J值超买超卖决定信号级别
把J值画成副图曲线后,20、50、80三条水平线可以把行情分成几个明确的区域。J值跌到20以下属于超卖区,这个位置只看不动手,要等K线上穿D线之后才进入买入候选。J值向上穿过50是中轴确认,表明多头动能在转强。J值超过80通常不能追多,但在真正的单边主升浪里,J值会在80上方持续钝化,这是大波段区别于普通反弹的最直观特征。
所以“抓住大波段”在源码层面的表达是:不跌到20以下的动能金叉,大多只是小反弹;不持续站上80的行情,也很难称得上大波段。实际操作时,不要机械地依赖单独一次金叉或死叉,而是要把边界位置与交叉同时纳入判断。
2.4 三层结构对照与副图呈现
| 层级 | 公式核心 | 典型参数 | 作用 | 易失效场景 |
|---|---|---|---|---|
| 趋势层 | MA1、MA2、MA3 | 5、10、20 | 区分可做与不可做的行情 | 均线粘合、反复缠绕 |
| 动量层 | RSV、K、D | N=9,M1=3,M2=3 | 识别区间内的转向时机 | 单边行情中K、D高位钝化 |
| 边界层 | J值与三条水平线 | 20、50、80 | 区分普通反弹与大波段 | 极端行情下持续超买或超卖 |
副图呈现上,三条水平线用不通的固定颜色画出,J值作为主线加粗,K、D作为辅助线,信号发生时用柱状和图标给出直观标记。这套结构并不复杂,复杂度全部体现在参数之间的相互牵制上。
3. 完整源码与部署:通达信公式编辑器的逐行落地
3.1 可直接粘贴的波段王副图完整源码
将前面三层逻辑合到一起,就是一份完整的通达信指标公式源码。下面的版本是双市场通用版,股票和期货共用同一套结构,差异只发生在参数设置上:
{波段王副图指标 v2.0 股票期货双市场通用版} {========== 参数区 ==========} N:=9; {RSV周期,控制动量灵敏度} M1:=3; {K线的平滑因子} M2:=3; {D线的平滑因子} T1:=5; {短均线周期} T2:=10; {中均线周期} T3:=20; {长均线周期} VN:=5; {量能确认周期} {========== 趋势层 ==========} MA1:=MA(CLOSE,T1); MA2:=MA(CLOSE,T2); MA3:=MA(CLOSE,T3); UP:=MA1>MA2 AND MA2>MA3; DOWN:=MA1<MA2 AND MA2<MA3; {========== 动量层 ==========} RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; K:=SMA(RSV,M1,1); D:=SMA(K,M2,1); J:=3*K-2*D; {========== 量能确认 ==========} VMA:=MA(VOL,VN); VBUY:=VOL>1.2*VMA; {========== 进出场信号 ==========} B1:=CROSS(K,D) AND UP AND J<60 AND VBUY; S1:=CROSS(D,K) AND (DOWN OR J>80); {========== 输出绘图 ==========} J值:J,COLORLIBLUE,LINETHICK2; K值:K,COLORWHITE; D值:D,COLORYELLOW; 低位:20,COLORBLUE; 中轴:50,COLORGREEN; 高位:80,COLORRED; STICKLINE(B1,0,30,2,0),COLORRED; STICKLINE(S1,70,100,2,0),COLORGREEN; DRAWICON(B1,J-5,1); DRAWICON(S1,J+5,2);代码逻辑按四段拆解。参数区的前六个变量决定整个指标的性格,N控制动量周期,M1、M2控制平滑强度,T1到T3控制趋势判断所用的均线,VN是量能均值周期。趋势层和动量层在前面已经解释过,量能确认的VBUY是为了避免无量的技术性突破:当日的成交量必须大于5日均量的1.2倍,金叉信号才成立。输出绘图段中,STICKLINE负责在副图底部区域画出买入柱、顶部区域画出卖出柱,DRAWICON在J值曲线附近添加图标标记。
3.2 主要参数对信号行为的影响
| 参数 | 默认值 | 推荐范围 | 改小的影响 | 改大的影响 |
|---|---|---|---|---|
| N | 9 | 7~20 | 信号更密集,噪声多 | 曲线平滑,抓大波段但滞后 |
| M1 | 3 | 2~5 | K线更敏感 | K线更平滑 |
| M2 | 3 | 2~5 | D线跟随更快 | 死叉金叉更晚出现 |
| T1/T2/T3 | 5/10/20 | 需保持递增 | 趋势反应更快 | 趋势更稳定 |
| VN | 5 | 5~10 | 量能确认更敏感 | 量能确认更迟钝 |
改参数时有一个容易忽略的连带关系:M1和M2必须同向调整,只改M1不改M2会导致K、D之间的间距失真,J值会出现长期飘在0以下或100以上的异常形态。另外,T2不建议大于T3的一半,否则趋势层会在短周期行情里频繁反转,反过来削弱总开关的作用。
3.3 安装步骤与初次调试
在通达信主界面按快捷键Ctrl+F打开公式管理器,新建技术指标公式,公式名称填“波段王”,画线方法选副图,再把上面的源码完整粘贴到公式区。点击“测试公式”,没有错误就直接确定。如果报变量名冲突,把“J值”改成“JVAL”这类纯英文变量名。回到K线界面后,输入波段王的拼音首字母就可以调出该副图。
初次调试建议拿一支成交活跃、近期有明显趋势的股票来验证。打开副图后,J值应该在20到80之间正常摆动,买入柱和卖出柱不会天天出现。如果信号太密集,把N从9调大到13,或者把VBUY的系数从1.2提高到1.5;如果信号太过稀疏,优先降低VBUY系数,而不是动N。
4. 信号过滤与参数调优:把假突破挡在源码层
4.1 均线粘合与横盘区的二次过滤
默认代码中,UP只要求三条均线按顺序排列,但排列并不等于趋势成立。均线刚刚交叉、彼此之间距离极近时,价格稍微波动就会让UP在真假之间反复切换,产生一批“假金叉”。常见的做法是在趋势层之外再叠加一个间距判定:
{--- 趋势强度过滤 ---} SPREAD:=ABS(MA2-MA3)/MA3*100; TREND_OK:=UP AND SPREAD>0.8;SPREAD计算中期均线与长期均线的相对间距,单位是百分比。TREND_OK要求多头排列成立的同时,两条均线的距离至少拉开0.8%。股票日线级别的0.8%是一个比较稳健的阈值,改为1.2%时信号会明显变少;商品期货因为价格绝对水平不同,这个阈值需要按品种重新试,一般在0.5%到1.5%之间。
把买入条件里的UP替换成TREND_OK,就可以把均线刚交叉但趋势并未成型的早段过滤掉。这也顺便解决了KDJ类指标在横盘区反复金叉死叉的核心痛点。
4.2 信号密度与滞后性的平衡
N=9、M1=3、M2=3的默认配置在股票日线上平均一到两周出现一次信号,对普通波段交易者来说频率偏高,拿不住单的人很容易把副图当成短线指标去用。想真正“抓住大波段”,更推荐第二组参数:N=13、M1=5、M2=5。K、D线明显变平滑,J值进入超卖区的次数减少,但只要出现信号,对应的波段级别通常是周线级别的。
参数调整的验证方法不是看历史信号是否漂亮,而是看信号到信号之间的平均持仓周期。如果你的目标是拿住一轮20%以上的行情,但信号的K线间隔平均只有3天,那说明参数仍然偏敏感。把N逐步加大,直到平均信号间隔与你的持仓计划大体匹配为止。
4.3 用COUNT抑制连续重复信号
KDJ类指标在震荡筑底过程中,经常出现“金叉失败—再金叉—再失败”的连环信号。通达信公式语言里可以用COUNT函数做一次时间窗口约束,直接规定一段时间内只允许第一次信号生效:
{--- 信号去重 ---} B2:=B1 AND COUNT(B1,30)=1; S2:=S1 AND COUNT(S1,30)=1;COUNT(B1,30)统计最近30个周期内B1为真的次数。等于1表示当前这根K线是最近30根K线里的第一次买入信号,之后哪怕再次出现金叉也不重复提示,直到30个周期窗口滚动过去。这个方式比FILTER函数更直观,FILTER(X,N)是信号出现后固定屏蔽N个周期,而COUNT窗口会随着K线推移自然滚动。
4.4 分母为零的极端行情保护
RSV的分母是HHV(HIGH,N)减去LLV(LOW,N)。当N周期内最高价与最低价相等时——比如一字涨停或极低波动的停牌复牌——分母为零,通达信会把这个值当作无效数据处理,副图曲线可能出现断线。处理方式是给分母加一个极小值保护:
RANGE:=HHV(HIGH,N)-LLV(LOW,N); RSV:=(CLOSE-LLV(LOW,N))/(RANGE+0.0001)*100;0.0001对计算结果的影响可以忽略,但它保证了任何一个极端K线上RSV仍然有确定数值,后续的SMA平滑不会因为分母异常而断裂。
5. 股票与期货双市场适配:从源码到可执行的配置
5.1 交易制度差异决定的源码级调整
股票是T+1交易,买入当天不能卖出,日线级别的信号天然适合这种制度,进场后最少要等下一个交易日才能动作。期货是T+0且带杠杆,30分钟和60分钟级别更符合日内交易节奏,但杠杆同时放大了J值高位追单的风险,所以期货版本必须把止损放在第一位。
另一个常被忽略的坑是期货合约换月。主力合约切换时,价格会因合约价差出现跳空,HHV和LLV会把跳空前的价格也算进去,RSV的值可能突变。使用主力连续合约时,我一般会跳过换月日附近的信号,或者直接在副图上一眼识别出J值瞬间跳到极值的那根K线,不做交易处理。
5.2 不同市场的参数参考表
| 市场与品种 | 主用周期 | N | M1/M2 | 均线参数 | VN | 备注 |
|---|---|---|---|---|---|---|
| 股票(大盘价值股) | 日线 | 9 | 3/3 | 5/10/20 | 5 | 默认配置 |
| 股票(创业板/科创) | 日线 | 7 | 3/3 | 5/10/20 | 5 | 波动大,适当提高灵敏度 |
| 商品期货(螺纹、焦炭) | 30分/60分 | 13 | 5/5 | 10/20/60 | 10 | 大宗商品波动周期长 |
| 商品期货(豆粕、玉米) | 30分/60分 | 9 | 3/3 | 10/20/60 | 8 | 低波动品种,周期不宜放太大 |
| 股指期货(IF/IC) | 15分/30分 | 7 | 3/3 | 5/10/20 | 5 | 节奏与股票指数接近 |
这个表不是万能配方,但作为起点足够。螺纹钢这类趋势性强、短期波动剧烈的品种,参数慢一点反而更稳;豆粕这类低波品种如果N设太大,信号间隔会拉长到几乎没法用。换到期货市场还有一个通用原则:均线组从5/10/20改成10/20/60,因为期货日内的假突破更多,长均线能过滤掉一波无序震荡。
5.3 与主力追踪分时、量能饱和度等副图指标的配合
同一个屏幕上堆三个副图指标不是好习惯。我一般会把波段王和主力追踪分时指标源码放在同一屏:波段王管日线或小时级别的波段位置,主力追踪管当日盘口上的主动买卖力量,两者的时间尺度不同,恰好互补。量能饱和度这类以量为核心的副图指标也可以配合使用,在波段王的买入柱出现时,如果量能饱和度已经进入高位区间,就说明价格与成交量同步放大,信号可信度更高。配合的关键是分工明确,不要让两个指标同时表达同一件事。
5.4 期货版本必须有的止损规则
期货信号不能裸奔。一个可操作的止损逻辑是:买入信号出现后,把止损放在信号K线最低价再往下减一个ATR(14)的位置。ATR是平均真实波幅,代表当前品种的正常波动尺度,用它做止损可以过滤掉正常噪声,又能在一波趋势真正反转时及时离场。做多单时,如果价格跌破该位置,不管副图是否给出死叉都要先出局。
6. 用通达信公式评测与参数扫描验证指标有效性
指标写出来不是终点,验证才是。通达信的“程序交易评测”功能可以把B1和S1两个信号直接跑成回测结果。新建一个交易系统公式,代码只有两行:
ENTERLONG:B1; EXITLONG:S1;然后进入“公式—程序交易评测”,加载这个交易系统公式,测试周期选日线,初始资金设100万,手续费按你实际交易的券商标准填写。跑完之后重点看三个数:信号次数、胜率、最大回撤。很多副图指标回测出来胜率很高但总收益为负,原因就是亏损单子的幅度远大于盈利单子,这种指标实战里会害死人。只看胜率不看盈亏比,是公式评测里最容易犯的错误。
回测通过之后,不要急着实盘。我习惯做一轮参数扫描:把N从7到15每隔2取一次,M1从3到5,每个组合都跑一遍相同的行情段,并把止损和止盈规则保持一致。这一轮扫描下来,你大概率会发现灵敏参数组合在多头行情里赚得多,但在震荡行情里回撤同样大;稳健参数组合牺牲一部分峰值收益,换来了更平滑的资金曲线。最终选择的标准不是收益最高,而是“在最大回撤可控的前提下收益最稳定”的那一组。
通达信自带的公式评测对历史行情质量有依赖,可转债、次新股这类上市时间短、数据跳空多的标的不适合直接回测。更稳妥的验证是把回测区间的K线放大到肉眼可辨,逐根检查信号K线的前后五根走势,确认没有出现未来函数——也就是信号画出来的那根K线,不能用到当天收盘之后才产生的数据。J值类指标只要参数里没有用到REF未来值,通常不会存在这个问题,但每次改完参数后重新核一遍仍然是必要的。参数扫描结束后把最终参数写死在源码里,实盘只做仓位管理,不再随手改参数,这才是波段王副图指标能稳定输出的全部前提。
本文还有配套的精品资源,点击获取