root
|
cc1b2c33c1
|
fix: 测试网STOP_MARKET降级为STOP限价单
测试网不支持STOP_MARKET/TAKE_PROFIT_MARKET order type
检测TRADE_ENV=testnet时自动降级:
- STOP_MARKET → STOP + price + GTC
- TAKE_PROFIT_MARKET → TAKE_PROFIT + price + GTC
实盘(mainnet)不受影响
|
2026-03-02 10:34:04 +00:00 |
|
root
|
1bf880cebb
|
chore: 三个实盘模块加dotenv加载.env
live_executor/position_sync/risk_guard启动时自动加载backend/.env
确保TRADE_ENV/BINANCE_API_KEY/SECRET_KEY/PG_HOST等环境变量生效
|
2026-03-02 10:28:39 +00:00 |
|
root
|
22d06efafe
|
feat: 信号新鲜度保护 — 超过2秒弃仓
- execute_entry最前面检查signal_age = now - signal_ts
- >2000ms直接return None,不开仓
- 写warn级别event到live_events(含age_ms和score)
- 正常NOTIFY链路<100ms,超2秒说明有异常
|
2026-03-02 10:26:22 +00:00 |
|
root
|
d7788d3766
|
feat: L7事件流 — live_events表+API+前端+三模块事件写入
DB:
- live_events表(id/ts/level/category/symbol/message/detail)
后端:
- GET /api/live/events?limit=30&level=all|critical|warn|info&category=all|trade|risk
- log_live_event() 异步辅助函数
事件源:
- live_executor: 开仓成功写event(trade/info, 含滑点/score)
- position_sync: 平仓写event(trade, 含PnL拆解)
- risk_guard: 熔断/禁仓/恢复写event(risk/critical|warn|info)
前端L7:
- 5秒轮询, 最近30条事件
- 按级别筛选(全部/严重/警告/信息)
- 彩色分类标签(trade绿/risk红/system灰/reconciliation紫)
- 时间线布局, 最大高度56带滚动
|
2026-03-02 10:22:40 +00:00 |
|
root
|
fe754cf628
|
feat: live_executor开仓前检查risk_guard状态+紧急指令
- 读/tmp/risk_guard_state.json: block_new_entries=true → 拒绝开仓
- 读/tmp/risk_guard_state.json: reduce_only=true → 拒绝开仓
- 读/tmp/risk_guard_emergency.json: close_all/block_new → 拒绝开仓
- risk_guard未启动(文件不存在) → 允许交易(不阻塞)
|
2026-03-02 10:05:45 +00:00 |
|
root
|
21970038df
|
feat: live_executor.py + signal_engine NOTIFY + live_trades table
- live_executor.py: PG LISTEN/NOTIFY接收信号, 币安API开仓+挂保护单
- signal_engine: 有信号时发NOTIFY new_signal
- live_trades表: 含binance_order_id, slippage_bps, protection_gap_ms等实盘字段
- 支持GCP Secret Manager + env fallback读API Key
- 支持testnet/production环境切换
|
2026-03-02 08:55:36 +00:00 |
|