Commit Graph

150 Commits

Author SHA1 Message Date
fanziqi
e1290cd9b5 feat(auto-evolve): add daily optimizer and pre-cleanup tooling 2026-03-31 21:44:44 +08:00
dev-worker
47494a9c86 chore(db): default to local postgres host 2026-03-31 08:56:11 +00:00
root
e0e203bbcc fix: max_positions 4→100 to support 18 BTC strategies 2026-03-13 09:10:12 +00:00
fanziqi
aa1fc2604f 允许开仓 2026-03-13 16:50:42 +08:00
root
df34d4f638 fix: remove circular import PAPER_FEE_RATE from signal_engine 2026-03-13 08:11:05 +00:00
fanziqi
ae3ed78b10 Refactor V5 engine: split state/scoring and wire strategy factory 2026-03-13 16:00:18 +08:00
root
569c192448 fix: restore custom_ route to _evaluate_v53 (was lost in scp overwrites) 2026-03-12 13:43:24 +00:00
root
07bf1a8a58 fix: strategy only opens positions on its own configured symbol (V5.4) 2026-03-12 13:19:29 +00:00
root
cb34b1cb39 feat: dynamic CVD window per strategy + full generic signal/paper pages for V5.4 Strategy Factory 2026-03-12 13:03:55 +00:00
root
a4bb7828f8 fix: route custom_ strategy names to _evaluate_v53() for V5.4 Strategy Factory 2026-03-12 12:30:09 +00:00
root
2e4c05b2e0 feat(v54b): 5门Gate重构 — 与signal_engine执行逻辑完全对应,DB字段改名,前后端统一 2026-03-11 16:26:44 +00:00
root
06f900b89b fix: _get_strategy_trade_stats 兼容旧数据(strategy文本)和新数据(strategy_id),修复open_positions计算(含tp1_hit),current_balance实时计算 2026-03-11 16:02:04 +00:00
root
d3784aaf79 feat(v54): signal_engine reads strategy config from DB, writes strategy_id to paper_trades/signal_indicators 2026-03-11 15:46:30 +00:00
root
7be7b5b4c0 feat(v54): add strategies table, migration script, 9 CRUD API endpoints 2026-03-11 15:11:44 +00:00
root
73cb73cde1 fix: add v53_middle to paper_config enabled_strategies 2026-03-07 09:31:50 +00:00
root
5a4dded190 fix: add v53_middle.json to DEFAULT_STRATEGY_FILES 2026-03-07 09:26:38 +00:00
root
4b0f30cab8 feat: add v53_middle.json strategy config (CVD 15m/1h windows) 2026-03-07 09:24:08 +00:00
root
602d9ae034 feat: add strategy-plaza backend API endpoints 2026-03-07 06:21:15 +00:00
root
9a2d7cf187 fix: reduce config hot-reload interval 60->10 cycles (~2-3min); already pushed strategy thresholds 2026-03-04 04:16:56 +00:00
root
e25bc519ec tune: lower min_vol_threshold - SOL 0.006->0.004, XRP 0.004->0.0025 (data-driven from 24h ATR distribution) 2026-03-04 04:00:45 +00:00
root
ccb53cb3a8 feat: record cvd_fast_5m in signal_indicators for v53_fast strategy 2026-03-04 02:41:02 +00:00
root
c8416b4916 feat: add v53_fast strategy - 5m/30m CVD + OBI positive scoring + accel independent trigger 2026-03-04 01:44:09 +00:00
root
5becf882e4 chore: disable v51/v52 paper trading (signals kept); remove from sidebar 2026-03-04 01:23:15 +00:00
root
3352489ce9 fix: add SL sanity check on open_position; add entry_ts display in paper-v53 positions 2026-03-04 01:15:09 +00:00
root
d2ddc3ea46 feat: unify v53 frontend - single strategy, no ALT/BTC tab split; update main.py display_score 2026-03-03 16:03:25 +00:00
root
42cb230337 feat: merge v53_alt+v53_btc into unified v53 strategy (all 4 symbols, per-symbol gates) 2026-03-03 15:59:27 +00:00
root
546fae39d0 fix: expose display_score/gate_passed as top-level fields in /api/signals/latest for v53_btc 2026-03-03 15:45:09 +00:00
root
2a9e4db756 fix: pass ALT layer scores into BTC factors for frontend display 2026-03-03 15:32:04 +00:00
root
1e982c48f9 feat: extend RT-WS to ETH/XRP/SOL + add per-symbol 4-gate control to v53_alt 2026-03-03 15:22:54 +00:00
root
57f749c094 fix: set gate_passed=True for ALT track in save_feature_event (NOT NULL constraint) 2026-03-03 14:37:38 +00:00
root
a7cd78e06f feat: implement save_feature_event() for v53 training data collection (Phase 3) 2026-03-03 14:35:26 +00:00
root
85db47e41f feat: Phase 2 - realtime WebSocket OBI + spot/perp divergence for BTC gate-control, tiered whale CVD in-process 2026-03-03 13:59:34 +00:00
root
17a387b6f4 feat: Phase 2 - collect obi_depth_10, spot_perp_divergence, tiered_cvd_whale for BTC gate-control 2026-03-03 13:42:21 +00:00
root
fcac8c2334 feat: Phase 1 - V5.3 dual-track signal engine (ALT 55/25/15/5, BTC gate-control) 2026-03-03 13:35:23 +00:00
root
4c43309c16 fix: remove leftover conn.commit() after deleting paper_check_positions 2026-03-03 13:27:40 +00:00
root
0a5222a1de feat: Phase 0 - add signal_feature_events/label_events tables, atr_value snapshot, label_backfill script 2026-03-03 13:22:53 +00:00
root
8280aaf6ea refactor: A1 hot-reload strategy configs, A4 remove dead paper_check_positions, A6 signals/history query signal_indicators 2026-03-03 13:00:54 +00:00
root
cf7756b4e5 security: S2 remove hardcoded DB password, S3 JWT already enforced, S4 remove localhost CORS 2026-03-03 12:53:26 +00:00
root
c645178f7b fix: H4 - restrict /api/kline to BTC/ETH, return 400 for XRP/SOL 2026-03-03 12:45:36 +00:00
root
3172300fd0 fix: increase sync connection pool maxconn 5->20 to prevent pool exhaustion 2026-03-03 12:36:58 +00:00
root
91ed44ad9f refactor: unify all DB connections to Cloud SQL, remove dual-write and SQLite code 2026-03-03 12:30:01 +00:00
root
c0c37c4c7e security: remove hardcoded Discord token, load from env/GCP Secret Manager 2026-03-03 11:58:26 +00:00
dev-worker
262594f16e fix: entry_price改用最新成交价(last_trade_price)而非VWAP
VWAP是30分钟加权均价,快速行情下与实际价偏差可达1-2%
历史587笔entry_price+596笔pnl_r已用agg_trades真实价修正
平均偏差31.9bps, 最大189.4bps(1.9%)
V5.1: 42.18R→15.32R | V5.2: 29.83R→0.76R
2026-03-03 02:53:56 +00:00
dev-worker
66b094c711 fix: 数据新鲜度熔断自动恢复 + 阈值10→30秒(允许启动回灌) 2026-03-02 17:41:23 +00:00
dev-worker
31e6e19ea6 fix: V3全面审阅修复 — 12项问题
P0-1: 风控Fail-Closed(状态文件缺失/过期/异常→拒绝开仓)
P0-2: 1R基准跨模块统一(position_sync+risk_guard从live_config动态读)
P0-3: close_all紧急全平校验返回值+二次验仓
P0-4: Coinbase Premium单位修复(premium_pct/100→比例值)
P1-3: 正向funding计入净PnL(不再只扣负值)
P1-4: 数据新鲜度检查落地(查signal_indicators最新ts)
P1-6: live表DDL补全到SCHEMA_SQL(live_config/live_events/live_trades)
P2-1: _get_risk_usd()加60秒缓存
P2-3: 模拟盘前端*200→从config动态算paper1R
P2-4: XRP/SOL跳过Coinbase Premium采集(无数据源)
P3-2: SQL参数化(fetch_pending_signals用ANY替代f-string)
额外: pnl_r公式修正(gross-fee+funding,funding正负都正确计入)
2026-03-02 17:28:23 +00:00
dev-worker
22df9152f2 fix: testnet环境跳过JWT_SECRET长度检查 2026-03-02 16:25:19 +00:00
dev-worker
18506f2a44 fix: P1/P2/P3剩余6项全部修复
P1-3: 前端持仓USDT从config读riskUsd(不再硬编码*2)
P1-4: 平仓兜底不盲目取最后成交,无明确平仓记录则延后结算
P2-1: LISTEN连接断线自动重建+重新LISTEN
P2-2: 余额风控LOW_BALANCE自动恢复(余额回升则解除暂停)
P2-3: fetch_pending_signals改用asyncio.to_thread避免阻塞事件循环
P3-1: dashboard页面改用新auth体系(authFetch+useAuth+/api/auth/me)
2026-03-02 16:19:03 +00:00
dev-worker
27a51b4d19 fix: P0第二轮修复 — JWT安全/DB密码/SL紧急平仓reduceOnly/TP1状态守卫/超时精度/跨策略去重 + 硬编码消除
P0-1: JWT_SECRET生产环境强制配置,测试环境保留默认
P0-2: DB密码生产环境强制从env读,测试环境保留fallback
P0-3: SL三次失败→查真实持仓→reduceOnly平仓→校验结果→写event
P0-4: TP1后SL重挂失败则不推进tp1_hit状态,continue等下轮重试
P0-5: 超时自动平仓用SYMBOL_QTY_PRECISION格式化+校验结果
P0-6: 同币种去重改为不区分策略(币安单向模式共享净仓位)
P1-1: 手续费窗口entry_ts-200→+200(避免纳入开仓前成交)
额外: 模拟盘*200和实盘*2硬编码→从配置动态读取
2026-03-02 16:11:43 +00:00
root
8694e5cf3a fix: 审阅P1/P2/P3全部修复
P1-1: exit_price按reduceOnly过滤平仓成交+加权平均价
P1-2: 资金费率窗口对齐8h结算周期(0/8/16 UTC),防双累加
P2-2: emergency文件先执行操作+写state再删除,消除TOCTOU
P2-3: API恢复auto_resume排除日限亏损/人工熔断
P2-4: fee汇总窗口从entry_ts-200ms起算(与P1-1一起修)
P3-1: SYMBOL_PRECISION提取到trade_config.py共用模块
P3-2: main.py 4处hardcoded risk_usd=2改为从live_config读
P3-3: CORS限制为arb.zhouyangclaw.com+localhost
P3-4: 三进程加RotatingFileHandler(10MB×5轮转)
2026-03-02 14:04:33 +00:00
root
638589852b fix: P0审阅修复 + P1/P2增强
P0-1: SL挂单失败→重试2次→3次失败紧急市价平仓+写event
P0-2: TP1检测改用DB qty字段(新增)比对仓位减少,不再用orderId
P0-3: emergency-close/block-new/resume/config PUT加admin权限验证
P0-5: risk_guard全平qty按币种精度格式化(BTC:3/ETH:3/XRP:0/SOL:2)

P1-3: NOTIFY收到后立即处理跳过sleep,减少信号延迟
P2-1: 三个进程加DB连接断线重连(ensure_db_conn)

DB: live_trades新增qty字段
2026-03-02 13:56:36 +00:00