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