Dauerbetrieb der Interactive Broker (IB) Trading Workstation (TWS) mit IBController

tradingtech_tws_001

Du verwendest AgenaTrader in Verbindung mit der Broker Software Trading Workstation (TWS) von Interactive Broker (IB) oder dem in Deutschland ansässigen Broker Captrader und möchtest einen 24 Stunden und 7 Tage die Woche Dauerbetrieb (24/7) im Handel mit Finanzprodukten?

Dann kennst du sicherlich eines der folgenden Probleme:

  • Verbindung zwischen AgenaTrader und TWS bricht aufgrund eines unbekannten Problems ab und du verbindest dich zum Broker mit TWS erst am nächsten Tag.
  • Dein Ziel ist die Nutzung von AgenaTrader und TWS im 24/7 Betrieb auf einem Server und dabei möchtest du aber auf die manuelle Wieder-/Neuverbindung verzichten.
  • Du verwendest RDP (Windows Remote Desktop) aber in diesem Fall verbindet sich AgenaTrader nach der Mitternachtswartung nicht automatisch zur TWS.

TWS ist so programmiert, dass sie einmal pro Tag, in den meisten Fällen zu Mitternacht ihre Tätigkeit beendet und sich schließt. Zu diesem Zweck wurde im AgenaTrader eine Funktion vorgesehen die eine automatische Anmeldung vornimmt und die Verbindung zum Broker wieder herstellt. Dies funktioniert aber nur dann wenn der Server eine aktive Benutzersession aktiv hält. Das Hauptproblem bei Remote Sessions mit RDP ist, dass solche „headless Systeme“ die Benutzersession anders handhaben. Dies ist eigentlich ein klassisches Problem auf jedem „echten“ Server, jeden Computer ohne Monitor,  jedem Virtual Private Server (VPS) oder beispielsweise einem Cloud Server von Microsoft Azure.

tws_login_form

Wenn kein Benutzer angemeldet ist passiert auch nichts mit den Formularen die eine Benutzereingabe fordern wie dem Login-Formular der TWS und AgenaTrader kann die automatische Anmeldung beim Broker (Interactive Broker oder Captrader) nicht vornehmen. Wenn man eine RDP Verbindung öffnet, dann verbindet sich AgenaTrader automatisch, da nun eine Benutzersession aktiv ist.

Dies ist kein TWS spezifisches Problem sondern ein Problem aller Softwareprogramme die eine Anmeldung über Benutzerformulare fordern. Natürlich könnte der jeweilige Softwarehersteller diese Situation positiv beeinflussen in dem automatische Ab-/Anmeldevorgänge implementiert werden oder die API soweit geöffnet wird, dass dies nachträglich eingebaut werden kann (freilich auf eigenes Risiko). Man kann hinsichtlich Aufbau und Usability der grafischen Benutzeroberfläche der TWS sicherlich üppige Diskussionen führen aber der API Zugriff ist einfach unschlagbar!

So hat sich auf GitHub ein Open Source Projekt formiert welches neben anderen Vorteilen auch alle oben genannten Probleme auf einem Schlag löst.
Das Projekt nennt sich IBController und ermöglicht eine viel tiefere Konfiguration der TWS wie auch eine automatische Ab-/Anmeldung.

IBController bietet unter anderem folgende Vorteile (laut GitHub Projekt vom 15.10.2016):

Vollständig automatisierte Trader Workstation (TWS) und IB Gateway (einschließlich FIX-Modus)
Vervollständigt den Anmeldedialog mit den Anmeldeinformationen aus einer .ini-Datei oder der Befehlszeile
Behandelt Dialogfelder, die von TWS während der programmatischen Handelsaktivitäten geöffnet werden
TWS wird unendlich lange offen gehalten bei gleichzeitiger Planung von zeitbasierte Exits
Ermöglicht TWS zu einem bestimmten Zeitpunkt an einem bestimmten Tag der Woche sich selbst zu beenden
Entfernt verschiedene Dialog-Meldungen (z.B. Versions-Updates, tägliche Tipps, IB-API-Verbindungen usw.)
Enthält ein telnet-Steuerelementprotokoll, um die GUI oder den ENABLEAPI für den IB-API-Clientzugriff zu stoppen

Das IBController Projekt funktioniert mit der TWS von Interactive Broker (IB) als auch mit der TWS für den Broker Captrader.

IBController ist Open Source und wurde auf GitHub zur Verfügung gestellt.

Wir haben eine Schnellstart Anleitung erstellt, um dir die Installation von IBController viel einfacher möglich zu machen: