“三角收敛”战法全解析:我靠这一招实现了年化35%

在股票的走势中,价格有时候会像在蓄力一样,走出一段越来越收敛的K线结构------我们把这种形态称为 三角收敛 ,也叫收敛三角形。它常常出现在趋势进行中的整理阶段,是非常典型也非常实用的一个形态。

三角收敛大致可以分为三种类型:

  • 对称三角形
  • 上升三角形
  • 下降三角形

今天花姐就来带大家一一拆解,搞懂它们的结构、特征、以及怎么用在实战中!


一、对称三角形:整理型态的「中庸派」

对称三角形,就是两边高点和低点逐渐收敛,最终形成一个等腰三角形的走势结构。这种形态既可能出现在上涨趋势中,也可能出现在下跌趋势中,算是最中性的一个。

来看一个经典案例👇

我们用A、B、C、D、E点标注出了三角形的两边走势,上边的高点越来越低,下边的低点越来越高,价格在这个空间内来回震荡------这就是对称三角形的标准模样。

当价格在F点跌破下边支撑线后,就确认了方向,趋势延续为下跌,这里就是一个非常典型的下跌中继型的对称三角形

当然了,如果这种形态出现在上涨趋势中,往上突破的概率也同样存在。关键点在于:等待突破!


二、上升三角形:多头强势进攻信号

上升三角形的特点很明显:

  • 上边是一条水平阻力线,说明高点停在同一价位
  • 下边是一条向上倾斜的支撑线,说明低点在不断抬高

这个形态本质上是买盘越来越积极,而卖盘在某个位置暂时形成阻力。一旦价格冲破了上边的压力线,往往会迎来一波上涨加速!

案例中我们可以看到:

  • 虽然E点没有精准触碰到上边线,但不影响整体结构的成立(现实中完美结构不常见,不用太死板)
  • 后续价格上破阻力线后,有一个 "回踩确认"动作,重新回到上边线获得支撑------这时候就是一个很好的介入点!

是不是有点像"突破+回踩"的双底逻辑?


三、下降三角形:空头压制力量显现

下降三角形的结构跟上升三角形刚好反过来:

  • 下边是一条水平支撑线
  • 上边是一条向下倾斜的压力线

这种形态说明卖压越来越重,多头逐渐无力,价格一次次冲高都遇阻,最终往下突破是大概率事件。

案例中,我们看到F点其实并没有碰到上边的压力线就提前掉头,说明空头非常强势。后续一旦跌破下边线,就会触发进一步下跌。


四、实战怎么用三角形?

三角收敛虽然是"整理型态",但 突破点就是机会点! 以下是几个实用技巧,建议收藏

交易策略总结:

  • 价格触及上边→回落:短空机会
  • 价格触及下边→反弹:短多机会
  • 突破上边→跟进做多(上升、对称三角形常见)
  • 跌破下边→跟进做空(下降、对称三角形常见)

归根结底,三角形就是支撑线和阻力线的博弈 ,只是结构更有规律一些。学会它,其实就学会了一种中继震荡中的趋势识别方法


五、如何用Python量化

我的绘制思路是:提取一段K线的局部高点和低点,然后用线性回归或拟合画出上边线和下边线,最后将这些边线叠加到K线图上。

导入需要用到的库

python 复制代码
import pandas as pd
import numpy as np
import mplfinance as mpf
from scipy.stats import linregress
import matplotlib.pyplot as plt
import akshare as ak
import matplotlib.font_manager as fm

获取股票的K线数据

这里我用的AKshare库,当然你也可以使用其它方式来获取行情数据

python 复制代码
# 1. 获取K线数据
df = ak.stock_zh_a_daily(
    symbol='sz002082',
    start_date='20250101',
    end_date='20250715'
)

提取局部高低点

这里我用固定窗口的方式找到了一段时间内K线的高低点,当然也可以借助缠论画线段的方式,线段的开始和结束就我们要的高低点:

python 复制代码
def find_local_extrema(series, window=5, mode='max'):
    idxs = []
    for i in range(window, len(series) - window):
        segment = series[i - window:i + window + 1]
        if mode == 'max' and series[i] == max(segment):
            idxs.append(i)
        elif mode == 'min' and series[i] == min(segment):
            idxs.append(i)
    return idxs

