
Vibe-Trading 艾略特波浪引擎实战Fibonacci 浪间关系量化验证指南【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading导读本篇技术指南以 Vibe-Trading 仓库中艾略特波浪Elliott Wave技能包的《Fibonacci 浪间关系》参考文档为核心骨架系统讲解推动浪与调整浪中关键 Fibonacci 比率关系的理论含义、常用目标值以及该仓库信号引擎如何在代码层面用这些比率做结构验证。读完本文你将掌握 0.382 / 0.618 / 1.618 等比率在 5 浪推动与 ABC 调整结构中的具体判定逻辑、容差参数fib_tolerance的调优方法并能直接运行仓库提供的 示例信号引擎 对加密货币行情生成趋势见顶 / 调整结束信号。Fibonacci 比率基础为何波浪理论依赖这些数字艾略特波浪理论假设市场以分形的波浪结构运动而 Fibonacci 序列1, 1, 2, 3, 5, 8, 13…的相邻比值收敛出的黄金分割率0.618、1.618与平方关系0.382、0.786、2.618被广泛用于量化浪与浪之间的幅度关系。Vibe-Trading 的 elliott-wave 技能包 将两类波浪结构作为分析基础结构浪数方向含义推动浪Impulse5 浪1-2-3-4-5顺趋势主趋势方向调整浪Corrective3 浪A-B-C逆趋势回调修正在结构匹配之后引擎依赖 Fibonacci 浪间关系做最后一层过滤——这是区分形似与成立的关键环节。相关的波浪结构理论可进一步参考技能包内的 波浪结构.md其中完整记录了推动浪三大铁律、五浪各自特征以及锯齿形 / 平台形 / 三角形等调整浪变体。推动浪的 Fibonacci 关系《Fibonacci 浪间关系》文档首先给出了推动浪1-2-3-4-5内部各浪之间的经典比率关系。这些关系在理论层面用于事后验证计数在 Vibe-Trading 引擎中则作为结构成立的硬性过滤条件。浪2 与浪1回撤关系常见回撤0.5、0.618浪2 通常回撤浪1 的一半以上最大回撤0.786超过 0.786 则大概率不是浪2可能是更大级别下跌的起点结合三大铁律之一浪2 不能跌破浪1 起点浪2 的回撤范围被双重约束下限看 0.5 比率上限看 100% 回撤即浪1 起点浪3 与浪1扩展关系最常见1.618 × 浪1其他1.0、2.618 × 浪1浪3 是推动浪中最具活力、通常最长的一浪因此比率目标以 1.618 为中枢极端情况下可达 2.618延长浪浪4 与浪3回撤关系常见回撤0.382其他0.236、0.5浪4 通常是推动浪中最浅的回调且与浪2 呈交替规律如浪2 急跌浪4 则横盘整理浪5 与浪1等长关系最常见等于浪1 长度1.0其他0.618、1.618 × 浪1浪5 可能失败即不超过浪3 高点称为 truncated fifth此时在趋势末端会出现动量背离调整浪的 Fibonacci 关系调整浪采用 A-B-C 三浪结构比率关系集中在 C 浪与 A 浪的长度关系、B 浪对 A 浪的回撤深度上且不同的调整浪形态对应不同的比率区间。C浪 与 A浪最常见C 浪等于 A 浪长度等长这是经典目标位其他1.618 × A 浪C 浪延长B浪回撤锯齿形Zigzag5-3-5B 浪回撤 A 浪的 0.382–0.618回撤相对浅平台形Flat3-3-5B 浪回撤 A 浪的 0.786–1.0B 浪甚至可能回到 A 浪起点附近此时 C 浪常等长于 A 浪这两组区间在 示例信号引擎 的_find_abc方法中被实现为B 浪回撤约束在0.382 ± tol至0.618 ± tolC 浪幅度约束在 A 浪的0.618 ± tol至1.618 ± tol倍——即引擎默认按锯齿形的收紧口径执行 ABC 验证宁可漏信号也不把平台形误判为锯齿形。引擎实际使用的比率表《Fibonacci 浪间关系》文档明确列出了本引擎落地使用的比率与容差参数这是工程实现与理论标准之间最重要的映射必须原样保留关系目标值容差浪2/浪10.5-0.618±15%浪3/浪11.618±15%浪4/浪30.382±15%浪5/浪11.0±15%几个关键解读容差是绝对值比例而非固定点数±15%意味着当浪3/浪1 落在1.618 × (1 − 0.15)到1.618 × (1 0.15)区间内即视为满足目标与价格绝对量级无关。浪2 的 0.5-0.618 本身就是一个区间实际判定区间为0.5 − 0.15到0.618 0.15即大约0.35到0.768同时受不破浪1 起点铁律约束。浪5 采用等长假设以 1.0 为目标值容差±15%给出0.85–1.15的判定窗口未覆盖文档理论部分的 0.618 / 1.618 备选体现了单解释优先、避免误判的简化策略。源码级实现比率如何被真正验证仓库的 example_signal_engine.py 以纯 pandas / numpy 实现了完整流水线Zigzag Swing 点检测 → 5 浪推动匹配 → ABC 调整匹配 → Fibonacci 验证。其中_check_fib_ratios方法约 L108-L148与文档表格一一对应def _check_fib_ratios(self, w1, w2, w3, w4, w5) - bool: tol self.fib_tolerance # 浪2 回撤浪1目标 0.5-0.618 r2 w2 / w1 if not (0.5 - tol r2 0.618 tol): return False # 浪3 / 浪1目标 ~1.618放宽到 1.0-2.618 r3 w3 / w1 if not (1.0 - tol r3 2.618 tol): return False # 浪4 回撤浪3目标 ~0.382放宽到 0.236-0.5 r4 w4 / w3 if not (0.236 - tol r4 0.5 tol): return False return True需要注意代码中对浪3 与浪4 的判定区间相比文档表格做了对称放宽——浪3 目标虽为 1.618实际接受1.0到2.618的完整理论区间浪4 目标 0.382实际接受0.236到0.5。这与 SKILL.md 中记录的比率约定一致同时也说明文档表格中的目标值 容差是工程默认口径源码在此之上吸收了理论的备选区间二者结合才能完整还原引擎的真实判定边界。在_find_impulse约 L173-L268中Fibonacci 验证之前还有三重前置过滤三大铁律浪2 不破浪1 起点p2[price] x[price]则剔除、浪3 不是最短推动浪wave3 wave1 and wave3 wave5则剔除、浪4 不进入浪1 区域p4[price] p1[price]则剔除每浪最少 K 线数由min_wave_bars控制通过_check_min_bars校验相邻 Swing 点间隔Fibonacci 比率最后调用_check_fib_ratios。三条过滤串行执行任一不满足即放弃该候选结构。在_find_abc约 L270-L353中ABC 结构的验证同样串联了 B 浪回撤区间0.382 ± tol至0.618 ± tol、C 浪与 A 浪比率0.618 ± tol至1.618 ± tol以及最少 K 线数检查。参数与信号约定从比率到实战配置引擎的三个核心参数定义在 SKILL.md 与SignalEngine.__init__中参数默认值说明swing_window10Swing 点检测的滚动窗口半径实际窗口为2×w1根 K 线fib_tolerance0.15Fibonacci 比率容差即文档表格中的 ±15%min_wave_bars5每浪最少 K 线数防止超短浪被误认调参建议结合源码逻辑swing_window决定 Zigzag 对局部极值的敏感度周期越小、行情越剧烈可适当下调至 5–8减少噪点日线级别 10 是保守默认值。fib_tolerance直接决定信号稀疏度调小如 0.10会显著减少误判但可能漏掉真实结构调大如 0.20会提高召回但增加假信号。从源码看调大容差等价于直接放宽上表所有判定区间的两端。min_wave_bars与数据粒度强相关1 分钟线建议调大日线可保持 5 左右。信号约定统一为1 做多long-1 做空short0 观望stand aside。具体信号语义在 SKILL.md 中定义为5 浪上升完成→ 卖出趋势见顶ABC 回调完成→ 买入调整结束浪3 进行中→ 持仓跟随趋势不产生反转信号对应到源码_find_impulse对看涨推动浪L-H-L-H-L-H 六点返回-1对看跌推动浪返回1_find_abc对看跌 ABCH-L-H-L下调结束返回1对看涨 ABCL-H-L-H上调结束返回-1。端到端运行基于 OKX 真实行情的信号生成example_signal_engine.py自带main入口与_fetch_okx数据获取函数约 L393-L426可直接拉取 OKX 日线数据并统计信号无需额外数据文件pip install pandas numpy requests python agent/src/skills/elliott-wave/example_signal_engine.py程序默认对BTC-USDT、ETH-USDT、SOL-USDT三个交易对各获取 300 根日 K 线随后engine SignalEngine() # 默认参数 swing_window10, fib_tolerance0.15, min_wave_bars5 signals engine.generate(data_map) # 输入 {code: OHLCV DataFrame}输出 {code: 信号 Series}generate方法的内部流程约 L355-L390为先对每个标的运行_find_swings生成 Zigzag 序列少于 4 个 Swing 点则整段信号置 0随后分别用_find_impulse需不少于 6 个点与_find_abc匹配两类结构并写入信号。输出示例BTC-USDT (300 根K线): 做多信号: N 个 做空信号: N 个 最近做多: 2025-xx-xx作为 Agent 技能加载使用该引擎以load_skill形式接入 Vibe-Trading 的 Agent 系统。在 technical_analysis_panel.yaml 的技术分析预设中Elliott Wave 分析师角色的定义明确要求先执行load_skill(elliott-wave)并将 SKILL.md 中记录的比率约定浪2 ≈ 0.618 浪1、浪3 ≈ 1.618/2.618 浪1、浪4 ≈ 0.382/0.236 浪3作为波浪计数的硬性参考同时输出当前计数、铁律校验、Fibonacci 目标位下一腿的 ceiling/floor/mid、备选计数与可信度评分。这意味着文档中的比率表既被代码用于信号生成也被 Agent 用于分析报告的推理约束。局限性与工程取舍SKILL.md 明确声明波浪理论高度主观自动计数往往存在多种解释。本实现的策略是最简单的有效单解释simplest effective single interpretation——宁可漏掉信号也不做错误分类。这一点在代码中有三处直接体现严格交替过滤_find_swings对连续同类型 Swing 点只保留更极端者约 L95-L104确保序列严格 L/H 交替ABC 采用锯齿形口径B 浪回撤上限固定为 0.618平台形B 浪回撤可达 0.786–1.0在默认参数下不会被判定为有效 ABC比率判定收紧与放宽并存浪2 使用文档表格的 0.5–0.618 区间浪3/浪4 则放宽到完整理论区间既保证主体结构可信又不因过严而漏掉延长浪。因此fib_tolerance的调整本质上是漏信号与误判之间的权衡旋钮在回测或实盘中建议先保持默认 0.15再依据信号质量与收益统计按 0.01 步长微调。比率表是引擎的验证后端而最终是否入场仍需结合 波浪结构.md 中的铁律、交替规律与动量背离特征综合判断。【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考