- Published on
Zigzag Trend/Divergence Detector
- Authors

- Name
- CoresightQuant
NOTE
本文为公开交易策略的技战术复盘,聚焦方法逻辑、交易场景与风险边界。
策略解读
这段文字出自一位技术型交易者的策略说明。作者发现,交易中最令人纠结的两个时刻,就是趋势中段出现回调时要不要死扛,以及浮盈扩大时要不要提前止盈。这两个问题的本质,是我们缺乏一个客观的“信号锚点”——当趋势仍然健康时,回调应当被视为加仓或持有的机会;当趋势开始衰弱、甚至出现与价格走势相反的信号时,则应当考虑减仓或离场。作者提出的解决方案,是将“趋势判断”与“背离检测”结合在一起,形成一种综合性的情绪读数,帮助我们判断当前行情是否仍值得持仓。
这种思路并不算全新,但它非常实用。趋势指标能告诉我们大方向,却无法第一时间提醒我们“力量衰竭”;背离信号能揭示价格与动能之间的不协调,却经常在震荡市中发出大量噪音。作者试图将两者合并,用趋势作为主过滤条件,用背离作为预警条件,从而减少单一信号带来的模糊性。
在原文描述中,作者只给出了一个大纲:先用任意一种指标判断趋势偏置,然后在此基础上叠加背离分析。具体采用哪种趋势指标,作者并没有完全定死,使用者可以根据自己的习惯选择均线、MACD、ADX等。这样设计的好处是灵活性极高,坏处则是如果使用者对底层指标不熟悉,容易组合出互相矛盾的信号。
在后续部分(原文被截断)推测,作者多半会采用ZigZag在价格形态中找到摆动高低点,再以这些摆动点为基准比较动量指标(如RSI或MACD)的波峰波谷,从而定义常规背离或隐藏背离。事实上,从该策略脚本的标题“Zigzag Trend/Divergence Detector”也可以看出,ZigZag正是整个策略的核心骨架。ZigZag能够过滤掉小于设定阈值的价格反向波动,只保留关键的摆动点,使得背离的识别变得直观且可计算。
名词解释
-
ZigZag(之字形指标):一种用于过滤市场噪音、只保留明显价格摆动点的工具。它会设定一个最小变动幅度(例如价格必须反向波动3%或ATR的1倍),当价格反向幅度达到该阈值时,才确认一个阶段性高点或低点,并将这些点连接成折线。这样可以清晰展示价格的波段结构,也是许多趋势和背离分析的基础。
-
背离(Divergence):当价格创出新高,而某个动量指标(如RSI、MACD)却没有同步创出新高,或反而走低,这种价格与指标方向不一致的现象称为背离。常规看涨背离通常出现在下跌趋势末端,暗示下跌动能减弱;常规看跌背离则出现在上涨趋势末端,提示上涨动能不足。此外还有“隐藏背离”,通常出现在趋势中继阶段,用于确认趋势延续。
-
趋势偏置(Trend Bias):指交易者对当前市场属于多头、空头还是区间震荡的主观倾向。它通常基于趋势指标(如均线多头排列、价格位于上升趋势线之上等)得出,用来决定是否需要优先考虑顺势交易还是逆势交易。
-
回调(Pullback):在整体上涨或下跌趋势中,价格短期向相反方向运行的现象。例如上升趋势中的回调表现为价格短暂下跌,但随后恢复上涨。回调是趋势延续过程中的正常特征,也是交易者希望低风险建仓的时机。
-
动量指标(Momentum Indicator):用于衡量价格变化速度或幅度的技术指标,常见的有RSI(相对强弱指数)、MACD(指数平滑异同移动平均线)、随机指标(Stochastic)等。动量指标通常领先价格,能提前反映价格趋势的强弱与潜在反转。
-
止损(Stop Loss):预先设定的离场价位,当市场价格反向到达该价位时,交易者将执行亏损平仓,以限制单次交易的最大损失。本文中提到的“要不要止损”正是回调时交易者最常见的问题。
-
盈亏比(Risk-Reward Ratio):某次交易计划中所承受的风险(预期亏损)与潜在收益(预期盈利)的比例。例如止损距离为10点,目标收益为30点,则盈亏比为1:3。回撤决策本质上是在动态评估当前的盈亏比是否仍然合理。
策略思路讲解
这个策略的完整工作流程可以拆解为四个模块:构建摆动结构、确定趋势方向、识别背离信号、生成综合倾向。
第一步,是利用ZigZag过滤价格噪音,构建出清晰的波段高低点。ZigZag需要设定两个关键参数:最短摆动长度和最小反向变动幅度。最小反向变动幅度可以基于固定百分比或ATR(平均真实波幅)动态调整,目的是剔除那些不足以改变结构的小波动。当价格从某个低点上涨后出现足够幅度的回撤,再继续上涨并超过前高,就可以确认一个新低点和一个新高的形成。这样做的好处是,我们不必实时追踪每一个K线,而是只关注那些对结构有意义的关键价位。
第二步,是确定主趋势方向。这里可以用简单均线、指数均线,也可以用趋势线或ADX。以最常用的均线为例:如果价格位于长期均线上方,且短期均线位于长期均线上方,则可以定义为多头趋势环境;反之则为空头。作者强调“使用任意指标”,意味着这一层是可以灵活替换的。关键在于,趋势偏置将为后续的背离信号赋予方向性权重。
第三步,是识别背离。在ZigZag得到的摆动高低点基础上,我们记录每一个显著的波段高点对应的动量指标值(如RSI读数),以及每一个显著波段低点对应的动量指标值。常规看跌背离定义为:价格形成更高的高点,但动量指标形成更低的高点;常规看涨背离定义为:价格形成更低的低点,但动量指标形成更高的低点。隐藏背离则相反:价格形成更高的低点,但动量指标形成更低的低点(看涨隐藏背离),或者价格形成更低的高点,但动量指标形成更高的高点(看跌隐藏背离)。
第四步,是将趋势偏置与背离信号合成一个综合判断。以最简单的逻辑为例:若当前趋势偏多,且没有出现看跌常规背离,或者出现了看涨隐藏背离,则信号为“继续持有”或“逢回调做多”;若趋势偏多,但出现看跌常规背离,则信号为“警惕反转,可考虑减仓或收紧止损”;若趋势偏空且出现看涨常规背离,则需要防范空头回补。通过这种方式,策略可以在趋势延续和趋势反转之间给出更有分寸的倾向,而非仅仅给出买或卖的二选一指令。
值得注意的是,这种策略并不是一个全自动交易系统,而是一种“决策辅助工具”。它输出的更像是“当前市场情绪偏多/偏空”的评分结果。交易者可以根据这个评分,结合自己的仓位管理规则,决定是加仓、持有、减仓还是离场。
优点
第一,它把“回调时是否止损”这个模糊的决策,变成了一个可量化的结构问题。当趋势向上且无看跌背离时,回调大概率是健康的,止损可以放宽甚至忽略;当趋势向上但出现看跌背离时,回调可能演变为反转,此时就需要果断减仓或离场。这使得交易者不再依赖感觉,而是有明确的信号支撑。
第二,采用ZigZag作为摆动点识别工具,能有效过滤噪音,降低频繁交易带来的损耗。ZigZag只会对达到一定幅度的反向波动做出反应,这使得背离信号只在有意义的波段上成立,不会因为一两根K线的小波动就触发错误判断。
第三,结合趋势过滤后,背离信号的有效性显著提高。单纯的背离在强趋势中经常失效,尤其是“弱背离”很容易被趋势吞没。本策略用趋势偏置作为主逻辑,背离作为辅助预警,能够过滤掉许多逆势的假背离信号,提升信号质量。
第四,通用性强,适用于股票、外汇、加密资产、期货等多类品种,也能兼容不同时间周期。无论是短线的5分钟图,还是中长线的日线或周线图,只要适当调整ZigZag参数和趋势指标参数,就能形成一套自洽的分析框架。
第五,该策略的核心思想直观,逻辑环环相扣,方便交易者理解和长期维护。相比黑箱式的机器学习模型,ZigZag与背离的组合规则透明,出现错误时也容易追溯原因并调整参数。
缺点
第一,ZigZag本身具有严重的滞后性。由于它需要等待价格反向达到一定幅度后才确认摆动点,因此信号往往晚于实际转折点。尤其是当行情快速反转时,等ZigZag画出一个新低点,价格可能已经下跌了一大截,导致减仓或止损执行在较差的位置。
第二,参数敏感度高。ZigZag的最小反向变动幅度设置太小,会出现过多摆动点,导致背离信号杂乱;设置太大,则摆动点过少,可能错过关键的转折信号。趋势指标的选择与参数也会直接影响最终信号,没有一个“万能参数”适用于所有市场环境。
第三,在震荡市中,ZigZag会频繁产生左右摇摆的摆动点,同时背离信号也可能反复出现,造成“狼来了”的效果。交易者若机械地跟随信号,容易被连续打脸。
第四,背离信号本身就存在一定的统计胜率,并非100%可靠。常规背离在极端行情下可以持续很久,甚至出现连续多次背离后才真正反转。本策略只提供了“倾向性建议”,并未解决仓位管理和资金管理问题,若交易者过度依赖,依然会面临较大风险。
第五,作者没有给出一个完整、封闭的规则。原描述中只提到了“使用任意指标确定趋势偏置”,这给了使用者自由,但也意味着不同使用者可能会得到截然不同的结果,策略的一致性和可验证性较弱。
起源年份考证
由于我们讨论的是“ZigZag + 趋势 + 背离”这一组合策略类型,而不是某个具体商业软件的脚本,因此以下考证属于“该类方法”的时间线梳理,无法精确到某一年。
1. 道氏理论时期(19世纪末至20世纪初):查尔斯·道最早提出趋势由一系列波峰和波谷构成。这种“高点和低点”的概念,实际上就是ZigZag形态的思想源头。当时没有计算机,只能手工绘制折线图来判断市场结构。
2. 技术分析早期(20世纪30年代至50年代):背离概念开始出现在一些经典著作中。例如理查德·沙贝克(Richard Schabacker)在《技术分析与股票市场利润》中详细讨论了价格与成交量、摆动之间的背离现象。此时背离主要依赖于目测。
3. 指标量化时代(20世纪60年代至70年代):计算机技术的普及使得指标计算自动化。ZigZag指标作为一种内置于图表软件的绘图工具,约在60年代后期开始流行。1978年,威尔斯·怀尔德(J. Welles Wilder)发布了RSI和ATR等动量指标,此后“价格与RSI背离”成为技术分析中的常见范式。
4. 程序化交易与在线社区阶段(2000年代至今):随着互联网交易平台和量化交易社区的兴起,将ZigZag与动量指标背离结合的方法被大量编译为可自动计算的指标。2010年前后,这类“趋势+背离检测器”在交易者社区中广泛流传,成为民间量化策略中的重要成员。
综上,我们可以说,该策略的核心元素——ZigZag、趋势过滤、背离识别——分别起源于不同历史阶段,而三者的组合作为一种系统化的检测工具,主要成熟于21世纪头十年。若要严格考证作者“Trendoscope”所写的这个具体脚本的发布日期,我们无法从公开信息中获得确凿证据,故不妄加断言。
改进建议
第一,将固定阈值ZigZag改造成自适应ZigZag。例如使用ATR的倍数作为最小反向变动幅度,或者根据当前波动率动态调整阈值。这样可以在低波动时期过滤更多噪音,在高波动时期更快捕捉转折点,减轻参数选择的压力。
第二,引入多周期共振机制。同一套ZigZag与背离逻辑可以同时运行在周线、日线、小时线级别上,只有当周线趋势与日线趋势一致,且日线背离信号与小时线背离信号方向相同时,才产生高确信度的交易提示。多周期过滤能显著减少日内噪音。
第三,增加背离的强度评分。不必将背离视为二元信号(有或无),而是根据背离的持续时间、摆动点数量、价格与动量指标之间的差异幅度,给背离打出0到100的评分。同时结合趋势指标的斜率,计算出综合情绪分,并用于决定仓位大小,而非仅仅给出“持有/离场”的定性建议。
第四,加入动态止损规则。例如,当出现看跌背离时,可以建议将止损移动到最近一次ZigZag摆动低点下方;如果趋势仍为多头但动能减弱,则采用“移动止损”保护利润。这样可以将决策建议转化为可执行的风险管理动作。
第五,在震荡市中增加“无结构”状态识别。可以引入ADX(平均趋向指数)或市场波动结构分析,当ADX低于一定阈值时,禁用背离信号,或者将策略切换为“观望模式”,从而避开最让交易者头痛的假信号区间。
第六,对背离信号进行历史回测与统计验证。交易者可以在自己的品种和时间周期上,分别统计“趋势过滤后的背离”与“未过滤的背离”的后续胜率、平均盈亏比,据此调整信号权重。把主观经验变成数据支撑,是提升策略稳健性的关键。
第七,引入机器学习辅助,但保持逻辑透明。例如可以用随机森林或逻辑回归来学习哪些ZigZag摆动结构最容易形成有效背离,但这种方式应当作为辅助评分,而不是替代原有规则的“黑箱”。这样可以保留策略的可解释性,同时增强其适应性。
总结
Zigzag Trend/Divergence Detector 是一类旨在解决交易者“回调决策”和“止盈决策”痛点的技术分析工具。它通过ZigZag结构勾勒出市场的关键摆动点,再结合趋势指标与动量指标背离,形成一套复合判断体系。其核心价值不在于直接预测价格涨跌,而在于为交易者提供一种“更透明、更有条理”的决策上下文——我们是在趋势健康的回调中,还是在趋势衰竭的多空转换前?
从优点来看,它思路清晰、兼容性强,能有效过滤噪音,并显著改善持仓过程中的心态管理。从缺点来看,它受制于ZigZag的滞后性、参数的敏感性以及背离信号的不确定性,若不加改进地直接使用,信号质量仍然堪忧。因此,更好的做法是将它作为一种“基础框架”,在其上加入多周期过滤、动态参数、波动率判断和风险管理规则,从而构建出一个完整且可验证的交易系统。
回顾这类方法的历史,从道氏理论的波段思想,到怀尔德的动量指标,再到21世纪程序化社区的融合创新,可以看到技术分析的发展始终围绕着同样的命题:如何在价格噪音中找到结构,如何在结构变化中感知趋势的强弱。Zigzag Trend/Divergence Detector 正是这一命题在当代的典型实践。对于普通交易者而言,理解它、善用它,并在此基础上形成自己的一套纪律,或许才是它真正能够带来的价值。