# 缠论分析 ## CLI 用法 基于缠论理论的技术分析,计算管道:`K 线合并 → 分型识别 → 笔 → 中枢 → 线段 → 买卖点 → 背驰`。默认输出 JSON,加 `--table` 输出可读表格。:`K 线合并 → 分型识别 → 笔 → 中枢 → 线段 → 买卖点 → 背驰`。默认输出 JSON,加 `--table` 输出可读表格。 ```bash easy-tdx chanlun SZ 000001 --table easy-tdx chanlun SH 600519 --adjust QFQ --table easy-tdx chanlun SZ 000001 --period 30MIN # 多级别联立:分析日线最后一笔在 30 分钟级别中的走势结构 easy-tdx chanlun SZ 000001 --multi-level 30MIN --table easy-tdx chanlun SH 600519 --multi-level 5MIN ``` ### 输出示例 以 `easy-tdx chanlun SH 601088 --table` 为例,输出分五个部分: **概要统计** ``` 标的: 601088 周期: DAILY 原始K线: 800 缠论K线: 589 分型: 275 笔: 131 中枢: 21 线段: 40 买卖点: 125 背驰: 73 ``` | 字段 | 含义 | |------|------| | 原始 K 线 | 从服务端获取的原始 K 线条数 | | 缠论 K 线 | 经过包含处理(合并)后的 K 线条数,数量一定 ≤ 原始 K 线 | | 分型 | 识别出的顶分型 + 底分型总数 | | 笔 | 相邻两个异向分型之间的连线(涨跌方向交替) | | 中枢 | 至少 3 笔重叠区域形成的密集成交区间 | | 线段 | 由笔构成的更大级别走势单位 | | 买卖点 | 一二三类买卖点信号总数 | | 背驰 | 力度衰减信号总数(笔背驰 / 盘整背驰 / 趋势背驰) | **笔** ``` [0] ↑ 2023-02-17 → 2023-02-23 h=28.46 l=26.76 ✓ [1] ↓ 2023-02-23 → 2023-02-28 h=28.46 l=27.8 ✓ [2] ↑ 2023-02-28 → 2023-03-09 h=29.77 l=27.8 ✓ ``` 笔是缠论的基本走势单位。每条笔连接一个顶分型和一个底分型,方向严格交替(↑↓↑↓…)。`✓` 表示已确认(后续出现了反向笔),`…` 表示仍在进行中。 - `↑`:向上笔,起点是底分型(低点),终点是顶分型(高点) - `↓`:向下笔,起点是顶分型(高点),终点是底分型(低点) - `h`/`l`:该笔范围内的最高价 / 最低价 **中枢** ``` [0] zg=28.46 zd=28.11 gg=32.56 dd=26.76 lines=11 ✓ [1] zg=31.2 zd=30.45 gg=32.56 dd=27.9 lines=3 ✓ ``` 中枢是至少 3 笔重叠形成的密集成交区间,代表多空博弈的平衡区域。`✓` 表示已脱离,`…` 表示价格仍在中枢区间内震荡。 | 字段 | 含义 | |------|------| | `zg` | 中枢上沿(区间内最高的低点)— 支撑/压力的关键分界 | | `zd` | 中枢下沿(区间内最低的高点) | | `gg` | 中枢区间内的最高价 | | `dd` | 中枢区间内的最低价 | | `lines` | 构成该中枢的笔数,笔数越多代表震荡越充分 | 中枢的意义:价格在中枢内震荡 → 突破中枢上沿看涨,跌破下沿看跌。`zg`/`zd` 是实战中最常用的参考价位。 **线段** ``` [0] ↑ 2023-02-17 → 2023-03-09 h=29.77 l=26.76 [1] ↓ 2023-02-28 → 2023-03-29 h=29.77 l=27.18 ``` 线段是比笔更大的走势单位,由多笔重叠组合而成。线段的方向不严格交替,可能出现连续同向(如连续多段向上),代表更高一级的趋势方向。实战中通常在线段级别判断大方向,在笔级别找买卖点。 **买卖点** ``` 1buy: 中枢下方力度衰减,一类买点 (l=27.30 < zd=46.72) 2buy: 回调不创新低,二类买点 (l=27.33) 3buy: 回调不破中枢上沿,三类买点 (l=27.80 > zg=27.58) 1sell: 中枢上方力度衰减,一类卖点 (h=50.38 > zg=46.97) 2sell: 反弹不创新高,二类卖点 (h=29.32) 3sell: 反弹不破中枢下沿,三类卖点 (h=28.46 < zd=46.72) ``` 缠论定义三类买点和三类卖点: | 类型 | 买点含义 | 卖点含义 | |------|----------|----------| | 一类 | 下跌趋势末端,力度衰减后的第一个低点(抄底) | 上涨趋势末端,力度衰减后的第一个高点(逃顶) | | 二类 | 一类买点后的回调不创新低(确认反转) | 一类卖点后的反弹不创新高(确认反转) | | 三类 | 回调不进入中枢上沿(趋势确认,中枢上方买) | 反弹不进入中枢下沿(趋势确认,中枢下方卖) | 括号内的条件是该信号的触发依据,如 `l=27.80 > zg=27.58` 表示回调低点 27.80 高于中枢上沿 27.58,所以是三类买点。 **背驰** ``` [✓] bi: 笔背驰: 笔[4] 力度=1.32 < 笔[2] 力度=1.97 [✓] pz: 盘整背驰: 中枢[11] 内末笔力度=2.49 < 首笔力度=6.64 [✓] qs: 趋势背驰(上): 中枢[1] 离开力度=3.32 < 中枢[0] 离开力度=4.45 ``` 背驰是力度衰减信号,表明当前走势动力正在减弱,可能即将反转。力度通过 MACD 面积计算,数值越小力度越弱。 | 类型 | 含义 | |------|------| | `bi`(笔背驰) | 同向相邻两笔比较,后一笔力度 < 前一笔 → 该方向动力减弱 | | `pz`(盘整背驰) | 同一中枢内,末笔力度 < 首笔 → 中枢内动力衰减,即将突破 | | `qs`(趋势背驰) | 两个同向中枢之间比较,后一中枢离开力度 < 前一中枢 → 趋势可能终结 | `[✓]` 表示确认背驰。趋势背驰(上)代表上涨趋势可能结束,趋势背驰(下)代表下跌趋势可能结束。 ## Python 用法 基于缠论理论的技术分析模块,接收 easy_tdx 的 K 线 DataFrame,输出笔、中枢、线段、买卖点、背驰等分析结果: ```python from easy_tdx.chanlun import ChanlunAnalyser, ChanlunConfig # 使用 easy_tdx 获取 K 线数据 with TdxClient() as client: df = client.get_security_bars(Market.SH, "600519", KlineCategory.DAY, 0, 800) # 缠论分析 analyser = ChanlunAnalyser("SH600519", "DAILY") result = analyser.process_klines(df) # 获取结果 print(f"笔数: {len(result.bis)}") print(f"中枢数: {len(result.zss)}") print(f"线段数: {len(result.xds)}") print(f"买卖点: {[m.msg for m in result.mmds]}") print(f"背驰: {[b.msg for b in result.bcs]}") # JSON 兼容字典输出 print(result.to_dict()) ```