Skip to content

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

  1. Notify-Lücke (FIXED): flip + full-close-via-partial hatten KEINE Benachrichtigung an User → Fix mit loop.create_task() für notify-Sync-Funktion
  2. 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