ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Vibe-Trading 缠论中枢(ZS)详解:从价格重叠区间识别到趋势判定实战

Vibe-Trading 缠论中枢(ZS)详解:从价格重叠区间识别到趋势判定实战 Vibe-Trading 缠论中枢ZS详解从价格重叠区间识别到趋势判定实战【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading中枢ZS / Zhong Shu是缠论体系中承上启下的核心结构它由至少 3 笔构成代表多空力量在此区间达成暂时均衡而价格对中枢的突破则宣告趋势的形成。在 Vibe-Trading 项目中缠论技能chanlunskill基于czsc库实现了从 K 线到买卖点的完整识别链路其中中枢构建正是链接笔与买卖点的关键一环。本文以 中枢.md 为核心结合仓库内 SKILL.md、example_signal_engine.py 等源码系统讲解中枢的构成条件、边界属性ZG/ZD/ZZ/GG/DD、趋势判定规则并给出可直接运行的czsc代码示例帮助你掌握中枢识别的底层原理与实战用法。一、中枢在缠论体系中的位置缠论是一套完全基于价格结构的技术分析方法Vibe-Trading 的缠论技能 SKILL.md 中给出了完整的处理链路原始K线 → 去包含处理 → 分型识别 → 笔检测 → 中枢构建 → 买卖点判定其中各层级概念的关系如下概念说明详细文档分型FX顶分型中间 K 线最高底分型中间 K 线最低分型笔BI相邻顶底分型之间的一段走势最小单元笔中枢ZS至少 3 笔构成的价格重叠区域趋势的核心中枢分型是点单根 K 线的转折标记笔是段分型之间的走势单元而中枢是区多笔叠加形成的价格区间。买卖点一买/二买/三买的判定几乎都以中枢的存在与位置为前提例如一买需要至少两个向下中枢后的背驰三买需要中枢上移后回调不进入前中枢见 一买一卖.md 与 三买三卖.md。因此理解中枢是掌握整套缠论信号体系的前提。二、中枢的定义与构成条件中枢是缠论的核心概念由至少 3 笔构成的价格重叠区域。它代表多空力量的均衡区域多方在区间下沿承接空方在区间上沿压制双方力量在此达到动态平衡。当价格突破中枢时意味着平衡被打破趋势随之形成。构成条件笔数下限至少 3 笔构成 1 个完整的上—下—上或下—上—下运动共同重叠区间这 3 笔必须存在共同的价格重叠区域即它们的价格区间有交集。示意图来自原文档● ● / \ ● / \ / \ / \ / \ / \ / \ ● / \ / ZG---\/---------\--/--- \ ● -----/\---------/\-----● ● ZD / \ / \ ● \ / \ / \ / ●上图中ZG与ZD之间的水平带即中枢区间多笔走势在ZD与ZG之间反复穿插形成价格重叠。三、中枢关键属性ZG / ZD / ZZ / GG / DD中枢的五个核心价格属性定义了它的边界与中心其计算公式如下bis[:3]表示取前 3 笔属性公式说明zg上沿min(bis[:3]各笔的high)中枢上边界取前 3 笔最高价的最小值zd下沿max(bis[:3]各笔的low)中枢下边界取前 3 笔最低价的最大值zz中轴zd (zg - zd) / 2中枢中心价格即上下沿的中点gg最高所有笔的最高价中枢区域内所有笔的最高点dd最低所有笔的最低价中枢区域内所有笔的最低点is_validzg zd中枢是否有效即上下沿是否形成正区间几点关键理解ZG 与 ZD 不是区间最高/最低上沿zg取前 3 笔 high 的最小值下沿zd取前 3 笔 low 的最大值。这意味着中枢区间是 3 笔共同覆盖的最紧凑交集而超出该交集的毛刺高点与低点分别记为gg与dd。GG/DD 反映震荡幅度gg/dd是全部笔的最高/最低若gg - zg或zd - dd较大说明存在突破中枢边界又回落的试探性走势这也是中枢扩展的迹象。is_valid是使用前提只有zg zd时中枢才成立。如果 3 笔之间没有重叠区间例如连续单向推进则该候选不构成中枢在代码中必须显式过滤。四、czsc 数据结构ZS在czsc库中中枢通过ZS数据类表示其结构与上述属性一一对应dataclass class ZS: bis: List[BI] # 构成中枢的笔列表 property def zg(self): ... # 上沿 property def zd(self): ... # 下沿 property def zz(self): ... # 中轴 property def gg(self): ... # 最高 property def dd(self): ... # 最低 property def is_valid(self): ... # 是否有效其中bis中的每个BI笔对象持有起点分型fx_a、终点分型fx_b、方向、笔内去包含 K 线列表以及high/low等属性详见 笔.md。ZG/ZD的计算直接复用每笔的high/low因此笔的质量直接决定中枢的精度——笔识别的顶底交替、无包含、最小长度等约束见 笔.md实质上也构成了中枢正确性的前置条件。五、中枢与趋势四种走势关系中枢的价值在于用它描述多空格局的变化原文档将其归纳为四种状态中枢震荡价格在中枢内反复运动无趋势。此时策略上更适合在zd附近关注支撑、在zg附近关注压力而非追涨杀跌中枢上移新中枢的zd 前中枢的 zg→ 上升趋势。意味着多方重心逐级抬高每次突破前中枢上沿后新的中枢在下沿处获得承接中枢下移新中枢的zg 前中枢的 zd→ 下降趋势。空方重心逐级下移反弹始终进入不了前中枢区间中枢扩展新笔突破中枢后又回到中枢内 → 震荡延续。此时突破是假突破中枢区间被加宽需要等待新的方向选择。从源码结构看Vibe-Trading 的缠论信号引擎 example_signal_engine.py 正是利用zg/zd这两条边界来做方向辅助判断详见下一节而 technical_analysis_panel.yaml 中 Elliott Wave 分析师也明确要求用中枢zhongshu / central pivot ranges交叉验证波段结构是震荡延续还是趋势延续可见中枢的这四种状态是整个形态判断的公共语言。六、使用示例滑窗检测最近有效中枢原文档给出了最直接的用法从最近的笔开始以 3 笔为窗口向后滑动逐个构造ZS并检查有效性。from czsc import CZSC, ZS c CZSC(bars) # 用最近的笔检测中枢 for i in range(len(c.bi_list) - 3): zs ZS(bisc.bi_list[i:i3]) if zs.is_valid: print(f中枢: ZG{zs.zg:.0f} ZD{zs.zd:.0f} ZZ{zs.zz:.0f})在 Vibe-Trading 的实战引擎中这一逻辑被封装为_check_zhongshu函数见 example_signal_engine.py并加入了两点工程化改进def _check_zhongshu(bi_list: list) - Optional[ZS]: 检测最近的有效中枢。 if len(bi_list) 3: return None for i in range(len(bi_list) - 3, max(len(bi_list) - 10, -1), -1): zs ZS(bisbi_list[i:i 3]) if zs.is_valid: return zs return None改进点值得注意从最近窗口向前回溯最多 10 组range(len(bi_list) - 3, max(len(bi_list) - 10, -1), -1)从最新 3 笔开始向前滑动最多检查 10 个候选窗口一旦发现有效中枢立即返回最近的优先返回最近的第一个有效中枢比原文档的遍历全部并打印更符合信号引擎的需求——只需要最近一个中枢来辅助当前决策避免历史陈旧中枢干扰。七、中枢在信号引擎中的实战作用中枢不仅本身是结构描述还能直接参与交易信号的生成。在 example_signal_engine.py 的_evaluate_signals中中枢与笔基础信号cxt_bi_base_V230228组合出方向判断# 笔基础信号 中枢位置辅助 bi_key [k for k in signals if V230228 in k] if bi_key and len(c.bi_list) 3: val str(signals.get(bi_key[0], )) zs _check_zhongshu(c.bi_list) if zs and zs.is_valid: last_close c.bars_raw[-1].close if 向下_转折 in val and last_close zs.zd: return 1 if 向上_转折 in val and last_close zs.zg: return -1这段逻辑的语义与 SKILL.md 中的信号约定一致价格在中枢下沿附近做多优势上沿附近做空优势。具体解读笔基础信号出现向下转折意味着可能结束下行时若最新收盘价已回落至中枢下沿zd之下说明多方在中枢支撑位附近承接返回做多信号1笔基础信号出现向上转折时若最新收盘价已冲至中枢上沿zg之上说明空方在中枢压力位附近压制返回做空信号-1其他情况返回0观望。整套引擎的输出约定为1做多-1做空0观望。做多条件还包括一买信号、三笔向上盘背、五笔类一买做空条件对应一卖信号、三笔向下盘背、五笔类一卖——而一买/一卖/三买/三卖这些信号的判定逻辑本身就依赖中枢序列见 一买一卖.md 与 三买三卖.md。八、中枢与相邻概念的关系中枢 ← 笔中枢由至少 3 笔构成笔的high/low是计算zg/zd/gg/dd的唯一输入中枢 → 买卖点一买/一卖要求趋势中至少存在两个同向中枢并出现背驰三买/三卖则要求新中枢相对前中枢发生上移/下移后回调不进入前中枢见 三买三卖.md中枢 → 背驰判断趋势是否完结取决于最后一段走势与中枢前后段的力度对比MACD 面积、价格幅度等见 一买一卖.md而中枢正是用来界定前段与后段的参照物。九、中枢判定在 Vibe-Trading 中的落地场景在 Vibe-Trading 项目中缠论技能的使用场景包括多周期形态识别chanlun技能声明支持多周期分析SKILL.md 元信息中的 description可在日线、4H 等不同频率上分别识别中枢观察大小级别中枢是否共振对应 czsc 信号函数cxt_zhong_shu_gong_zhen_V221221大小级别中枢共振多市场适用缠论仅依赖 OHLCV 数据适用于 A 股、加密货币、期货等任何有 K 线的市场SKILL.md 明确说明SKILL 中快速上手示例即以BTC-USDT日线为例多学派交叉验证在 technical_analysis_panel.yaml 的 Elliott Wave 分析师提示词中明确要求以缠论的中枢zhongshu / central pivot ranges作为波浪计数的交叉验证手段用震荡 vs 趋势延续来检验浪型归属。十、使用前提与注意事项依赖库中枢与整个缠论链路依赖czsc库SKILL 标注 v0.9.68安装命令为pip install czsc requests pandas见 SKILL.md。czsc基于纯 Python 实现可选 Rust 加速后端支持增量更新适合实时分析输入格式CZSC接受按时间正序排列的List[RawBar]每个RawBar需含symbol/id/dt/freq/open/close/high/low/vol/amount字段字段说明见 SKILL.md 的数据格式表引擎中_df_to_bars负责将 OHLCV DataFrame 转换为该格式最小数据量信号引擎要求至少 30 根 K 线才开始分析if len(bars) 30: continue见 example_signal_engine.py而中枢本身至少需要 3 笔通常对应更多 K 线数据过少时无法形成有效结构笔的确定性中枢边界完全继承自笔端点缠论去包含后 K 线不少于默认 7 根等笔规则见 笔.md决定了中枢识别的稳定性有效性与回退任何候选中枢都应先检查is_validzg zd引擎_check_zhongshu在找不到有效中枢时返回None调用方必须处理该空值分支。综合来看中枢是把笔这种微观结构抽象为区间的桥梁zg/zd/zz给出交易区间与中轴参考gg/dd反映震荡边界is_valid保证结构有效性而上移/下移/扩展/震荡四种关系则直接服务于趋势判定与买卖点定位。结合 example_signal_engine.py 的工程实现读者可以在此基础上直接复用滑窗检测、回溯上限、边界辅助信号等模式将缠论中枢快速集成到自己的量化研究管线中。【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表