回归拟合上边线和下边线

python 复制代码
# 3. 线性回归拟合上下边界
x_high = np.array(high_idxs)
y_high = df['high'].iloc[x_high].values
slope_high, intercept_high, *_ = linregress(x_high, y_high)

x_low = np.array(low_idxs)
y_low = df['low'].iloc[x_low].values
slope_low, intercept_low, *_ = linregress(x_low, y_low)

判断是否满足三角收敛

python 复制代码
# 4. 判断是否满足三角形形态 
slope_thresh = 0.02  # 斜率绝对值小于该值视为"水平线"

triangle_type = "未形成三角形"

if slope_high < 0 and slope_low > 0:
    triangle_type = "对称三角形"
elif abs(slope_high) < slope_thresh and slope_low > slope_thresh:
    triangle_type = "上升三角形"
elif abs(slope_low) < slope_thresh and slope_high < -slope_thresh:
    triangle_type = "下降三角形"

print("识别结果:", triangle_type)

绘制图形

python 复制代码
# 5. 构造红色虚线作为addplot
x = np.arange(len(df))
upper_line = slope_high * x + intercept_high
lower_line = slope_low * x + intercept_low

apds = [
    mpf.make_addplot(upper_line, color='red', linestyle='--'),
    mpf.make_addplot(lower_line, color='red', linestyle='--')
]

# 6. 绘制蜡烛图 + 三角收敛线
# 手动指定 SimHei 字体路径(这个很关键!!!)
font_path = 'C:/Windows/Fonts/simhei.ttf'  # Windows 路径

# 创建 font 对象
my_font = fm.FontProperties(fname=font_path)
font_name = my_font.get_name()  # 一般是 'SimHei'

# 设置 matplotlib 全局字体
plt.rcParams['font.family'] = font_name
plt.rcParams['axes.unicode_minus'] = False

# 自定义 mplfinance 风格
my_style = mpf.make_mpf_style(base_mpf_style='yahoo', rc={'font.family': font_name})

title_text = f'K线三角形态识别:{triangle_type}'
# 示例绘图(df 和 apds 请换成你自己的数据)
mpf.plot(df, 
         type='candle', 
         style=my_style,
         addplot=apds, 
         title=title_text,
         ylabel='Price',
         figsize=(12, 6)) 

写在最后

三角收敛这个形态,是我个人非常喜欢的一个整理结构。它逻辑清晰,适用于多种市场环境,配合量能或者突破K线做确认,胜率其实不低。

记住一句话:

三角形整理不是信号,突破才是信号

喜欢这种系统讲解的朋友,欢迎在评论区告诉我你还想学哪种形态~也可以转发给朋友,咱们一起涨知识,一起抓大波段!

需要源码的可以加入花姐星球获取,解压密码112233 里面包括

  • 通过AKshare直接绘制某个股票的三角收敛图源码
  • 通过xtquant+miniQMT批量绘制全部A股的三角收敛图源码
相关推荐
超浪的晨5 分钟前
Java 实现 B/S 架构详解:从基础到实战,彻底掌握浏览器/服务器编程
java·开发语言·后端·学习·个人开发
IMER SIMPLE12 分钟前
人工智能-python-OpenCV 图像基础认知与运用-图像的预处理(1)
人工智能·python·opencv
ku_code_ku17 分钟前
Django关于ListView通用视图的理解(Cursor解释)
python·django·sqlite
荼蘼1 小时前
python爬虫实战-小案例:爬取苏宁易购的好评
开发语言·爬虫·python
追逐时光者1 小时前
一款超级经典复古的 Windows 9x 主题风格 Avalonia UI 控件库,满满的回忆杀!
后端·.net
运维小文1 小时前
初探贪心算法 -- 使用最少纸币组成指定金额
c++·python·算法·贪心算法
Eiceblue1 小时前
PDF转Markdown - Python 实现方案与代码
开发语言·vscode·python·pdf
Bruce_Liuxiaowei1 小时前
Python实现PDF按页分割:灵活拆分文档的技术指南
windows·python·pdf
烛九幽-子麟1 小时前
精通Python PDF裁剪:从入门到专业的三重境界
开发语言·python·pdf