- Published on
Zigzag Volume Bars
- Authors

- Name
- CoresightQuant
策略解读
锯齿成交量柱(Zigzag Volume Bars)的核心思路,是把摆动结构与成交量放在同一坐标下观察。Zigzag 通过设定一个最小反向波动幅度,把价格运动压缩成一系列摆动高点和摆动低点,过滤掉中间的小幅噪音;成交量柱则标注在每个摆动点位上,帮助判断这个摆动到底有多强的资金支持。
这套方法要解决三个问题。第一,当前趋势是否成立:摆动高点是否不断抬高,摆动低点是否不断抬高。第二,突破是否真实:价格突破前一个摆动高点时,成交量是否明显放大。第三,动量是否持续:新的摆动高点对应的成交量,是否比前一个摆动高点更低,从而提示上涨力量衰减。
需要说明的是,原指标本身只提供可视化功能,不会给出买卖点。本文在此基础上构建一个保守的规则化框架,所有阈值均为初始设定,需要通过各自交易品种的历史数据回测确认后再投入使用。
关键概念
第一个概念是 Zigzag 摆动结构。Zigzag 只记录价格反向波动达到设定百分比(例如 5%)的转折点。百分比越大,摆动数量越少,结构越粗糙;百分比越小,摆动数量越多,对噪音越敏感。建议从 5% 起步,再按品种波动率调整。
第二个概念是摆动点成交量。每一段摆动结束时,取该 K 线的成交量作为摆动成交量。放量的摆动低点通常意味着抛压集中释放,缩量的摆动高点则意味着买盘跟进不足。这里的关键不是单根成交量数字,而是它与近期平均成交量的比值。
第三个概念是成交量相对强度。把当前摆动成交量和过去 20 根 K 线的平均成交量相除,得到一个倍数。例如倍数大于 1.5 属于放量,小于 0.8 属于缩量。这个比例阈值比绝对数值更通用,但不同品种的适用区间需要回测确认。
第四个概念是背离。当价格创出更高高点,而摆动成交量低于前一个摆动高点时,形成量价背离,提示上涨动能在衰减。
信号条件
本节给出三类可执行信号。所有信号都必须同时满足趋势过滤条件:价格位于 200 周期均线上方时只考虑做多,位于下方时只考虑做空;或者用 ADX 高于 20 来确认趋势存在。
第一类信号:放量突破。当价格收盘价向上突破最近一个 Zigzag 摆动高点时,记录突破 K 线成交量;如果该成交量大于 20 周期平均成交量的 1.5 倍,且突破发生在 200 周期均线上方,则认定为有效突破做多信号。做空方向对称处理。
第二类信号:缩量新高背离。价格创出新的摆动高点,但该摆动点位的成交量小于前一个摆动高点成交量的 80%,同时价格已经处于 200 周期均线上方较远位置,或出现长上影线,则视为动量减弱信号。此信号只提示减仓或准备反手,不直接作为入场依据。
第三类信号:放量拐点。在一轮下跌中,Zigzag 形成新的摆动低点,且该低点对应的摆动成交量大于 20 周期平均成交量的 2 倍,说明抛压集中释放。此时不立即做多,而是等待价格随后形成更高的摆动低点,再用突破确认入场。
以上三类信号中,第一类和第三类需要回测确认的倍数是 1.5 倍和 2 倍是否适合目标品种;第二类的 80% 阈值同样需要验证。若回测样本量不足,应先把阈值调高以提高信号质量,而不是追求信号数量。
交易流程
整个交易流程分为五个环节,每笔交易都按同一套顺序执行。
第一步,环境过滤。打开日线或小时图,判断价格与 200 周期均线的关系,以及 ADX 是否大于 20。只有趋势清晰时才进入下一步;震荡环境直接跳过信号。
第二步,结构定位。用 5% 的 Zigzag 参数标记最近的摆动高点和摆动低点,测量摆动幅度。摆动幅度过小、小于 1 倍平均真实波幅(ATR)时,说明结构不稳定,放弃交易。
第三步,入场确认。针对放量突破信号,等待 K 线收盘确认突破有效;不要盘中追价。针对放量拐点信号,等待第二个更高的摆动低点形成后,再等待价格突破该低点之后的第一个摆动高点时入场。入场用市价单或限价单均可,但若价格跳空远离入场位,放弃本次交易。
第四步,止损与止盈。做多交易的止损放在摆动低点下方 1 倍 ATR 的位置;做空交易对称处理。止盈采用风险回报比方式,目标位设置为 2 倍风险距离;达到 1 倍风险距离时可减仓一半,剩余仓位用移动止损跟随。
第五步,仓位管理。单笔风险控制在账户权益的 0.5% 到 1% 之间,止损距离确定后,用风险除以止损距离反推仓位。同一品种最多同时持有 1 笔该信号仓位;若当日已触发 2 次止损,当日停止开新仓;若当周累计亏损达到账户的 3%,本周停止交易。
风险边界
风险边界分成参数风险、环境风险和资金风险三层。
参数风险方面,Zigzag 的反转阈值直接决定摆动结构。阈值过小会产生大量假摆动,信号频繁但胜率低;阈值过大会让结构滞后,导致入场价格远离理想位。成交量倍数阈值同样敏感,1.5 倍和 2 倍只是初始值,实盘前必须用至少 200 次历史信号做回测,计算不同阈值下的胜率和盈亏比。
环境风险方面,成交量数据在股指期货、商品期货、个股和主流加密资产上相对可靠,但在外汇现货市场上,经纪商报价成交量只是近似值,放量信号的可信度下降,此时应优先使用价格结构和 ATR 过滤。
资金风险方面,连续止损是常态。必须预设每日最大亏损、每周最大亏损和单笔最大风险额度。当信号连续失效时,不加大仓位去回本,而是减少风险暴露。还应当为每套参数设定失效标准:如果最近 20 笔信号盈亏比低于 1,胜率低于 35%,就停止使用并重新回测。
适用与失效场景
适用场景主要包括三类。第一类是流动性好的趋势市场,例如股指期货、原油期货和主流股票在趋势行情中的回调突破。这些品种成交连续,摆动结构清晰,量价关系可信。第二类是事件驱动后的趋势启动阶段,例如放量突破重要摆动高点并伴随基本面催化。第三类是日线级别以上的交易周期,周期越大,Zigzag 结构越稳定,交易成本占比越低。
失效场景包括以下五类。第一,横盘震荡市场,Zigzag 会频繁翻转,放量突破常常是假突破,此时应关闭信号。第二,重磅数据发布或突发消息前后,成交量会异常放大,指标容易被情绪化插针误导。第三,交易流动性极低的时段,例如某些商品期货的夜盘尾部,少量资金就能制造假摆动。第四,断崖式行情中,价格连续跳过多个摆动结构,止损距离过大导致风险不可控。第五,除权除息或拆股前后的成交量数据不连续,需要剔除该时段样本。
每个交易者都应当用过去 3 到 6 个月的真实行情,把适用和失效场景逐条标注出来,形成一张检查表,放在看盘界面旁边。
改进建议
第一,为成交量倍数引入动态化处理。不要使用固定的 1.5 倍,而是计算近 100 根 K 线成交量倍数的百分位数,取第 80 百分位作为放量阈值,该设定会随市场活跃度自动调整。
第二,叠加波动率过滤。用平均真实波幅的 20 周期值过滤低波动时段;当 ATR 低于近 60 日 25 分位时,放弃突破信号,避免窄幅震荡中的虚假突破。
第三,增加时间过滤。对日内交易者,避开开盘后前 15 分钟和收盘前 15 分钟;对日线交易者,避开主要经济数据发布时段。回测时可以对比包含与排除这些时段的绩效差异。
第四,增加信号冷却机制。同一方向上连续出现 2 次假突破后,暂停该方向信号 5 根 K 线,防止在错误方向上反复入场。
第五,对 Zigzag 参数做敏感性测试。依次测试 3%、4%、5%、6%、8%、10% 六组反转阈值,观察信号数量和绩效曲线的稳定性。若相邻阈值绩效差异过大,说明策略对参数依赖过高,不应直接使用。
第六,建立复盘指标表。每次交易后记录信号类型、入场价格、止损价格、出场价格、盈亏金额、信号到入场的时间间隔、当时 ATR、当时成交量倍数。每周统计胜率、平均盈亏比、利润因子、最大回撤、连续亏损次数、信号密度和单笔平均风险回报比。只有这些指标稳定的策略才值得继续运行。
总结
锯齿成交量柱的价值,在于把价格结构和成交量强度放在同一套规则里,用可量化的方式回答趋势是否成立、突破是否真实、动量是否衰减这三个核心问题。本文给出的放量突破、缩量新高背离、放量拐点三类信号,以及对应的过滤条件、入场确认、止损止盈和仓位规则,构成一个可以直接执行的交易框架。需要特别注意的是,所有具体阈值都是初始设定,必须经目标品种历史数据回测确认后再实盘使用。交易者应把本文的框架当作起点,通过纪律性复盘持续调整参数,同时严守风险边界,才能在真实行情中保持稳定。