sync README: update arch diagram and structure for stats separation

This commit is contained in:
jackyu66git
2026-05-03 21:14:49 +08:00
parent 32f06b57d6
commit 327f2505dd
+16 -10
View File
@@ -19,14 +19,16 @@ PriceStore ─────────┼─────────────
└──────────────┘
┌─────────▼─────────┐
│ ScanBGHL (500ms) │
│ ScanBGHL (200ms) │
│ BG ↔ HL only │
└─────────┬─────────┘
┌───────────────▼────────────────┐
│ Trader: TryEntry / Tick / Exit
Maker fees, scale-in, stop
Trader (trading logic only)
TryEntry / Tick / Exit
│ Maker fees, scale-in, stop │
│ Synchronous entry (no goroutine)│
│ NO display/stat calculations │
└───────────────┬────────────────┘
┌─────────▼─────────┐
@@ -34,10 +36,14 @@ PriceStore ─────────┼─────────────
│ (opportunity life) │
└─────────┬─────────┘
┌──────────────────┐
Notifier: TG
│ Dashboard: :8888 │
└───────────────────┘
┌──────────────────┼──────────────────┐
┌─────▼─────┐ ┌────────▼───────┐ ┌─────▼─────┐
│ Notifier │ │ Dashboard │ │ DB │
│ TG │ │ :8888 │ │ SQLite │
│ │ │ Stats calc │ │ trades.db │
│ │ │ (calcDetailed) │ │ │
└───────────┘ └────────────────┘ └───────────┘
```
## Tracked Coins
@@ -173,11 +179,11 @@ Built-in HTTP server at `:8888` with real-time SSE push (1-second refresh):
```
exchange-monitor-go/
├── main.go # Entry point, WS startup, main loop
├── config.go # .env configuration loader
├── config.go # .env + config.json hierarchical config
├── types.go # PriceStore, TrackedCoin, ArbOpportunity
├── scanner.go # ScanBGHL — arbitrage scanner
├── trader.go # Position management, entry/exit/scale-in
├── dashboard.go # Web server + SSE + history buffers
├── trader.go # Position management, entry/exit/scale-in (pure trading logic)
├── dashboard.go # Web server + SSE + stats calc (display layer)
├── toaster.go # Telegram notifications
├── static.go # Embedded web static files
├── start.sh # Startup script (port check + build + run)