feat: 添加OKX行情接入+趋势检测+累积变动系统+界面重构

- 新增OKX WebSocket行情连接器,扩展4交易所价格监控
- 新增z-score趋势检测引擎(TrendDetector),识别价格异动/趋势启动
- 新增累积变动跟踪(CumulativeTracker),基于1min/5min多交易所共识
- 趋势事件和累积变动事件持久化到SQLite
- 新增Binance/OKX动量检测字段,扩展前端动量卡片至15列
- 迁移至macOS(darwin-arm64),更新前端依赖
- Dashboard网格重构:非交易卡片置顶,交易卡片置底
- TrackedCoin添加OK字段,添加ExBinance/ExOKX常量
- 前端新增趋势检测卡片、趋势历史卡片、累积变动卡片

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
jackyu66git
2026-05-06 13:26:05 +08:00
co-authored by Claude Opus 4.6
parent 047571921e
commit b7767c95ae
24 changed files with 2705 additions and 273 deletions
+42
View File
@@ -108,6 +108,48 @@ func (d *DB) migrate() error {
created_at DATETIME NOT NULL
);
CREATE INDEX IF NOT EXISTS idx_system_orders_trade ON system_orders(trade_id);
CREATE TABLE IF NOT EXISTS trend_events (
id INTEGER PRIMARY KEY AUTOINCREMENT,
coin TEXT NOT NULL,
prev_state TEXT NOT NULL,
new_state TEXT NOT NULL,
direction TEXT NOT NULL,
z_score REAL,
volatility REAL,
bg_change REAL,
hl_change REAL,
bn_change REAL,
okx_change REAL,
ex_agree INTEGER,
ex_total INTEGER,
created_at DATETIME NOT NULL
);
CREATE INDEX IF NOT EXISTS idx_trend_events_coin ON trend_events(coin);
CREATE INDEX IF NOT EXISTS idx_trend_events_created ON trend_events(created_at);
CREATE TABLE IF NOT EXISTS cm_events (
id INTEGER PRIMARY KEY AUTOINCREMENT,
coin TEXT NOT NULL,
prev_state TEXT NOT NULL,
new_state TEXT NOT NULL,
direction TEXT NOT NULL,
score REAL,
avg_change REAL,
ex_agree INTEGER,
ex_total INTEGER,
bg_1m REAL,
hl_1m REAL,
bn_1m REAL,
okx_1m REAL,
bg_5m REAL,
hl_5m REAL,
bn_5m REAL,
okx_5m REAL,
created_at DATETIME NOT NULL
);
CREATE INDEX IF NOT EXISTS idx_cm_events_coin ON cm_events(coin);
CREATE INDEX IF NOT EXISTS idx_cm_events_created ON cm_events(created_at);
`
_, err := d.Exec(schema)
if err != nil {