Enable M5 auto-scan alerts and remove live dashboard
M5 already broadcast through the shared _scan_timeframe path but was documented as data-only (docstring, CLAUDE.md, DOCUMENTATION.md, plus a phantom `if tf == M5: return` step that never existed in code). Align all docs/comments so M5 alerting at C+ grade is the intended, documented behavior. Remove the live dashboard entirely per request: the 30s refresh loop, per-scan refresh, boot send, and the dashboard-only stats layer (_signal_stats / _stats_updated / _update_signal_stats and its call sites, _format_stats_dashboard and its helper constants). Drop now-unused ZoneInfo import and dashboard mentions from help/autoscan/boot messages and the test suite. The WebSocket level-breach monitor and level cache are untouched. Tests: 136 passed, 0 failed.
This commit is contained in:
+5
-9
@@ -22,12 +22,12 @@ The bot looks at the same pair across multiple zoom levels, like looking at a ma
|
||||
|
||||
| Timeframe | What It Shows | How Often It Scans |
|
||||
|-----------|--------------|-------------------|
|
||||
| 5-Minute (M5) | Very short-term price action | Every 5 minutes — **data collection only**, no alerts |
|
||||
| 5-Minute (M5) | Very short-term price action | Every 5 minutes |
|
||||
| 15-Minute (M15) | Short-term moves | Every 15 minutes |
|
||||
| 1-Hour (H1) | Intraday trends | Every hour |
|
||||
| 4-Hour (H4) | Swing-level trends | Every 4 hours |
|
||||
|
||||
The M5 scan runs silently in the background — it gathers data to keep the bot's internal picture fresh, but it does not send you any messages. Only M15, H1, and H4 scans produce alerts.
|
||||
All four timeframes (M5, M15, H1, H4) produce alerts at candle close when the signal grade is C or better.
|
||||
|
||||
## How Does It Decide What To Signal?
|
||||
|
||||
@@ -911,12 +911,8 @@ def _run_signal_sync(symbol, timeframe, confirmation_tfs):
|
||||
1. For each symbol in SCAN_PAIRS:
|
||||
report = await run_signal(symbol, tf, confirmation_tfs)
|
||||
2. _update_level_cache(reports) # Refresh cached levels for WS breach detection
|
||||
3. If tf == M5: return # Data only, no Telegram output
|
||||
4. Filter actionable: quality in (A+, A, B, C)
|
||||
5. If none actionable: log and return silently
|
||||
6. Format scan summary (one-liner per pair)
|
||||
7. For each autoscan chat:
|
||||
Send summary message
|
||||
3. Filter actionable: quality in (A+, A, B, C) # applies to every timeframe, M5 included
|
||||
4. For each autoscan chat:
|
||||
Send detail message per actionable signal (includes trade setup)
|
||||
```
|
||||
|
||||
@@ -1029,7 +1025,7 @@ Terminal output includes color-coded sections:
|
||||
|
||||
3. **WebSocket for XAU/USD only:** The bot streams live prices via WebSocket for real-time level breach detection on gold.
|
||||
|
||||
4. **M5 is data-only:** The M5 scan runs every 5 minutes but only updates the level cache (used by WebSocket breach detection). It does not send Telegram messages — this reduces noise while keeping the internal picture current.
|
||||
4. **M5 alerts like every timeframe:** The M5 scan runs every 5 minutes, refreshes the level cache (used by WebSocket breach detection), and sends a Telegram alert whenever the signal grade is C or better — the same path as M15/H1/H4.
|
||||
|
||||
5. **Graceful degradation everywhere:** If news APIs fail, signals proceed without fundamental context. If WebSocket disconnects, it reconnects with exponential backoff. If a single pair's scan fails, others continue.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user