Knecht

Installation

  • TWS/Gateway mit aktiviertem API-Zugang
  • Zugangsdaten für einen Rabbit-MQ-Server
  • Knecht-Executable
Der Handelsknecht läuft mit jedem Betriebssystem. Das verlinkte Executable erwartet eine Liniux-Umgebegung. Für andere Betriebssysteme kann eine ausführbare Datei aus dem Quellcode erzeugt werden. Hierfür installiert man den Rust-Compiler, clont das Git-Repository und installiert mit Cargo install.
  • Ein neues Verzeichnis erstellen:
    mkdir hk.
  • Falls das Programm nicht selbst compiliert wurde, das Knecht-Executable in das neue Verzeichnis kopieren:
    cp knecht hk/ .
  • In das Verzeichnis wechseln, das Programm ausführbar machen und starten:
    cd hk; chmod a+x knecht && ./knecht .
  • Sonst das Programm im erstellten Verzeichznis ausführen /cd hk && ./knecht ).
Es werden einige Verzeichnisse angelegt (presets, trading-logs, templates) und eine Date config.yml erzeugt.
Nach dem ersten Start liegt die Konfigurationsdatei config.yml im Programmverzeichnis. Sie muss an die bestehende Konfiguration angepast werden.
tws:                                                                                                                    
  host: 127.0.0.1                 # Rechner mit laufender TWS/Gateway                                                    
  port: 4002                      # 7496 TWS, 4001 Gateway                                                                
  client_id: 1041                 # Eindeutige ID, verhindert ungewollte Doppelausführungen                              
knecht:                                                                                                                 
  user_id: DU1234567               # aktuelle Kontonummer                                                                     
  log_level: info,lapin=off,ibapi=off                                               
  trading_log: trading-log                                                                                                
rabbitmq:                                                                                                               
  username: knecht                # Rabbit-MQ-Credentials                                                                  
  password: handel                                                                                                     
  host: 109.90.120.202            # IP für Testbetrieb                                                         
  port: 5672                                                                                                            
  vhost: Knecht                   # Host für testbetrieb                                                                     
  response_exchange: response                                                                                         
  error_exchange: error                                                                                               
  exchanges:                                                                                                            
    - name: common                # nicht verändern                                                                          
      durable: true                                                                                                     
      auto_delete: false                                                                                                
    - name: S1                    # Stratregien hier anfügen                                                             
      durable: true                                                                                                     
      auto_delete: false                                                                                                
    - name: S2                                                                                                          
      durable: false                                                                                                    
      auto_delete: true                                                                                                 

Das bereitgestellte Knecht-Executable ist auf einem aktuellen Ubuntu-Computer compiliert. Falls es nicht startet, ist es am Einfachsten, das Codeberg-Repository zu clonen und es lokal zu compilieren.