fanziqi
|
ad60a53262
|
review: add code audit annotations and REVIEW.md for v5.1
P0 issues annotated (critical, must fix before live trading):
- signal_engine.py: cooldown blocks reverse-signal position close
- paper_monitor.py + signal_engine.py: pnl_r 2x inflated for TP scenarios
- signal_engine.py: entry price uses 30min VWAP instead of real-time price
- paper_monitor.py + signal_engine.py: concurrent write race on paper_trades
P1 issues annotated (long-term stability):
- db.py: ensure_partitions uses timedelta(30d) causing missed monthly partitions
- signal_engine.py: float precision drift in buy_vol/sell_vol accumulation
- market_data_collector.py: single bare connection with no reconnect logic
- db.py: get_sync_pool initialization not thread-safe
- signal_engine.py: recent_large_trades deque has no maxlen
P2/P3 issues annotated across backend and frontend:
- coinbase_premium KeyError for XRP/SOL symbols
- liquidation_collector: redundant elif condition in aggregation logic
- auth.py: JWT secret hardcoded default, login rate-limit absent
- Frontend: concurrent refresh token race, AuthContext not synced on failure
- Frontend: universal catch{} swallows all API errors silently
- Frontend: serial API requests in LatestSignals, market-indicators over-polling
docs/REVIEW.md: comprehensive audit report with all 34 issues (P0×4, P1×5,
P2×6, P3×4 backend + FE-P1×4, FE-P2×8, FE-P3×3 frontend), fix suggestions
and prioritized remediation roadmap.
|
2026-03-01 17:14:52 +08:00 |
|
root
|
bda42e669a
|
feat: stats panel with per-symbol tabs (ALL/BTC/ETH/XRP/SOL) - full stats for each coin
|
2026-03-01 01:37:02 +00:00 |
|
root
|
404cc683e0
|
fix: latest signals pass symbol without USDT suffix to signal-history API
|
2026-02-28 13:31:14 +00:00 |
|
root
|
71192d4209
|
fix: latest signals use signal-history API (last triggered signal, not realtime eval)
|
2026-02-28 13:20:24 +00:00 |
|
root
|
374615dea7
|
feat: paper page show latest signal per coin
|
2026-02-28 12:45:47 +00:00 |
|
root
|
95fec35d97
|
fix: paper balance font-size auto-fit (text-base instead of text-lg)
|
2026-02-28 12:38:52 +00:00 |
|
root
|
1d2304261b
|
feat: paper frontend use aggTrade WS for real-time price (every tick instead of 1s)
|
2026-02-28 12:30:11 +00:00 |
|
root
|
d0e626a437
|
feat: paper summary add balance + pnl_usdt
|
2026-02-28 12:00:19 +00:00 |
|
root
|
7b901a2390
|
feat: paper_monitor.py - WebSocket realtime TP/SL + frontend WS price feed (1s update)
|
2026-02-28 11:55:40 +00:00 |
|
root
|
66810701fb
|
feat: paper trading signal flip - reverse signal closes existing position then opens new
|
2026-02-28 11:45:48 +00:00 |
|
root
|
f90df6f3b5
|
feat: paper positions show real-time price + unrealized PnL (R + USDT)
|
2026-02-28 11:40:11 +00:00 |
|
root
|
59910fe9cd
|
fix: paper page use useAuth() instead of manual localStorage check
|
2026-02-28 11:24:29 +00:00 |
|
root
|
282aed138a
|
feat: paper trading switch + config API + max positions limit
|
2026-02-28 11:13:39 +00:00 |
|
root
|
e054db112d
|
feat: paper trading - backend (table+signal_engine integration+5 APIs) + frontend page
|
2026-02-28 11:10:28 +00:00 |
|