- Published on
楔形与旗形形态识别器
- Authors

- Name
- CoresightQuant
NOTE
本文为公开交易策略的技战术复盘,聚焦方法逻辑、交易场景与风险边界。
策略解读
在技术分析的世界里,楔形与旗帜是两类经典且极具实战价值的持续形态。它们通常出现在一轮凌厉的单边行情之后,代表着市场在短暂休整后大概率延续原有趋势。然而,识别这些形态却并不容易——肉眼观察K线图时,我们往往会被无序的波动干扰,误把普通的收敛整理当成楔形,或者把一根突兀的影线当成旗帜的旗杆。
这篇博客要讨论的,正是作者“Trendoscope”在公开交易社区分享的一个自动识别楔形与旗帜的实用方案。其核心思路并不复杂:借助“之字形”(Zigzag)结构提取关键摆动点,然后基于5个摆动点而非传统的4个点来判定楔形,同时用一种非常直观的“尾巴”概念区分旗帜。与许多黑箱式的形态识别工具不同,这个方案在逻辑上相当透明,也保留了很好的扩展空间。
我们先从最基础的形态定义说起。楔形(Wedge)由两条逐渐收敛的趋势线组成,根据斜率方向可分为上升楔形和下降楔形。上升楔形通常被视为看跌信号,下降楔形则常被看作看涨信号。但值得注意的是,在趋势中途,楔形往往只是中继整理,而非反转。旗帜(Flag)则由一根陡峭的“旗杆”和一段倾斜的、小幅波动的“旗面”构成,旗面的方向通常与旗杆相反,稍作修正后形态更可靠。传统教科书上,旗帜的旗面是两条近乎平行的趋势线,而楔形的两条趋势线是收敛的。但实际操作中,二者经常混用,许多交易者把“带尾巴的楔形”直接称为旗帜。
作者在这段描述里点明了几个关键设计决策:
第一,放弃标准的4摆动点检测,改用5摆动点。原因很简单:4个点太容易凑成楔形,尤其是在震荡行情中,噪音极大。例如,一次小幅回调中,高点和低点各出现两次,就能连出一个看似标准的楔形,但它并不具备趋势延续的预测价值。增加一个摆动点后,要求的结构更完整,形态也更“正宗”,过滤掉大量假信号。
第二,用“尾巴”来区分旗帜。所谓尾巴,指的是楔形出现之前的那一段快速、陡峭的推动行情。严格来说,任何楔形在形成之前都必然有一段行情在先,但作者特别将其作为旗帜的判定条件:如果楔形末端拉出了一条明显的尾巴,就标记为旗帜。这个设计非常聪明,因为它用最简单的量化方式还原了教科书里“旗杆+旗面”的定义——旗杆就是尾巴,旗面就是收敛的楔形。
第三,设置尽量简单。作者没有透露具体参数,但从描述来看,用户只需要调整摆动点的过滤条件(比如用ATR或百分比定义摆动点幅度)、楔形收敛的最小斜率等少数参数。这种“少参数、多逻辑”的设计思路,也正是很多优秀形态识别工具的共同特征——把复杂的判断交给算法,留给用户的只是最必要的调节旋钮。
那么,这个策略具体是如何工作的呢?我们可以把它拆解为三个层次。
第一层是结构提取。原始价格序列包含了无数大小不一的波动,直接识别形态几乎没有可能。之字形算法通过设定一个最小摆动幅度阈值,将价格压缩成一系列交替的高点和低点。这相当于给行情做了一次“降噪”,只保留最重要的转折。作者使用的“multi-zigzag”很可能意味着多个时间尺度或多种阈值下分别提取摆动点,然后将不同尺度的信息结合起来。这样既能捕捉大级别楔形,也不会漏掉小级别机会。
第二层是候选形态筛选。得到摆动点序列后,算法会把最近的5个连续摆动点(价格高点与低点交替:高点1、低点1、高点2、低点2、高点3,或者反向)作为一个窗口,检查它们是否满足楔形的几何条件。所谓楔形,从几何上说就是两条连接线(一条连接高点的下沿/上沿线,一条连接低点的下沿/上沿线)有共同的收敛方向,且彼此之间的距离在逐渐收窄。5个摆动点恰好可以构成两条各含3个点的参考线,从而计算出收敛角度的稳定性。相比之下,4个摆动点只能让每条线各用2个点,任何两点都能连成一条线,自然容易误判。
第三层是旗帜标记。一旦确认了楔形结构,算法就会向前追溯楔形起点之前的摆动点。如果在楔形之前存在一段足够陡峭、幅度足够大的单边行情,即“尾巴”,则将该形态标记为旗帜。这里的“足够”由阈值参数控制,比如尾巴的长度至少是楔形高度的多少倍,或者尾巴的斜率必须大于某个角度。这样标记出来的旗帜,实际上就是“带尾巴的楔形”,与标准的旗帜略有差异,但更贴近实战中交易者常说的“楔形旗”。
从交易理念上看,这个策略属于典型的均值回归思路。你可能会疑惑:楔形和旗帜明明是趋势持续形态,怎么和均值回归挂钩?其实,均值回归并不一定指向价格回归到均线或前高前低。在形态识别中,楔形内的每一次反弹或回调,都可以视为对短期均值的偏离;而形态完成后的突破,则是这种偏离的“集中释放”。更直白地说,识别楔形和旗帜,本质上是在寻找一种“收敛-爆发”的节奏:收敛到极致时,市场情绪被压缩,一旦突破,价格会迅速向趋势方向回归。作者在这里采用均值回归标签,或许更强调“等待形态完成后的高胜率入场”,而非提前押注突破方向。
这个方案的应用场景非常广。日内交易者可以把它的时间周期调短,用来捕捉15分钟或1小时图上的楔形突破;波段交易者则可以用日线或周线级别识别大形态。配合成交量指标使用时,效果通常会更好:如果旗帜或楔形形成过程中成交量递减,而突破时成交量显著放大,那么信号的可靠度会大幅提升。此外,它还可以作为其他策略的过滤器——比如只参与趋势方向与楔形方向一致的突破信号,或者避开那些在楔形内部反复震荡的行情。
当然,任何自动化形态识别都不可能完美。作者自己也在描述中坦诚,这个版本只用了5个摆动点,未来会增加更多。这说明他清楚当前方案存在一定的误判率。在实际使用中,我们需要结合自己的交易框架,对信号进行二次筛选,而不是直接机械化执行。
名词解释
-
楔形形态(Wedge Pattern):一种由两条相互收敛的趋势线组成的价格整理形态。上升楔形通常收敛向上,后市看跌;下降楔形收敛向下,后市看涨。但在趋势中继中,楔形也可作为持续形态出现,突破方向与原趋势一致。
-
旗帜形态(Flag Pattern):由一根陡峭的旗杆和一段与旗杆方向相反的小幅整理旗面组成的形态。旗杆是原有趋势的快速推进部分,旗面则是短暂回调或横盘。理论上旗面两条线平行,现实中常以楔形代替,因此“楔形+尾巴”常被直接视为旗帜。
-
摆动点(Pivot):价格序列中的局部极值点,即在一定范围内的最高点或最低点。摆动点是形态识别的基础元素,通常用左侧和右侧各N根K线进行比较来确定。
-
之字形指标(Zigzag Indicator):一种用折线连接价格高低点的指标。它通过设定最小波动阈值,过滤掉幅度过小的波动,只保留有意义的转折点,从而简化价格结构。中文常译为“锯齿线”或“Z字转向”。
-
均值回归(Mean Reversion):一种交易理念,认为价格在偏离其均值或均衡位置后,最终会回归。在形态识别策略里,它常被广义理解为“价格过度收敛后会产生爆发性回归”。
-
多尺度之字形(Multi-Zigzag):在同一时间级别上,使用多个不同的摆动阈值分别提取高低点,再将不同尺度下的结构组合使用。这样做可以在一个信号中同时包含大级别趋势和小级别波动信息,提高形态的稳定性。
-
趋势线(Trendline):连接两个或两个以上价格高点或低点的直线,用于描述价格运动的方向和速率。楔形与旗帜的判定,本质上就是对两组趋势线的斜率和收敛关系进行度量。
策略思路讲解
这个策略的完整逻辑链可以概括为三步:结构压缩、形态匹配、信号标注。
第一步:结构压缩。
原始K线包含大量噪音,直接比较连续K线高点和低点毫无意义。因此,作者使用了多尺度之字形指标。其原理是:设定一个最小波动阈值(例如价格变动必须达到一定绝对幅度或相对于ATR的倍数),只有当价格从某个高点下跌超过阈值时,才确认一个新的低点摆动点;同理,从低点上涨超过阈值时,才确认一个新的高点摆动点。这样,行情就被压缩成一系列交替出现的摆动点。多尺度的含义是,同时用较窄和较宽的阈值提取两套甚至三套摆动点序列,然后从中选择最近的结构来匹配形态。这样做的副产物是:无论行情是快速剧烈还是缓慢平稳,只要形态具备足够的几何特征,算法都能识别出来。
第二步:形态匹配。
目标形态被定义为至少由5个连续摆动点构成的楔形。以看涨楔形为例,形态起点为一个低点,随后依次出现高点1、低点2、高点2、低点3、高点3。我们将高点1、高点2、高点3连成一条上趋势线,将低点2、低点3、低点4(如果有)连成一条下趋势线。关键在于两条线的斜率方向应当相反(或至少不是同向发散),并且两条线之间的距离在形态持续过程中逐渐收窄。用5个摆动点的优势在于,每一条趋势线上都可以有3个点来验证,稳定性显著高于两条线上各2个点。如果只用4个点,那么任意一个微小的波动都能构成“楔形”,误报率极高。
第三步:信号标注。
一旦5个摆动点确认了楔形结构,算法就会回溯楔形起点之前的若干摆动点,寻找一条“尾巴”。尾巴的定义是:从更早的一个摆动点到楔形起点之间,价格走出了足够陡峭且没有明显回调的推动段。判断“足够陡峭”可以通过尾巴的斜率、幅度与楔形高度之比,或者推动段中途反向摆动点数量不超过1个等方式实现。如果找到了尾巴,则在图表上把楔形标记为旗帜;如果没有尾巴,则仅标记为楔形。
从交易执行角度,这个策略并不直接给出买卖方向,而是提供一种“分类后的形态候选”。交易者可以根据自己的需求设定规则,例如:
- 标记为旗帜后,等待价格突破旗面(楔形)的上下边界,顺着突破方向入场;
- 标记为楔形且出现在上升趋势中,等待向下突破做空(因为上升楔形偏空);
- 同时结合MACD、RSI或成交量背离,过滤信号。
这里特别要强调“尾巴”的实战含义。在传统旗帜形态中,旗杆决定了突破后的最小目标——通常从突破点开始,价格至少会运行相当于旗杆高度的距离。因此,尾巴不仅是一个分类标签,还提供了止盈目标的参考。作者使用“若楔形带尾巴则为旗帜”,本质上就是把止盈计算这一层隐含的复杂逻辑简化成了视觉标记。
优点
-
有效降低形态误报率:相比标准4点楔形检测,5点结构让两条趋势线都有足够的参考点,极大减少了随机波动带来的假信号。尤其在震荡市中,4点楔形几乎到处都是,而5点楔形相对稀缺,准确度更高。
-
逻辑透明,易于理解和信任:整个策略建立在几何学与经典形态学基础上,没有复杂的神经网络或黑箱优化。交易者可以清楚地知道每一个标记背后的摆动点是什么、为什么被认定为楔形,因此更容易结合自己的经验进行二次确认。
-
多尺度之字形提供自适应性:单一阈值无法适应所有行情,而多尺度结构能让策略在快速波动与慢速震荡中都保持有效。短尺度捕捉小楔形,长尺度识别大楔形,两者结合后可覆盖不同持仓周期的交易者。
-
旗帜与楔形的统一处理:用“尾巴”将楔形升级为旗帜,使两类形态被纳入同一个检测框架内。这种分类方式简洁、实用,也便于后续用不同参数或处理方法分别优化两类信号。
-
参数设置简单,便于新手使用:作者特意简化了设置项,用户不需要理解复杂的数学原理,只需调整两三个阈值即可。这种克制降低了使用门槛,也降低了过度优化的风险。
缺点
-
摆动点确认存在延迟:之字形指标需要等待价格突破阈值后才能确认一个摆动点,因此形态是“事后”识别的。当5个摆动点完整形成时,楔形可能已经走完大半,突破信号往往滞后,导致入场价格不如早期肉眼判断那样有优势。
-
固定阈值难以适应全部行情:如果阈值设置过小,噪音仍然很多;设置过大,则会漏掉珍贵的形态。虽然多尺度可以在一定程度上缓解,但不同品种的波动率差异很大,同一套阈值很难在黄金、原油、股票上同时表现优异。
-
没有方向预测能力:策略只识别形态,不预测突破方向。楔形和旗帜理论上可上可下,尤其在无趋势环境中,市场可能在楔形末端向上假突破后迅速下跌,纯粹依赖形态入场容易遭受连续小止损。
-
5点结构仍然可能不够充分:作者自己也承认,5个点只是比4个点好一些,但并非完备。更复杂的形态可能需要6个甚至7个点才能确认,而当前版本并未纳入,因此仍会漏掉一些高质量形态,或把一些5点巧合当作有效楔形。
-
缺乏成交量或市场深度等辅助信息:该方案仅使用价格结构。但在经典技术分析中,成交量是验证形态的重要维度——楔形和旗帜在形成过程中通常伴随成交量萎缩,突破时则放量。没有成交量信息,策略无法区分真正的持续形态和散户诱多/诱空形态。
起源年份考证
需要说明的是,我们无法精确考证“Wedge and Flag Finder (Multi-Zigzag)”这个具体脚本的创作年份,因为公开发布时间与脚本版本迭代很难追溯。但我们可以对该类方法的技术演变做一个时间线考证:
- 20世纪30年代,技术分析先驱理查德·沙巴克(Richard Schabacker) 在其著作中系统提出了楔形、旗帜、三角旗等形态的基本形态学理论。后来的爱德华兹与迈吉在1948年出版的《股市趋势技术分析》中将其进一步推广,这是该类方法的理论奠基。
- 20世纪60年代末至70年代,摆动点与波浪理论结合。随着计算机用于行情分析,交易者开始尝试用算法表达“高点/低点”的概念。之字形指标最早出现在这一时期,目的是自动过滤噪音、画出结构线。由于缺乏大众传播渠道,具体年份难以考证,普遍认为在1970年代已有雏形。
- 20世纪80年代,个人电脑普及后,形态识别算法开始在零售端软件中出现。 当时的楔形检测普遍采用4个摆动点,这是由计算复杂度和数据量决定的。
- 2000年代,多时间框架与自适应阈值技术成熟。 交易社区开始流行“多尺度”“多重之字形”的组合方法,用来解决单一阈值不适应行情的痛点。
- 2015年之后,机器学习与大数据兴起,形态识别算法从“规则几何”转向“统计学习”。 但基于摆动点的传统几何方法并没有被淘汰,反而因为逻辑可解释性强,仍被许多交易者保留为交易系统的基础过滤器。
综合来看,本策略所采用的“5个摆动点识别楔形”属于对传统4点方法的改良,这种“增加摆动点数量以过滤噪音”的思路在2010年左右已经常见于各类交易社区。至于“箭头+尾巴=旗帜”的标记方式,也很难找到明确的首次提出者。因此,我们只能给出一个区间:该方法的核心思想源自20世纪上半叶的经典形态学,算法化实现始于20世纪70年代之字形指标出现之后,而5点改进与旗帜自动区分则属于2000年后的社区创新,具体年份无法考证。
改进建议
-
引入动态阈值或自适应摆动点:不再使用固定的价格百分比或ATR倍数,而是根据近期市场波动率动态调整摆动点阈值。比如,用平均真实波幅(ATR)的滚动分位数作为阈值,使策略在不同波动环境下都保持合理的灵敏度。
-
增加摆动点数量的自动筛选:作者已提到未来会加入更多摆动点。我们可以设计一个“5点起步、6点确认、7点增强”的分级体系——当5点楔形出现后,如果随后的第6个摆动点仍然保持收敛,则提高形态评分;反之则废弃。这样既能提前发现早期信号,又能通过后续确认降低误报。
-
叠加成交量确认模块:虽然原脚本不包含成交量,但在实际改进中,应在楔形形成阶段计算成交量趋势(如5日均量是否递减),并在突破时检查量能是否放大。只有成交量条件满足的旗帜/楔形才被标记为高置信度信号。
-
加入突破方向过滤与顺势交易规则:可以结合更大级别的趋势方向来判断突破方向。例如,如果日线处于上升趋势,那么下降楔形突破向上的概率更高,优先做多;如果日线处于下跌趋势,则上升楔形更可能向下突破,优先做空。另外,可以在突破后等待一根K线收盘确认或使用ATR滤波,避免突破瞬间的假动作。
-
引入多周期共振机制:在15分钟级别识别到楔形的同时,检查1小时或4小时级别是否也存在类似的收敛结构。若多周期同时出现楔形,则信号强度显著提升。这相当于用更大的时间框架对形态进行二次验证。
-
形态失效与止损管理自动化:定义清晰的形态失效条件,比如某条摆动点连线被反向突破,或者楔形内部出现超过2个相同方向的摆动点导致结构破坏。一旦失效,立即取消标记。同时可以根据尾巴的高度自动设置止盈目标,并根据形态起点固定止损距离。
-
使用历史数据回测统计胜率与盈亏比:对不同的品种、周期和阈值组合进行历史回测,统计楔形/旗帜突破后在目标周期内的胜率、平均盈利、平均亏损等指标,然后根据统计结果调整参数,而不是凭感觉设置。
-
增加形态评分系统:把收敛角度、尾巴斜率、摆动点数量、多周期共振、成交量趋势等要素加权,输出一个0到100的评分。评分高于80的信号才允许自动交易,低于60的仅作观察。这样可以将主观经验转化为可量化的过滤条件。
总结
“Wedge and Flag Finder (Multi-Zigzag)”这个策略脚本,虽然看起来只是一个简单的形态识别工具,但它背后体现了技术分析的核心方法论:将市场价格结构抽象为摆动点,再用几何条件定义形态,最后用附加特征进行分类。这种方法论在今天的人工智能时代依然很有价值——因为无论市场如何变化,人类的博弈心理不变,价格形态背后的供需逻辑不变。
作者用5个摆动点代替4个摆动点,看似只是数字上的微小变化,实则是对噪音过滤的深度思考。而“带尾巴的楔形就是旗帜”这一巧妙的标签,将两类经典形态有机融合,简化了交易者的复盘和决策流程。当然,它也有延迟、缺少成交量信息、阈值不够自适应等不足,但这并不妨碍我们借鉴其架构,在其基础上进行二次开发。
最后,我们要清醒地认识到,没有任何形态识别工具能够提供100%准确的信号。楔形和旗帜本身只是概率优势,而非必然结果。单独使用它们交易,难免陷入过度依赖技术的误区。建议将本策略作为完整交易系统中的一环,配合趋势判断、仓位管理、止损纪律和资金管理共同使用。只有把“识别形态”升级为“管理风险”,才能真正在市场的风浪中站稳脚跟。