高频交易自动化的实时信号处理引擎

概述

MagicTradeBot 的实时信号处理引擎专为同时分析数千个交易品种而设计,具备极低延迟。 系统对每个品种运行 30+ 种不同的信号算法,将历史K线数据与实时tick更新相结合, 在盈利交易机会出现的那一刻立即捕捉。


核心架构

多品种处理流水线

机器人维持一条持续运行的处理流水线,完成以下操作:

  • 加载并缓存 每个监控品种的历史K线数据
  • 实时tick流 更新最新一根K线
  • 并行执行30+种信号算法 对每个品种
  • 根据启用配置过滤信号
  • 条件满足时触发动作(自动下单或广播)

数据流向

历史K线数据 → 缓存层 → 信号处理引擎
         ↓ ↑
实时Tick流 ──────────────────────────────┘
         ↓
信号算法(30+) → 启用过滤器 → 动作路由器
         ↓ ↓
   信号输出 ┌───────────┴───────────┐
                                    ↓ ↓
                        自动下单           广播通知
                        (在 volatility_    (在 volatility_
                         action list)       action_broadcast list)

支持的信号类型(30+)

趋势与动能信号

基础方向信号

  • UP — 检测到看涨走势
  • DOWN — 检测到看跌走势

成交量与价格行为

  • PUMP — 突然大幅上涨波动+成交量暴增
  • CRASH — 突然大幅下跌波动+成交量崩盘
  • SPIKE_PUMP — 极端向上价格刺穿(需 enable_spike_detection = true
  • SPIKE_CRASH — 极端向下价格刺穿(需 enable_spike_detection = true

反转与恢复信号

  • RECOVERY — 大跌后快速反弹
  • REVERSAL — 趋势方向确认反转
  • STOP_HUNT_RECOVERY — 猎止损后出现恢复性反弹
  • FISHER_STOP_HUNT_RECOVERY — Fisher Transform确认的恢复
  • STOP_HUNT_REVERSAL — 猎止损后出现反转
  • FISHER_STOP_HUNT_REVERSAL — Fisher Transform确认的反转

吸筹与派发

  • ACCUMULATION — 横盘中隐形买入
  • FISHER_ACCUMULATION — Fisher Transform确认的吸筹
  • DISTRIBUTION — 预示下跌趋势的派发阶段
  • FISHER_DISTRIBUTION — Fisher Transform确认的派发

突破信号

  • BREAKOUT_UP / FISHER_BREAKOUT_UP
  • BREAKOUT_DOWN / FISHER_BREAKOUT_DOWN

支撑与阻力

  • SUPPORT_ABSORPTION — 在强支撑位价格被吸收
  • RESISTANCE_ABSORPTION — 在阻力位附近价格被吸收

技术指标信号

RSI类

  • RSI_BUY — 超卖(需 enable_oversold_signal = true
  • RSI_SELL — 超买(需 enable_overbought_signal = true

成交量分析

  • VOLUME_SPIKE_BUY
  • VOLUME_SPIKE_SELL

动能与速度

  • MOMENTUM_BUYMOMENTUM_SELL
  • VELOCITY_BUYVELOCITY_SELL

ATR、布林带、MACD、背离

  • ATR_BREAKOUT_BUY / ATR_BREAKOUT_SELL
  • BB_BUY / BB_SELL
  • MACD_BUY / MACD_SELL
  • DIVERGENCE_BUY / DIVERGENCE_SELL

高级多因子信号

  • COMBINED_BUY / COMBINED_SELL
  • MTF_BUY / MTF_SELL
  • CVD_BUY / CVD_SELL
  • VWAP_BUY / VWAP_SELL
  • RS_BUY / RS_SELL
  • REGIME_BUY / REGIME_SELL
  • CHOP_BUY / CHOP_SELL
  • OFI_BUY / OFI_SELL
  • ICHIMOKU_BUY / ICHIMOKU_SELL

长期聪明钱信号

  • LONGTERM_SMART_LONG_SIGNAL
  • LONGTERM_SMART_SHORT_SIGNAL

信号处理工作流

步骤1:数据准备

  1. 从缓存或API加载历史K线数据
  2. 验证数据完整性(缺口、缺失K线)
  3. 将最新tick合并到当前活跃K线
  4. 计算技术指标(RSI、MACD、ATR、布林带等)
  5. 计算衍生指标(成交量delta、速度、动能)

步骤2:信号算法执行

引擎并行运行所有已启用的算法。每个算法分析准备好的数据集并输出带有以下字段的信号: 类型、方向、强度、时间戳、置信度分数

步骤3:信号过滤

信号在执行动作前需通过多重过滤:

  • 启用检查 — 信号必须在配置中开启(例如 SPIKE_CRASH 需要 enable_spike_detection
  • 波动动作过滤器 — 匹配 supported_volatility_action 才会自动下单
  • 广播过滤器 — 匹配 supported_volatility_action_broadcast 才会发送通知

步骤4:动作执行

自动下单

如果 signal.type 在 supported_volatility_action 中:
    → 根据信号方向下单
    → 应用风险管理规则
    → 记录订单详情

信号广播

如果 signal.type 在 supported_volatility_action_broadcast 中:
    → 格式化信号数据
    → 发送至 Discord / Telegram / WhatsApp 等频道

配置示例

# 自动下单触发器
supported_volatility_action:
  - "BUY"
  - "SELL"
  - "PUMP"
  - "CRASH"
# 广播通知触发器(范围更广,用于监控)
supported_volatility_action_broadcast:
  - "BUY"
  - "SELL"
  - "PUMP"
  - "CRASH"
  - "OFI_BUY"
  - "OFI_SELL"
  - "VOLUME_SPIKE_BUY"
  - "VOLUME_SPIKE_SELL"
  - "DIVERGENCE_BUY"
  - "DIVERGENCE_SELL"

注意: 修改信号设置后,请重新同步品种(从 symbols.json 中删除后重新导入)。仅监控不自动交易时,建议广播列表比动作列表更宽松。


性能特性

零延迟设计

  • 内存缓存大幅减少API调用
  • tick流仅更新当前活跃K线
  • 品种与算法完全并行处理
  • 优化计算,复用中间值

可扩展性

  • 同时处理数千个品种
  • 每个品种30+算法毫秒级完成
  • 支持同一品种多时间框架
  • 可通过额外节点水平扩展

可靠性

  • 容错设计 — 单个信号失败不影响整体运行
  • 处理前数据完整性校验
  • 优雅降级 — 自动跳过异常品种
  • 详细错误日志便于调试

使用场景

  • 高频交易 — 使用 SPIKE、PUMP、CRASH 实现闪电进出
  • 跟随聪明钱 — 通过 LONGTERM_SMART 跟踪机构行为
  • 多策略组合 — 在不同品种组运行组合策略
  • 风险控制 — 只开启广播,手动审核
  • 市场扫描 — 监控数百个品种捕捉稀有机会

最佳实践

  1. 保守起步 — 初期只开启少数信号
  2. 交易与监控分离 — 广播列表 > 动作列表
  3. 必须回测 — 实盘前验证信号组合
  4. 监控资源 — 确保算力足够支持30+信号/品种
  5. 查看日志 — 统计哪些信号表现最佳
  6. 动态调参 — 根据市场环境调整阈值

技术要求

  • 稳定的WebSocket连接用于tick流
  • 足够的RAM缓存所有品种的K线
  • 低延迟网络直连交易所API
  • 多核CPU支持并行处理
  • 持久化存储用于信号历史与分析

📎 Related Topics