d38782490c581c5e4242669ff25e79d177576dfd
删除 HyperLiquid + 全部交易功能,构建自适应 surge 检测器。 - 新增 surge_detector.go: 每币独立滚动窗口基线,检测三所价差异常飙升 - 新增 SpreadCard/SurgeCard 前端组件 - 保留 momentum/trend/cumulative/trend_filter 扫描功能 - 更新文档和配置以反映新系统 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
三所价差异动监控
Binance + OKX + Bitget 三交易所价差异动实时检测系统。通过追踪不同交易所之间的价差异常,捕捉币价「启动」的瞬间。
功能特点
- 三所价差扫描 — 实时计算 Binance/OKX/Bitget 之间的最大价差,按价差排序展示
- 自适应 Surge 检测 — 每个币维护独立的滚动窗口基线,检测价差异常飙升
- 方向判断 — 根据领先交易所判断上涨/下跌启动方向
- 动量扫描 — 多时间窗口 (1s/5s/15s/60s) 价格变动率追踪
- 趋势检测 — 跨交易所一致性确认的趋势状态机 (idle→alert→confirmed→exhausting)
- 累积变动 — 1m/5m/1h 多交易所共识变动追踪
- 趋势过滤 — K 线数据 + EMA52 趋势过滤,识别安静后的异动
- Web 仪表盘 — Go 内置 HTTP Server + Vite React 前端,SSE 实时推送
- SQLite 持久化 — Surge 事件、累积变动事件全量存储
架构
┌─────────────────────────────────────────────────┐
│ Exchange WS (Bitget + Binance + OKX) │
│ ↓ 价格推送 │
│ PriceStore ← 内存价格存储 │
│ ↓ │
│ scanner.go ← 三所价差扫描 │
│ ↓ │
│ surge_detector.go ← 自适应Surge检测 │
│ momentum.go ← 动量扫描 │
│ trend.go ← 趋势检测 │
│ cumulative.go ← 累积变动追踪 │
│ trend_filter.go ← K线趋势过滤 │
│ ↓ SSE 推送 │
│ dashboard.go ← HTTP Server :8888 │
│ ↓ │
│ frontend/ ← Vite + React 仪表盘 │
└─────────────────────────────────────────────────┘
快速开始
1. 配置
编辑 config.json:
{
"arb_threshold": 0.3,
"scan_interval_ms": 200,
"alert_cooldown_sec": 300,
"surge_enabled": true,
"surge_window_size": 600,
"surge_baseline_multiplier": 3.0,
"surge_min_abs_spread_pct": 0.05,
"surge_cooldown_sec": 60,
"momentum_enabled": true,
"momentum_threshold_pct": 0.25,
"trend_enabled": true,
"trend_baseline_window": 600,
"trend_anomaly_mul": 3.0,
"trend_confirm_ticks": 3,
"trend_alert_cooldown_ms": 60000
}
环境变量 (.env):
BITGET_API_KEY,BITGET_API_SECRET,BITGET_PASSPHRASE— Bitget APIBINANCE_API_KEY,BINANCE_API_SECRET— Binance API (可选,用于K线)HTTPS_PROXY— 网络代理 (国内环境需要)
2. 启动
# 一键启动(自动清理旧进程 + 编译 + 运行)
bash start.sh
# 清空数据库 + 启动
bash start.sh --clean
# 强制重新编译 + 启动
bash start.sh --rebuild
仪表盘地址:http://localhost:8888
3. 前端开发
cd frontend
npm install
npm run dev # 开发模式 (Vite HMR :5173)
npm run build # 构建生产版本
配置参数
| 参数 | 说明 | 默认 |
|---|---|---|
surge_enabled |
启用 Surge 检测 | true |
surge_window_size |
滚动窗口样本数 | 600 |
surge_baseline_multiplier |
基线倍数(阈值 = 基线 × N) | 3.0 |
surge_min_abs_spread_pct |
最小绝对价差 % | 0.05 |
surge_cooldown_sec |
同币冷却秒数 | 60 |
momentum_enabled |
启用动量扫描 | true |
trend_enabled |
启用趋势检测 | true |
trend_baseline_window |
趋势基线窗口 | 600 |
trend_anomaly_mul |
异常检测倍数 | 3.0 |
trend_confirm_ticks |
确认所需次数 | 3 |
数据库
SQLite (data/trades.db),核心表:
| 表 | 说明 |
|---|---|
surge_events |
Surge 异动事件 — 币种、价格、价差、方向、领先交易所 |
cm_events |
累积变动事件 — 1m/5m/1h 多所共识变动 |
trend_events |
趋势状态变迁 — idle→alert→confirmed→exhausting 全生命周期 |
trend_signals |
趋势过滤信号 — K 线安静 + EMA 异动信号记录 |
Languages
Go
73.6%
JavaScript
20.2%
CSS
4.6%
Shell
1.1%
HTML
0.5%