
Vibe-Trading 一目均衡表五线计算详解从指标公式到信号引擎实战【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading一目均衡表Ichimoku Kinko Hyo是日本技术分析学派中自成体系的完整趋势评估框架它以五条线转换线、基准线、先行带A、先行带B、迟行线和由先行带围合而成的云带Kumo为核心把价格趋势、动量与时间周期统一到同一张图表中。本指南以 Vibe-Trading 仓库中的 五线计算参考文档 为骨架结合同目录下的 信号系统参考文档 与 示例信号引擎源码完整讲解五条线的数学定义、云带的判读方法以及 Vibe-Trading 中基于 TK 交叉与三重过滤的纯 pandas 信号引擎实现。读完本文你将掌握五线的逐行计算公式、各参数周期含义、云带多空判读并能直接运行仓库自带的 OKX 行情信号示例。一目均衡表的五线体系Vibe-Trading 将一目均衡表定位为一套standalone Japanese technical-analysis framework独立日本技术分析框架五条线各司其职共同构成对趋势的完整评估。五条线的核心定义如下表线名日文计算公式含义转换线Tenkan-sen(9周期最高 9周期最低) / 2短期趋势基准线Kijun-sen(26周期最高 26周期最低) / 2中期趋势先行带ASenkou Span A(转换线 基准线) / 2前移26周期云带上沿先行带BSenkou Span B(52周期最高 52周期最低) / 2前移26周期云带下沿迟行线Chikou Span收盘价后移26周期绘制趋势确认转换线Tenkan-sen短期的价格中点转换线是五线中最灵敏的一条其公式为tenkan (highest_high(9) lowest_low(9)) / 2其中highest_high(9)为最近 9 根K线的最高价最大值lowest_low(9)为最近 9 根K线的最低价最小值。它反映的是短期约2周交易日的价格中点本质上是周期为 9 的 Donchian 通道中线。在仓库源码 example_signal_engine.py 中这一计算被抽象为通用的_donchian_mid辅助方法用 pandas 一行实现def _donchian_mid(self, high: pd.Series, low: pd.Series, period: int) - pd.Series: return (high.rolling(period).max() low.rolling(period).min()) / 2可以看到转换线计算只需传入tenkan_period9即可复用同一函数这也保证了后续所有 Donchian 中线类指标实现的一致性与可测试性。基准线Kijun-sen中期的均衡点基准线公式kijun (highest_high(26) lowest_low(26)) / 2它取最近 26 根K线的价格中点反映中期约1个月价格中点。文档特别强调基准线也是价格的**均衡点**——在实际盘面中价格回踩基准线常被视为重要的支撑/阻力参考。从 swarm 面板配置 的 Ichimoku 分析师指令中也可以看到Price re-tests of Kijun as S/R价格回测基准线视为支撑/阻力是五要素判读中的重要一环。先行带ASenkou Span A云带上沿先行带A是转换线与基准线的简单平均再前移26周期绘制span_a (tenkan kijun) / 2 # 前移26周期由于它由快慢两线均值构成本身融合了短期与中期信息前移 26 周期意味着它被画在未来用于提前呈现当前价格区间对应的支撑/阻力前景。先行带BSenkou Span B云带下沿先行带B是更长周期52的 Donchian 中线同样前移 26 周期span_b (highest_high(52) lowest_low(52)) / 2 # 前移26周期52 周期大约对应一个季度约3个月的交易日因此先行带B反映的是更长期的价格均衡区间通常比先行带A更平滑、更滞后。迟行线Chikou Span趋势确认线迟行线最为直观——它就是把当前收盘价后移26周期绘制chikou close # 后移26周期绘制迟行线的用途是确认趋势当迟行线位于当前价格上方时表明过去 26 周期前价格持续走强为多头确认位于下方则为空头确认。在 example_signal_engine.py 中源码注释给出了其 pandas 实现方式close.shift(-self.displacement)并注明不参与信号计算——迟行线在 Vibe-Trading 的信号引擎中只作为确认要素存在不直接进入买卖触发逻辑。云带Kumo先行带之间的多空战场先行带A与先行带B之间的区域称为云带Kumo。云的形状直接决定了趋势判读的方向性A B看涨云通常绘制为绿色价格位于云上方时趋势看多A B看跌云通常绘制为红色价格位于云下方时趋势看空云带厚度反映支撑/阻力强度——云越厚代表该区域的均衡区间越宽被突破的难度越大。从源码实现看example_signal_engine.py 对云的处理值得注意由于先行带 A、B 分别前移了 26 周期源码用pd.concat对两条先行带逐行取最大/最小值来构造云的上沿与下沿cloud_top pd.concat([span_a, span_b], axis1).max(axis1) cloud_bottom pd.concat([span_a, span_b], axis1).min(axis1) above_cloud close cloud_top below_cloud close cloud_bottom bullish_cloud span_a span_b bearish_cloud span_a span_b其中above_cloud/below_cloud判断价格与云的相对位置bullish_cloud/bearish_cloud判断云自身的方向——这两组布尔序列正是三重过滤中后两道过滤器的基础。从五线到交易信号TK 交叉与三重过滤五线本身是结构描述而 Vibe-Trading 的一目均衡表技能见 SKILL.md把它落地为一套完整的信号生成体系。信号只在 TK 交叉事件发生时触发并叠加三重过滤。TK 交叉核心信号转换线T与基准线K的交叉是信号触发的唯一扳机金叉看涨——转换线从下方穿越基准线按交叉发生位置分档强金叉交叉发生在云带上方中金叉交叉发生在云带内部弱金叉交叉发生在云带下方。死叉看跌——转换线从上方穿越基准线同理按位置分档强死叉交叉发生在云带下方中死叉交叉发生在云带内部弱死叉交叉发生在云带上方。交叉本身只能说明短期动能相对中期的转变其强弱取决于所处云位因此在信号引擎里交叉还必须与下面两道过滤配合。三重过滤为提升信号质量引擎对每一个 TK 交叉事件施加三重过滤参见 信号系统参考文档TK 交叉作为触发条件第一道闸门价格与云的关系价格在云上方偏多在云下方偏空方向确认云的方向先行带A B 为看涨云A B 为看跌云趋势确认。三个条件必须全部一致才会产生信号否则一律观望。对应到 SKILL.md 中的信号约定强买入Strong buy看涨 TK 交叉 价格位于云上方 看涨云A B强卖出Strong sell看跌 TK 交叉 价格位于云下方 看跌云A B其余所有情况观望stand aside。信号值采用统一约定1 做多-1 做空0 观望。源码中的信号生成逻辑example_signal_engine.py 的SignalEngine.generate方法把上述规则翻译成了纯 pandas 向量化实现# --- TK 交叉检测 --- tk_cross_up (tenkan kijun) (tenkan.shift(1) kijun.shift(1)) tk_cross_down (tenkan kijun) (tenkan.shift(1) kijun.shift(1)) # --- 三重过滤信号 --- buy tk_cross_up above_cloud bullish_cloud sell tk_cross_down below_cloud bearish_cloud signal buy.astype(int) - sell.astype(int)tk_cross_up通过当前周期 tenkan kijun 且上一周期 tenkan kijun精确捕捉金叉发生的那一根K线死叉同理随后用布尔与运算一次性完成三重过滤buy.astype(int) - sell.astype(int)把信号压缩为 1 / -1 / 0。整套实现不依赖任何外部技术分析库仅需 pandas 即可运行依赖清单见 SKILL.md为pip install pandas numpy requests其中requests仅用于示例中从 OKX 拉取行情。预热要求为什么需要 78 根K线一目均衡表的各条线周期不同、位移不同因此信号引擎存在硬性的预热warm-up要求至少需要78 根K线才能产生有效信号。这个数字的来源在 信号系统参考文档 中解释得很清楚52 周期计算先行带B的最长回看窗口 26 周期位移。源码 example_signal_engine.py 将其落实为运行时校验warmup self.senkou_b_period self.displacement for symbol, df in data_map.items(): signal pd.Series(0, indexdf.index, dtypeint) if len(df) warmup: result[symbol] signal continue数据不足 78 根K线的标的会直接返回全 0 信号即全程观望而不是产生残缺或误导性的结果。这意味着在实际使用中日线、小时线等任何周期的数据回看窗口都应至少覆盖 78 根才能让云带完整前移并得到可靠的交叉判定。参数与默认值SignalEngine构造函数暴露了全部四个核心参数默认值与一目均衡表的经典周期设定完全一致参数默认值作用tenkan_period9转换线回看周期kijun_period26基准线回看周期senkou_b_period52先行带B回看周期displacement26先行带前移 / 迟行线后移周期在 example_signal_engine.py 中这四个参数在__init__中被逐一保存为实例属性generate方法内部通过self.tenkan_period等引用它们。参数化设计意味着你可以针对不同市场调整周期例如短线交易者缩短 tenkan 周期以提高灵敏度但需要注意预热窗口warmup senkou_b_period displacement会随参数同步变化调整senkou_b_period或displacement时必须同步增加数据回看长度。实战运行用 OKX 行情生成 BTC / ETH / SOL 信号仓库在 example_signal_engine.py 中提供了可直接运行的完整示例从 OKX 公开 API 拉取日线K线送入SignalEngine生成信号并统计。数据获取部分通过 OKXGET /api/v5/market/candles接口实现拉取instId如BTC-USDT、bar默认1D、limit默认 300 根三个参数随后把 API 返回的时间戳毫秒值转换为 pandas datetime 索引并把open/high/low/close转为浮点类型构造标准的 OHLCV DataFrame。示例入口example_signal_engine.py的流程为依次获取BTC-USDT、ETH-USDT、SOL-USDT三个标的各 300 根日线用默认参数构造SignalEngine()调用engine.generate(data_map)得到每个标的的信号序列统计每个标的的做多/做空信号数量并打印最近一次信号发生的日期。将脚本置于agent/src/skills/ichimoku/目录下直接运行python example_signal_engine.py即可看到类似 一目均衡表信号引擎 的三标的信号统计输出。也可以在其他行情源上复用同一套逻辑——generate的输入约定非常明确Dict[str, pd.DataFrame]映射DataFrame 需包含open/high/low/close四列且 index 为 datetime任何满足该约定的 OHLCV 数据如 Vibe-Trading 的行情加载体系所提供的数据都可直接接入。在 Vibe-Trading 中的定位与扩展一目均衡表技能在 Vibe-Trading 中不是孤立的指标工具而是技术分析能力矩阵的一员。从 agent/SKILL.md 的能力清单可以看到技术分析方向涵盖 candlestickK线、Elliott wave波浪、Ichimoku、SMC、harmonic谐波、chanlun缠论等多个学派。更值得注意的是 swarm 面板配置 中的用法面板内设有一位专门的Ichimoku Analyst智能体角色其指令明确要求使用load_skill(ichimoku)加载本技能并按五要素完成完整判读云带KumoSenkou Span A (TenkanKijun)/2 前移 26Senkou Span B (52周期高低点)/2 前移 26云带内 A 穿越 BKumo twist视为潜在的市场制度切换信号转换线 / 基准线Tenkan (9高9低)/2 为短期趋势Kijun (26高26低)/2 为中期趋势价格回踩 Kijun 视为支撑/阻力迟行线Chikou高于 26 根前的价格为多头确认低于则为空头确认同时观察 Chikou 与云的交叉五要素共振价格 / Tenkan / Kijun / Chikou / 云的排列一致性Ichimoku 评分以 −5 到 5 的数值化打分呈现方向与置信度。此外该面板让 Ichimoku、经典技术指标、谐波、波浪、SMC 等分析并行运行再由信号聚合器对共识与共振进行加权计分。这与本文所讲的五线计算一脉相承五线是计算层TK 交叉与三重过滤是信号层而 swarm 面板则把它们提升为多智能体协作判读层。结语一目均衡表的五线计算并不复杂——三条 Donchian 中线9/26/52、一条均值先行带A、一条收盘价位移线迟行线加上统一的前移/后移 26 周期位移就构成了整套框架的数学基础。但真正的价值在于围绕这五条线的系统性判读TK 交叉找时机云带位置定方向云带方向定趋势迟行线做确认。Vibe-Trading 的 示例信号引擎 用不到百行纯 pandas 代码就把这套逻辑完整落地并且通过 78 根K线的预热校验与参数化设计保证了信号在不同市场、不同周期上的可用性。无论是想快速理解五线公式、直接复用信号引擎还是在 swarm 中扮演 Ichimoku 分析师本仓库中的 五线计算文档、信号系统文档、SKILL.md 与示例源码都是最直接的参考起点。【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考