Channel Trader¶
Überblick¶
Telegram Channel Listener. Überwacht Signal-Kanäle auf Telegram und leitet Trades an CERBERUS weiter. Läuft als einziger Service unter User mltrading (nicht root).
Standort¶
- Pfad:
/home/mltrading/api-key-manager/channel_trader.py - Systemd:
channel-trader.service - User: mltrading (einziger Non-Root Service!)
- Config:
channel_trading_config.json
Signal-Quellen¶
| Quelle | Typ |
|---|---|
| @EtoYaTrendmaster | Telegram Channel |
| @EtoYaTradingCommunity | Telegram Channel |
| -1002134262091 | Telegram ID |
| -1003450482387 | Telegram ID |
| -1003486252693 | Telegram ID |
Session¶
- Pfad:
/home/mltrading/Telethon-Channel-Clone/cerberus_bot.session - Framework: Telethon
Technische Details¶
Token-Extraktion¶
Regex für Token Labels aus Signalen:
r'Token Label:\s*(\w+?)\s*Start'
Quantity-Berechnung¶
qty_step = math.floor(v / s) * s
"Seen"-Set Logik¶
Nur zu "seen" hinzufügen NACH einem erfolgreichen Trade/Pending/Retry — nicht bei jedem eingehenden Signal. Vermeidet Duplikate durch vorzeitiges Markieren.
Async-Pattern¶
Wichtig: Sync-Funktionen (z.B. Flip-Logik, Notify) per loop.create_task() feuern, NICHT await. await blockiert den Event-Loop und verhindert weitere Signalverarbeitung.
Bekannte Issues & Fixes¶
- Notify-Lücke (FIXED): flip + full-close-via-partial hatten KEINE Benachrichtigung an User → Fix mit
loop.create_task()für notify-Sync-Funktion - Session-Problem (device_code): Telegram kann Session-Invalidierung werfen → Session-Neu-Anmeldung nötig (Telethon-setup)
Abhängigkeiten¶
- [[cerberus-trading-engine]] → leitet Trades weiter
- [[server-infrastructure]] → Telegram-Session-Dateien