概述
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_BUY、MOMENTUM_SELL
- VELOCITY_BUY、VELOCITY_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:数据准备
- 从缓存或API加载历史K线数据
- 验证数据完整性(缺口、缺失K线)
- 将最新tick合并到当前活跃K线
- 计算技术指标(RSI、MACD、ATR、布林带等)
- 计算衍生指标(成交量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 跟踪机构行为
- 多策略组合 — 在不同品种组运行组合策略
- 风险控制 — 只开启广播,手动审核
- 市场扫描 — 监控数百个品种捕捉稀有机会
最佳实践
- 保守起步 — 初期只开启少数信号
- 交易与监控分离 — 广播列表 > 动作列表
- 必须回测 — 实盘前验证信号组合
- 监控资源 — 确保算力足够支持30+信号/品种
- 查看日志 — 统计哪些信号表现最佳
- 动态调参 — 根据市场环境调整阈值
技术要求
- 稳定的WebSocket连接用于tick流
- 足够的RAM缓存所有品种的K线
- 低延迟网络直连交易所API
- 多核CPU支持并行处理
- 持久化存储用于信号历史与分析