Zum Inhalt

cTrader CLI-Befehle ausführen

In diesem Artikel erfahren Sie, wie cTrader CLI-Befehle aufgebaut sind, wie die Authentifizierung funktioniert und wie Sie Kontodaten, Kurse und historische Daten abrufen.

Befehlsaufbau

Alle cTrader CLI-Befehle haben denselben Aufbau:

ctrader-cli <command> [arguments] [options]
  • Optionen beginnen mit einem Präfix. -- kennzeichnet die Langform, - die Kurzform (--symbol und -s sind gleichwertig).
  • Optionswerte werden durch ein Leerzeichen oder ein Gleichheitszeichen getrennt. Sowohl --symbol EURUSD als auch --symbol=EURUSD sind gültig.
  • Argumente sind positionsabhängige Werte ohne Präfix. Der Pfad zu einer .algo-Datei ist ein Argument.
  • Werte mit Leerzeichen müssen in einfache oder doppelte Anführungszeichen gesetzt werden, zum Beispiel '/opt/my cbots/trend cbot.algo'. Verwenden Sie innerhalb eines Befehls durchgängig dieselbe Art von Anführungszeichen.

Authentifizierung

cTrader CLI verwendet zwei Arten der Authentifizierung. Beide greifen auf die bei der Einrichtung erstellte Datei mit Anmeldedaten zurück.

Modus Erforderliche Optionen Typische Befehle
Batchmodus --ctid und --pwd-file periods, accounts, symbols, metadata, run, backtest
Interaktiv --ctid, --password oder --pwd-file und -q account, orders, price, candles, positions, exposure, alerts, Indikatorbefehle

Hinweis

Batchbefehle akzeptieren --password nicht. Interaktive Befehle akzeptieren sowohl --password als auch --pwd-file.

Die in beiden Modi vorhandenen Befehle accounts, symbols, metadata, run und backtest werden je nach angegebenen Optionen im Batch- oder interaktiven Modus ausgeführt:

  • Batchmodus – liest die Anmeldedaten aus --pwd-file und verwendet bei Bedarf --broker zur Auswahl des Brokers. Der Befehl wird ohne Benutzerinteraktion ausgeführt.
  • Interaktiver Modus – verwendet --password und -q (oder eine befehlsspezifische Option) für einen interaktiven Aufruf.

Zeitrahmenkennungen

Viele Befehle akzeptieren einen Wert für --period. Führen Sie ctrader-cli periods aus, um alle zulässigen Kennungen aufzulisten. Die Kennungen decken Minuten, Stunden, Tage, Wochen und Monate sowie Ticks, Renko, Range-Bars und Heikin-Ashi-Varianten ab. Bei der Auswertung wird nicht zwischen Groß- und Kleinschreibung unterschieden.

Volumeneinheiten

--volume akzeptiert Einheiten der Basiswährung oder Lots. Mit --volume-type=units (Standard) oder --volume-type=lots legen Sie fest, wie der Volumenwert interpretiert wird. Bei den meisten Forex-Symbolen entsprechen 100.000 Einheiten einem Standard-Lot.

Mit --volume-type=lots Einheiten des Basiswerts
--volume=1 100.000
--volume=0.1 10.000
--volume=0.01 1.000

Warnung

Bei Metallen, Indizes und Kryptowährungen variiert die Lotgröße je nach Symbol. Derselbe Wert --volume=1 kann daher eine größere Position eröffnen als beabsichtigt. Prüfen Sie vor dem Handel den Wert lotSize des Symbols:

ctrader-cli symbol --ctid=letstrade --pwd-file=C:/test/password.pwd --account=1234567 -q --symbol=XAUUSD

Wenn XAUUSD beispielsweise lotSize: 100 hat, eröffnet --volume=1 --volume-type=lots eine Position über 100 Einheiten.

Datum und Uhrzeit

Alle Datums- und Zeitangaben in cTrader CLI erfolgen in UTC. Die CLI verwendet weder die lokale Zeitzone Ihres Computers noch die Serverzeit des Brokers.

Für die Befehlsausgabe und Datumseingaben gilt Folgendes:

  • Ausgabe: Alle Zeitangaben in der JSON-Ausgabe erfolgen in UTC im ISO-8601-Format mit Z, zum Beispiel 2026-10-08T14:05:00.000Z.
  • Interaktive Befehle (candles, deals, orders-history sowie backtest mit -q): --from und --to akzeptieren nur ein Datum in den Formaten yyyy-MM-dd, dd/MM/yyyy, dd-MM-yyyy oder yyyy/MM/dd. Das Datum bezeichnet einen Kalendertag in UTC.
    • Bei deals und orders-history schließt --to den ganzen Tag bis 23:59:59 UTC ein.
    • Bei candles bezeichnet --to den Tagesbeginn (00:00 UTC). Um einen bestimmten Tag einzuschließen, setzen Sie --to auf den Folgetag.
    • Ohne --from / --to deckt ein interaktiver backtest die letzten 7 Tage ab.
  • Batchbefehle (backtest und andere): Datumsangaben verwenden dd/MM/yyyy, optional mit einer Uhrzeit im 24-Stunden-Format dd/MM/yyyy HH:mm, zum Beispiel 31/12/2026 18:00, ebenfalls in UTC.

