Exécuter des commandes cTrader CLI¶
Cet article explique la structure des commandes cTrader CLI, le fonctionnement de l’authentification et la consultation des données de compte, des prix et de l’historique.
Structure des commandes ¶
Toutes les commandes cTrader CLI suivent la même structure :
ctrader-cli <command> [arguments] [options]
- Les options commencent par un préfixe.
--correspond à la forme longue et-à la forme courte (--symbolet-ssont équivalents). - Les valeurs des options sont séparées par un espace ou un signe égal. Les deux formes
--symbol EURUSDet--symbol=EURUSDsont valides. - Les arguments sont des valeurs positionnelles sans préfixe. Le chemin d’accès à un fichier
.algoest un argument. - Les valeurs contenant des espaces doivent être placées entre guillemets simples ou doubles, par exemple
'/opt/my cbots/trend cbot.algo'. Utilisez le même type de guillemets de manière cohérente au sein d’une commande.
Authentification ¶
cTrader CLI utilise deux modes d’authentification. Tous deux s’appuient sur le fichier d’identifiants préparé lors de la configuration.
| Mode | Options requises | Commandes courantes |
|---|---|---|
| Traitement par lots | --ctid et --pwd-file | periods, accounts, symbols, metadata, run, backtest |
| Interactif | --ctid, --password ou --pwd-file et -q | account, orders, price, candles, positions, exposure, alerts, commandes d’indicateurs |
Remarque
Les commandes exécutées en mode traitement par lots refusent l’option --password. Les commandes interactives acceptent --password ou --pwd-file.
Les commandes accounts, symbols, metadata, run et backtest existent dans les deux modes. Selon les options fournies, elles s’exécutent en mode par lots ou en mode interactif :
- Mode traitement par lots – lit les identifiants depuis
--pwd-file(ou--broker) et s’exécute sans interaction. - Mode interactif – utilise
--passwordet-q(ou toute option propre à la commande) et s’exécute comme un appel interactif.
Identifiants de période ¶
De nombreuses commandes acceptent une valeur --period. Exécutez ctrader-cli periods pour afficher tous les identifiants acceptés. Ces identifiants couvrent les minutes, heures, jours, semaines et mois, ainsi que les ticks, Renko, barres de range et variantes Heikin Ashi. La casse des caractères n’a aucune importance.
Unités de volume ¶
L’option --volume accepte les unités de la devise de base ou les lots. Utilisez --volume-type=units (par défaut) ou --volume-type=lots pour choisir l’unité du volume. Pour la plupart des paires Forex, 100 000 unités correspondent à un lot standard.
Avec --volume-type=lots | Unités de l’actif de base |
|---|---|
--volume=1 | 100 000 |
--volume=0.1 | 10 000 |
--volume=0.01 | 1 000 |
Avertissement
Pour les métaux, les indices et les cryptomonnaies, la taille des lots varie selon le symbole. Une même valeur --volume=1 peut donc ouvrir une position plus importante que prévu. Vérifiez la valeur lotSize du symbole avant de trader :
ctrader-cli symbol --ctid=letstrade --pwd-file=C:/test/password.pwd --account=1234567 -q --symbol=XAUUSD
Par exemple, si XAUUSD a une valeur lotSize: 100, alors --volume=1 --volume-type=lots ouvre une position de 100 unités.
Dates et heures ¶
Toutes les dates et heures utilisées par cTrader CLI sont en UTC. La CLI n’utilise jamais le fuseau horaire local de votre ordinateur ni l’heure du serveur du courtier.
L’UTC s’applique aux sorties des commandes et aux dates saisies comme suit :
- Sortie : tous les horodatages des résultats JSON sont exprimés en UTC au format ISO 8601 avec
Z, par exemple2026-10-08T14:05:00.000Z. - Commandes interactives (
candles,deals,orders-historyetbacktestexécuté avec-q) :--fromet--ton’acceptent qu’une date, au formatyyyy-MM-dd,dd/MM/yyyy,dd-MM-yyyyouyyyy/MM/dd. Cette date correspond à un jour calendaire en UTC.- Pour
dealsetorders-history,--toinclut toute la journée, jusqu’à 23:59:59 UTC. - Pour
candles,--tocorrespond au début de la journée (00:00 UTC). Pour inclure une journée entière, définissez--tosur le jour suivant. - Sans
--from/--to, lebacktestinteractif couvre les 7 derniers jours.
- Pour
- Commandes exécutées en mode traitement par lots (
backtestet autres) : les dates utilisent le formatdd/MM/yyyy, éventuellement suivi d’une heure au format 24 heuresdd/MM/yyyy HH:mm, par exemple31/12/2026 18:00, toujours en UTC.
La seule exception concerne un cBot en cours d’exécution (run, backtest). Son heure suit le paramètre TimeZone défini dans le cBot, comme dans cTrader Algo.
Consulter les données de compte et de marché ¶
La commande ctrader-cli periods ne nécessite ni compte ni identifiants. Elle constitue donc un bon premier test.
ctrader-cli periods
Listez les comptes de trading associés à votre cTrader ID :
ctrader-cli accounts --ctid=letstrade --pwd-file=C:/test/password.pwd
Une fois le numéro de compte obtenu, listez les symboles disponibles sur ce compte :
ctrader-cli symbols --ctid=letstrade --pwd-file=C:/test/password.pwd --account=1234567
Consultez le prix actuel d’un symbole et récupérez les bougies historiques dans un script :
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
Limites de l’historique ¶
deals et orders-history appliquent les limites d’historique suivantes :
- La CLI charge toute la période définie par
--fromet--to, sans limitation de durée. - Un seul appel renvoie au maximum les 200 dernières transactions (
deals) ou les 500 derniers ordres (orders-history) de la période. - Sans
--fromni--to, les deux commandes ne renvoient que les 30 derniers jours. -
--countdéfinit le nombre d’enregistrements à renvoyer :- 50 par défaut et jusqu’à 200 pour
deals. - 100 par défaut et jusqu’à 500 pour
orders-history.
- 50 par défaut et jusqu’à 200 pour
--count est ignoré si --from ou --to est fourni. L’appel renvoie alors jusqu’au nombre maximal d’enregistrements.
Si une plage contient plus d’enregistrements qu’un seul appel ne peut en renvoyer, divisez-la en plages plus courtes et exécutez la commande pour chacune.
Pour déterminer si les résultats ont été tronqués, examinez la sortie :
orders-history: la sortie contient les champsavailableetreturned. Siavailableest supérieur àreturned, d’autres ordres sont présents dans la plage.deals: sicountest exactement égal à200, il se peut que la plage contienne davantage de trades.
Actions groupées dans le shell interactif ¶
Dans le shell interactif, plusieurs commandes acceptent les arguments finaux all et yes pour effectuer une action groupée sans demander de confirmation.
| Commande | Syntaxe avec all et yes à la fin |
|---|---|
order cancel | order cancel all yes |
position close | position close all yes |
stop | stop all yes |
alert delete | alert delete all yes |
Exécuter des commandes en mode interactif ¶
Exécutez ctrader-cli sans préciser de commande pour ouvrir le shell interactif. À l’invite, connectez-vous avec votre cTID et votre mot de passe, puis saisissez plusieurs commandes successivement sans avoir à fournir de nouveau vos identifiants. Ce mode est pratique lorsque vous souhaitez exécuter plusieurs commandes à la suite.
Pour exécuter une seule commande et quitter immédiatement, ajoutez -q. Cette option est utile dans les scripts, car le processus doit se terminer dès que la commande a fini de s’exécuter.
Deux options permettent de découvrir les fonctionnalités prises en charge par la CLI.
| Option | Fonction |
|---|---|
--help | Lister les options globales et les différentes syntaxes de lancement. |
--commands | Lister toutes les commandes interactives et leurs formes positionnelles, sans authentification. |
Si votre cTrader ID est associé à des comptes de plusieurs courtiers portant le même numéro de compte, ajoutez --broker=<broker-name> pour lever l’ambiguïté.
Erreurs courantes ¶
| Symptôme | Cause probable | Étape suivante |
|---|---|---|
ctrader-cli: command not found | La CLI n’est pas accessible via votre PATH. | Rouvrez le terminal ou suivez les étapes d’installation manuelle du guide de configuration. |
Parameter password is not allowed | Vous avez fourni --password à une commande exécutée en mode traitement par lots. | Utilisez plutôt --pwd-file ; la règle complète figure dans le guide de configuration. |
Account cannot be found | Le numéro de compte correspond à plusieurs comptes chez différents courtiers. | Ajoutez --broker=<broker-name>. |
Unknown symbol name | Le nom du symbole est incorrect ou n’est pas pris en charge. | Exécutez symbols et utilisez le nom exact indiqué dans la sortie. |
Unknown period | L’identifiant de période est incorrect. | Exécutez periods pour afficher tous les identifiants acceptés. |
Remarque
Pour consulter toutes les options, leurs valeurs par défaut et leurs descriptions complètes, reportez-vous à la documentation de référence CLI.