Eseguire i comandi di cTrader CLI¶
Questo articolo spiega come sono strutturati i comandi di cTrader CLI, come funziona l’autenticazione e come consultare i dati dei conti, i prezzi e la cronologia.
Struttura dei comandi ¶
Tutti i comandi di cTrader CLI seguono la stessa struttura:
ctrader-cli <command> [arguments] [options]
- Le opzioni iniziano con un prefisso.
--indica la forma lunga e-quella breve (--symbole-ssono equivalenti). - I valori delle opzioni sono separati da uno spazio o dal segno di uguale. Sia
--symbol EURUSDsia--symbol=EURUSDsono validi. - Gli argomenti sono valori posizionali senza prefisso. Il percorso di un file
.algoè un argomento. - I valori che contengono spazi devono essere racchiusi tra apici singoli o doppi, ad esempio
'/opt/my cbots/trend cbot.algo'. Utilizza lo stesso tipo di apici in modo coerente all’interno di un comando.
Autenticazione ¶
cTrader CLI prevede due modalità di autenticazione. Entrambe utilizzano il file delle credenziali che prepari durante la configurazione.
| Modalità | Opzioni richieste | Comandi tipici |
|---|---|---|
| Batch | --ctid e --pwd-file | periods, accounts, symbols, metadata, run, backtest |
| Interattiva | --ctid, --password o --pwd-file e -q | account, orders, price, candles, positions, exposure, alerts, comandi degli indicatori |
Nota
I comandi batch non accettano --password. I comandi interattivi accettano sia --password sia --pwd-file.
I comandi accounts, symbols, metadata, run e backtest, presenti in entrambe le modalità, vengono eseguiti in modalità batch o interattiva in base alle opzioni specificate:
- Modalità batch – legge le credenziali da
--pwd-filee, se necessario, specifica il broker con--broker. Viene eseguita senza interazione. - Modalità interattiva – utilizza
--passworde-q(o qualsiasi opzione specifica del comando) ed esegue una chiamata interattiva.
Identificatori dei periodi ¶
Molti comandi accettano un valore --period. Esegui ctrader-cli periods per elencare tutti gli identificatori accettati. Gli identificatori comprendono minuti, ore, giorni, settimane e mesi, oltre a tick, Renko, barre range e varianti Heikin Ashi. Non viene fatta distinzione tra maiuscole e minuscole.
Unità di volume ¶
--volume accetta sia unità della valuta di base sia lotti. Utilizza --volume-type=units (predefinito) oppure --volume-type=lots per specificare l’unità di misura del volume. Per la maggior parte delle coppie Forex, 100.000 unità corrispondono a un lotto standard.
Con --volume-type=lots | Unità dell’attività di base |
|---|---|
--volume=1 | 100.000 |
--volume=0.1 | 10.000 |
--volume=0.01 | 1.000 |
Avvertenza
Per metalli, indici e criptovalute, la dimensione dei lotti varia in base al simbolo. Di conseguenza, lo stesso valore --volume=1 potrebbe aprire una posizione più grande del previsto. Prima di fare trading, controlla il valore lotSize del simbolo:
ctrader-cli symbol --ctid=letstrade --pwd-file=C:/test/password.pwd --account=1234567 -q --symbol=XAUUSD
Ad esempio, se XAUUSD ha lotSize: 100, --volume=1 --volume-type=lots apre una posizione di 100 unità.
Date e orari ¶
Tutte le date e gli orari di cTrader CLI sono espressi in UTC. La CLI non utilizza mai il fuso orario locale del computer né l’ora del server del broker.
L’UTC si applica all’output dei comandi e alle date inserite nel modo seguente:
- Output: tutti gli orari nell’output JSON sono in UTC, nel formato ISO 8601 con
Z, ad esempio2026-10-08T14:05:00.000Z. - Comandi interattivi (
candles,deals,orders-historyebacktesteseguito con-q):--frome--toaccettano solo una data, nel formatoyyyy-MM-dd,dd/MM/yyyy,dd-MM-yyyyoyyyy/MM/dd. La data indica un giorno di calendario in UTC.- Per
dealseorders-history,--toinclude l’intera giornata, fino alle 23:59:59 UTC. - Per
candles,--toindica l’inizio della giornata (00:00 UTC). Per includere una determinata giornata, imposta--tosul giorno successivo. - Senza
--from/--to, il comando interattivobacktestcopre gli ultimi 7 giorni.
- Per
- Comandi batch (
backteste altri): le date utilizzano il formatodd/MM/yyyy, eventualmente con un orario in formato 24 oredd/MM/yyyy HH:mm, ad esempio31/12/2026 18:00, sempre in UTC.
L’unica eccezione riguarda un cBot in esecuzione (run, backtest). Il suo orario segue l’impostazione TimeZone del cBot, come in cTrader Algo.
Consultare i dati dei conti e di mercato ¶
ctrader-cli periods non richiede un conto né credenziali ed è quindi un buon primo test.
ctrader-cli periods
Elenca i conti di trading collegati al tuo cTrader ID:
ctrader-cli accounts --ctid=letstrade --pwd-file=C:/test/password.pwd
Dopo aver ottenuto il numero di conto, elenca i simboli disponibili per quel conto:
ctrader-cli symbols --ctid=letstrade --pwd-file=C:/test/password.pwd --account=1234567
Consulta il prezzo corrente di un simbolo e recupera le candele storiche tramite uno 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
Limiti della cronologia ¶
I comandi deals e orders-history prevedono i seguenti limiti per la cronologia:
- La CLI carica l’intero intervallo definito da
--frome--to, senza limiti di durata. - Una singola chiamata restituisce al massimo le ultime 200 operazioni (
deals) o gli ultimi 500 ordini (orders-history) dell’intervallo. - Senza
--frome--to, entrambi i comandi restituiscono soltanto i dati degli ultimi 30 giorni. -
--countimposta il numero di record da restituire:- 50 per impostazione predefinita, fino a un massimo di 200 per
deals. - 100 per impostazione predefinita, fino a un massimo di 500 per
orders-history.
- 50 per impostazione predefinita, fino a un massimo di 200 per
Se specifichi --from o --to, --count viene ignorato e la chiamata restituisce fino al numero massimo di record.
Se un intervallo contiene più record di quanti ne restituisca una singola chiamata, suddividilo in intervalli più brevi ed esegui il comando per ciascuno.
Per verificare se i risultati sono stati troncati, controlla l’output:
orders-history: l’output contiene i campiavailableereturned. Seavailableè maggiore direturned, nell’intervallo sono presenti altri ordini.deals: secountè esattamente200, nell’intervallo potrebbero esserci altre operazioni.
Azioni in blocco nella shell interattiva ¶
Nella shell interattiva, diversi comandi accettano all e yes alla fine per eseguire operazioni in blocco senza richiedere conferma.
| Comando | Forma con all e yes alla fine |
|---|---|
order cancel | order cancel all yes |
position close | position close all yes |
stop | stop all yes |
alert delete | alert delete all yes |
Eseguire comandi in modalità interattiva ¶
Esegui ctrader-cli senza specificare alcun comando per aprire la shell interattiva. Quando richiesto, accedi con il tuo cTID e la password, quindi inserisci più comandi in successione senza dover ripetere le credenziali. È una soluzione comoda se vuoi eseguire diversi comandi uno dopo l’altro.
Per eseguire un solo comando e uscire subito dopo, aggiungi -q. È utile negli script, in cui il processo deve terminare non appena il comando viene completato.
Due opzioni ti aiutano a scoprire quali funzionalità supporta la CLI.
| Opzione | Funzione |
|---|---|
--help | Elenca le opzioni globali e le diverse modalità di avvio. |
--commands | Elenca tutti i comandi interattivi e le relative forme posizionali, senza richiedere l’autenticazione. |
Se il tuo cTrader ID è collegato a conti presso broker diversi che hanno lo stesso numero di conto, aggiungi --broker=<broker-name> per eliminare l’ambiguità.
Errori comuni ¶
| Sintomo | Causa probabile | Passaggio successivo |
|---|---|---|
ctrader-cli: command not found | La CLI non è presente nel tuo PATH. | Riapri il terminale oppure segui la procedura di installazione manuale nella guida alla configurazione. |
Parameter password is not allowed | Hai specificato --password per un comando batch. | Usa invece --pwd-file; la regola completa è riportata nella guida alla configurazione. |
Account cannot be found | Il numero di conto è ambiguo perché è utilizzato da più broker. | Aggiungi --broker=<broker-name>. |
Unknown symbol name | Il nome del simbolo è errato o non supportato. | Esegui symbols e utilizza il nome esatto mostrato nell’output. |
Unknown period | L’identificatore del periodo non è corretto. | Esegui periods per elencare tutti gli identificatori accettati. |
Nota
Per tutte le opzioni, i valori predefiniti e le descrizioni complete, consulta la documentazione di riferimento della CLI.