Die einzige Ausnahme ist ein ausgeführter cBot (run, backtest). Für ihn gilt die im cBot festgelegte Einstellung TimeZone, wie in cTrader Algo.

Konto- und Marktdaten abrufen

ctrader-cli periods benötigt weder ein Konto noch Anmeldedaten und eignet sich daher gut für einen ersten Test.

ctrader-cli periods

Listen Sie die mit Ihrer cTrader ID verknüpften Handelskonten auf:

ctrader-cli accounts --ctid=letstrade --pwd-file=C:/test/password.pwd

Sobald Sie die Kontonummer kennen, listen Sie die für dieses Konto verfügbaren Symbole auf:

ctrader-cli symbols --ctid=letstrade --pwd-file=C:/test/password.pwd --account=1234567

Rufen Sie den aktuellen Kurs eines Symbols und historische Kerzendaten über ein Skript ab:

ctrader-cli price --ctid=letstrade --password=secret --account=1234567 -q --symbol=EURUSD
ctrader-cli candles --ctid=letstrade --password=secret --account=1234567 -q --symbol=EURUSD --period=h1 --count=200 > eurUSD_h1.json

Grenzen für historische Daten

Für deals und orders-history gelten folgende Beschränkungen beim Abruf historischer Daten:

  • Die CLI lädt den vollständigen mit --from und --to festgelegten Zeitraum ohne zeitliche Begrenzung.
  • Ein einzelner Aufruf gibt aus diesem Zeitraum nur die letzten 200 Transaktionen (deals) beziehungsweise die letzten 500 Orders (orders-history) zurück.
  • Ohne --from und --to geben beide Befehle nur Daten der letzten 30 Tage zurück.
  • Mit --count legen Sie die Anzahl der zurückzugebenden Einträge fest:

    • Standardmäßig 50 und höchstens 200 für deals.
    • Standardmäßig 100 und höchstens 500 für orders-history.

Wenn Sie --from oder --to angeben, wird --count ignoriert. Der Aufruf gibt dann bis zur Höchstzahl an Einträgen zurück.

Enthält ein Zeitraum mehr Einträge, als ein Aufruf zurückgeben kann, teilen Sie ihn in kürzere Zeiträume auf und führen Sie den Befehl für jeden Zeitraum aus.

Prüfen Sie die Ausgabe, um festzustellen, ob das Ergebnis gekürzt wurde:

  • orders-history: Die Ausgabe enthält available und returned. Wenn available größer als returned ist, gibt es weitere Orders im Zeitraum.
  • deals: Wenn count genau 200 beträgt, kann der Zeitraum weitere Transaktionen enthalten.

Sammelaktionen in der interaktiven Shell

In der interaktiven Shell können Sie bei mehreren Befehlen all und yes anhängen, um Aktionen für mehrere Elemente auszuführen und die Bestätigungsabfrage zu überspringen.

Befehl Form mit angehängtem all und yes
order cancel order cancel all yes
position close position close all yes
stop stop all yes
alert delete alert delete all yes

Befehle interaktiv ausführen

Führen Sie ctrader-cli ohne Befehl aus, um die interaktive Shell zu öffnen. Melden Sie sich auf Aufforderung mit Ihrer cTID und Ihrem Passwort an. Danach können Sie mehrere Befehle nacheinander eingeben, ohne die Anmeldedaten erneut anzugeben. Das ist praktisch, wenn Sie mehrere Befehle hintereinander ausführen möchten.

Um nur einen Befehl auszuführen und das Programm danach sofort zu beenden, fügen Sie -q hinzu. Das ist für Skripte nützlich, bei denen der Prozess unmittelbar nach Abschluss des Befehls enden soll.

Zwei Optionen helfen Ihnen herauszufinden, welche Funktionen die CLI unterstützt.

Option Zweck
--help Globale Optionen und Aufrufvarianten auflisten.
--commands Alle interaktiven Befehle mit ihren positionsabhängigen Aufrufformen auflisten, ohne dass eine Authentifizierung erforderlich ist.

Wenn Ihre cTrader ID mit Konten bei mehreren Brokern verknüpft ist, die dieselbe Kontonummer haben, geben Sie --broker=<broker-name> an, um die Mehrdeutigkeit aufzulösen.

Häufige Fehler

Symptom Wahrscheinliche Ursache Nächster Schritt
ctrader-cli: command not found Die CLI ist nicht über Ihren PATH erreichbar. Öffnen Sie das Terminal erneut oder befolgen Sie die Anweisungen zur manuellen Installation in der Einrichtungsanleitung.
Parameter password is not allowed Sie haben --password für einen Batchbefehl angegeben. Verwenden Sie stattdessen --pwd-file. Die vollständige Regel finden Sie in der Einrichtungsanleitung.
Account cannot be found Die Kontonummer ist bei mehreren Brokern nicht eindeutig. Fügen Sie --broker=<broker-name> hinzu.
Unknown symbol name Der Symbolname ist falsch oder wird nicht unterstützt. Führen Sie symbols aus und verwenden Sie den exakten Namen aus der Ausgabe.
Unknown period Die Zeitrahmenkennung ist falsch. Führen Sie periods aus, um alle zulässigen Kennungen aufzulisten.

Hinweis

Alle Optionen, Standardwerte und vollständigen Beschreibungen finden Sie in der CLI-Referenz.