ARTICLE DETAIL

资讯详情

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

Vibe-Trading 一目均衡表(Ichimoku Kinko Hyo)五线信号引擎实战指南

Vibe-Trading 一目均衡表(Ichimoku Kinko Hyo)五线信号引擎实战指南 Vibe-Trading 一目均衡表Ichimoku Kinko Hyo五线信号引擎实战指南【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading本文以 Vibe-Trading 开源仓库内置的ichimoku技能为骨架完整讲解一目均衡表五线系统的数学定义、TK 交叉信号与三重过滤逻辑、参数调优方法并结合仓库中的纯 pandas 信号引擎源码与多智能体技术分析面板的编排方式说明如何在 Agent 交易系统中落地这一日式趋势分析体系。读完本文你将能复现 78 根 K 线预热、可配置参数的信号引擎并理解其作为独立策略技能与经典 TA、谐波、波浪、SMC 并列聚合的定位。一、技能定位独立的日式技术分析流派在 Vibe-Trading 的 Agent 技能体系中ichimoku被定义为category: strategy的策略型技能其元信息描述为基于 Tenkan/Kijun 交叉、云带位置与 Chikou 确认生成交易信号的独立日式技术分析学派采用纯 pandas 实现、不依赖任何外部技术分析库见 agent/src/skills/ichimoku/SKILL.md。它与通常只关心价格与均线的西方技术分析不同一目均衡表是一套把价格、时间、动量融于一体的完整结构——五条线各司其职转换线感知短期趋势、基准线锚定中期趋势、先行带 A/B 构筑未来 26 根 K 线的云带支撑压力、迟行带回望确认趋势延续性。在 technical_analysis_panel.yaml 中ichimoku被注册为名为ichimoku_analyst的分析 Agent其任务task-ichimoku是对目标标的在给定周期下完成云带、TK、Chikou、时间理论的全方位研判并与经典 TA、谐波形态、波浪理论、SMC 五个学派并行分析后交由signal_aggregator聚合共振结论——这构成了 Vibe-Trading 中多技术学派投票的多智能体工作流。技能文档通过load_skill(ichimoku)在运行期按需加载其加载机制实现在 agent/src/tools/load_skill_tool.py 与 agent/src/agent/skills.py。二、五线系统数学定义与行情含义一目均衡表的全部计算仅依赖最高价H、最低价L与收盘价C仓库文档将五条线整理为如下对照表线名日文原名计算公式行情含义转换线Tenkan-sen(9H9L)/2短期趋势基准线Kijun-sen(26H26L)/2中期趋势先行带 ASenkou Span A(TenkanKijun)/2 向前平移 26 根云带上边界先行带 BSenkou Span B(52H52L)/2 向前平移 26 根云带下边界迟行带Chikou Span收盘价向后平移 26 根趋势确认从源码实现看转换线与基准线本质上是 Donchian 通道中线回看窗口内最高价与最低价的均值。在 example_signal_engine.py 中这一计算被封装为_donchian_mid方法一条滚动表达式即可完成def _donchian_mid(self, high: pd.Series, low: pd.Series, period: int) - pd.Series: return (high.rolling(period).max() low.rolling(period).min()) / 2五线的生成顺序如下与源码generate方法中的实现一致tenkan _donchian_mid(high, low, tenkan_period)默认 9 根窗口kijun _donchian_mid(high, low, kijun_period)默认 26 根窗口span_a ((tenkan kijun) / 2).shift(displacement)即先行带 A 取转换线/基准线中点后前移 26 根shift正值将序列向未来平移形成先行效果span_b _donchian_mid(high, low, senkou_b_period).shift(displacement)先行带 B 取 52 根窗口的 Donchian 中线并前移 26 根Chikou 为close.shift(-displacement)收盘价后移 26 根源码中注释标明不参与信号计算——迟行带在仓库的信号引擎里仅作为视觉确认要素不进入买/卖判定。云带由先行带 A 与 B 围合而成行情中的支撑/压力语义如下厚云A 与 B 间距大强支撑/压力区价格突破难度高薄云A 与 B 间距小更容易被穿透上行云A B云带呈多头方向下行云A B云带呈空头方向。三、信号逻辑TK 交叉触发与三重过滤文档明确了该技能的信号纪律只在转换线/基准线TK交叉事件发生时触发信号其余时刻一律观望且信号需同时通过三重过滤强买入Strong buyTK 金叉Tenkan 上穿 Kijun 价格位于云带上方 云带多头A B强卖出Strong sellTK 死叉Tenkan 下穿 Kijun 价格位于云带下方 云带空头A B其余所有情况 → 观望stand aside。源码中三重过滤的实现精确对应上述规则example_signal_engine.py# --- TK 交叉检测 --- tk_cross_up (tenkan kijun) (tenkan.shift(1) kijun.shift(1)) tk_cross_down (tenkan kijun) (tenkan.shift(1) kijun.shift(1)) # --- 云带位置 --- 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 # --- 三重过滤信号 --- 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要求当前根 K 线 Tenkan 严格大于 Kijun同时前一根满足 Tenkan Kijun从而只捕获真正的穿越瞬间避免连续持仓期内重复触发tk_cross_down对称定义。云带边界的量化cloud_top/cloud_bottom通过按行取 A、B 的最大/最小值得到价格严格高于云顶才算在云上严格低于云底才算在云下而价格落在云带内部时两种过滤都不成立天然归于观望——这与文档inside chop云内震荡的定性完全吻合。信号编码最终信号为买入布尔序列减卖出布尔序列同一根 K 线上买/卖互斥结果严格落在{-1, 0, 1}三值集合。四、预热期Warm-up要求一目均衡表的每个指标都需要前置数据窗口其中先行带 B 的 52 根窗口与 26 根的平移位移共同决定了最小数据需求。文档明确规定预热需要 78 根 K 线52 26。源码中这一约束以warmup self.senkou_b_period self.displacement的形式计算默认即 52 26 78并在generate方法中对每个标的数据做防御性校验warmup self.senkou_b_period self.displacement ... if len(df) warmup: result[symbol] signal # 数据不足时直接返回全 0 观望序列 continue这意味着当标的的 K 线数量不足 78 根时引擎不会抛出异常而是返回全零信号全程观望保证批量处理多标的时流程不中断。使用提示拉取日线数据时建议至少请求 100 根以上如仓库示例中的limit300留出充足预热余量。五、参数体系与调优方向文档给出引擎的四个可配置参数及其默认值参数默认值说明tenkan_period9转换线Tenkan-sen回看周期kijun_period26基准线Kijun-sen回看周期senkou_b_period52先行带 BSenkou Span B回看周期displacement26先行带/迟行带的前移、后移周期这些参数在 SignalEngine 构造函数 中作为带默认值的入参暴露可直接实例化自定义engine SignalEngine() # 全部默认 9/26/52/26 engine SignalEngine(tenkan_period5, displacement13) # 缩短敏感周期的变体从实现机理可以推断以下调优方向缩短tenkan_period如 5转换线对短期波动更敏感交叉信号增多、更快但假信号概率上升displacement与kijun_period联动若要改变信号的滞后特性应保持位移与基准线周期一致经典的 26/26 配对否则云带与迟行带的时间锚点会发生错位注意联动约束warmup由senkou_b_period displacement决定调大任一参数都会拉长预热所需数据量需同步保证喂入足够 K 线。六、依赖与运行环境技能文档声明的运行依赖极简仅需标准科学计算栈pip install pandas numpy requests其中pandas承担全部滚动窗口与平移计算numpy用于底层数值运算requests仅在示例脚本中用于从 OKX 拉取行情。整个信号引擎不依赖 TA-Lib、pandas-ta 等第三方技术分析库——这是一目均衡表纯 pandas 实现的核心卖点任何装有 pandas 的环境都能直接运行且每一条线的计算过程对开发者完全透明、可审计。七、开箱即用的完整示例从 OKX 行情到信号统计仓库自带的可执行脚本 example_signal_engine.py 演示了一条完整链路拉取行情 → 批量生成信号 → 输出统计。其__main__部分默认对BTC-USDT、ETH-USDT、SOL-USDT三个交易对执行日线分析symbols [BTC-USDT, ETH-USDT, SOL-USDT] data_map {} for sym in symbols: print(f获取 {sym} 数据...) data_map[sym] _fetch_okx(sym, bar1D, limit300) engine SignalEngine() signals engine.generate(data_map) for sym in symbols: sig signals[sym] buys sig[sig 1] sells sig[sig -1] print(f{sym} ({len(data_map[sym])} 根K线):) print(f 做多信号: {len(buys)} 个) print(f 做空信号: {len(sells)} 个) if len(buys) 0: print(f 最近做多: {buys.index[-1]:%Y-%m-%d}) if len(sells) 0: print(f 最近做空: {sells.index[-1]:%Y-%m-%d})行情获取函数_fetch_okxexample_signal_engine.py封装了 OKX/api/v5/market/candles接口的调用、时间戳转 datetime 索引、字符串价格转浮点等处理返回标准的 OHLCV DataFrame含open/high/low/close/volume列index 为 datetime与generate方法的输入约定直接对接。generate的输入输出契约是标的代码 → DataFrame的映射signals engine.generate({BTC-USDT: df}) signals[BTC-USDT].value_counts()输出同样为标的代码 → 信号序列的映射信号序列取值遵循仓库统一的信号约定1 做多long、-1 做空short、0 观望stand aside该约定贯穿 Vibe-Trading 全部策略技能便于下游回测引擎与聚合器直接消费。八、在 Vibe-Trading 多智能体工作流中的接入方式ichimoku技能并非孤立的单机脚本而是 Vibe-Trading 多智能体技术分析面板的一等公民。在 technical_analysis_panel.yaml 中可以看到其完整的 Agent 化封装角色定义ichimoku_analyst定位为资深一目均衡表分析师覆盖云带结构、Tenkan/Kijun、Chikou 确认与时间理论9/17/26/33/65 关键计数技能注册skills: [ichimoku]并在 system prompt 中要求Use load_skill(ichimoku)以按需加载完整方法论文档工具权限bash允许在 bash 中按 9/26/52 窗口自行计算五线、read_file/write_file、load_skill、get_market_data、technical_indicators硬性约束五条线必须由get_market_data拉取的 K 线实际计算得出云带边界与量化后的支撑/压力位是计算的输出而非估计值若拿不到 K 线则明确报告分析不可用——这条纪律与 agent/src/agent/grounding.py 中的 grounding 校验体系相呼应防止 Agent 编造行情数据。在编排层面task-ichimokuIchimoku on {target} at {timeframe}: cloud, TK, Chikou, time theory与经典 TA、谐波、波浪、SMC 四个任务并行执行随后由task-aggregate收集五派结论做共振研判与最终裁定。每个分析 Agent 的标准产出包括方向判断与置信度、云带颜色/厚度/价格位置、TK 关系与近期交叉、Chikou 确认强度、时间投射的下一个关键日期、五要素价格/转换线/基准线/迟行带/云带共振状态以及带权重拆解的 −5 到 5 Ichimoku 评分。这意味着开发者可以有两种接入路径轻量路径——直接调用SignalEngine类批量生成三值信号并喂给回测引擎Agent 路径——将ichimoku技能挂载到 swarm preset 的分析 Agent 上让大模型在 grounded 的 K 线数据基础上输出结构化的五线研判报告。两种路径共享同一套 9/26/52/26 计算内核与{1, 0, -1}信号约定。九、源码阅读路线图如需深入理解或二次开发建议按以下顺序阅读仓库文件agent/src/skills/ichimoku/SKILL.md——技能声明、五线定义、信号纪律与参数契约本文的文档骨架agent/src/skills/ichimoku/example_signal_engine.py——Donchian 中线、五线平移、TK 交叉与三重过滤的完整实现以及 OKX 行情拉取示例agent/src/swarm/presets/technical_analysis_panel.yaml——ichimoku_analyst角色提示词、工具权限、任务依赖与五派聚合编排agent/src/tools/load_skill_tool.py 与 agent/src/agent/skills.py——技能文档的按需加载与分页读取机制agent/src/agent/grounding.py——Agent 输出与 K 线数据的 grounding 校验理解云带边界是计算输出而非估计的纪律如何被强制。结语一目均衡表的价值在于用一组窗口9/26/52同时刻画价格、时间与动量三个维度而 Vibe-Trading 的ichimoku技能将其收敛为一条可复现、可审计、可配置的纯 pandas 信号管线TK 交叉负责触发、云带位置与方向负责过滤、78 根预热与全零兜底负责鲁棒性。无论你是想在回测中单独使用SignalEngine还是把它接入五派共振的多智能体面板仓库中的文档、源码与 preset 三者已构成一份自洽完整的参考实现。【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表