Executar comandos do cTrader CLI¶
Este artigo explica como são estruturados os comandos do cTrader CLI, como funciona a autenticação e como consultar dados de contas, preços e histórico.
Estrutura dos comandos ¶
Todos os comandos do cTrader CLI seguem a mesma estrutura:
ctrader-cli <command> [arguments] [options]
- As opções começam com um prefixo.
--indica a forma longa e-a forma curta (--symbole-ssão equivalentes). - Os valores das opções são separados por um espaço ou pelo sinal de igual. Tanto
--symbol EURUSDcomo--symbol=EURUSDsão válidos. - Os argumentos são valores posicionais sem prefixo. O caminho para um ficheiro
.algoé um argumento. - Os valores que contêm espaços devem ser colocados entre aspas simples ou duplas, por exemplo
'/opt/my cbots/trend cbot.algo'. Utilize sempre o mesmo tipo de aspas dentro de cada comando.
Autenticação ¶
O cTrader CLI utiliza dois modos de autenticação. Ambos utilizam o ficheiro de credenciais que prepara durante a configuração.
| Modo | Opções obrigatórias | Comandos habituais |
|---|---|---|
| Em lote | --ctid e --pwd-file | periods, accounts, symbols, metadata, run, backtest |
| Interativo | --ctid, --password ou --pwd-file e -q | account, orders, price, candles, positions, exposure, alerts, comandos dos indicadores |
Nota
Os comandos em lote não aceitam --password. Os comandos interativos aceitam --password ou --pwd-file.
Os comandos accounts, symbols, metadata, run e backtest, disponíveis em ambos os modos, são executados em lote ou de forma interativa conforme as opções indicadas:
- Modo em lote – lê as credenciais de
--pwd-file(ou--broker) e é executado sem interação. - Modo interativo – utiliza
--passworde-q(ou qualquer opção específica do comando) e executa uma chamada interativa.
Identificadores de períodos ¶
Muitos comandos aceitam um valor --period. Execute ctrader-cli periods para listar todos os identificadores aceites. Os identificadores abrangem minutos, horas, dias, semanas e meses, bem como ticks, Renko, barras Range e variantes Heikin Ashi. A interpretação dos identificadores não distingue maiúsculas de minúsculas.
Unidades de volume ¶
--volume aceita unidades da moeda base ou lotes. Utilize --volume-type=units (predefinido) ou --volume-type=lots para definir como interpretar o volume. Para a maioria dos símbolos Forex, 100 000 unidades correspondem a um lote padrão.
Com --volume-type=lots | Unidades do ativo base |
|---|---|
--volume=1 | 100 000 |
--volume=0.1 | 10 000 |
--volume=0.01 | 1 000 |
Aviso
Nos metais, índices e criptoativos, o tamanho do lote varia consoante o símbolo. Por isso, o mesmo valor --volume=1 pode abrir uma posição maior do que pretendia. Verifique o valor lotSize do símbolo antes de negociar:
ctrader-cli symbol --ctid=letstrade --pwd-file=C:/test/password.pwd --account=1234567 -q --symbol=XAUUSD
Por exemplo, se XAUUSD tiver lotSize: 100, --volume=1 --volume-type=lots abre uma posição de 100 unidades.
Datas e horas ¶
Todas as datas e horas no cTrader CLI são expressas em UTC. A CLI nunca utiliza o fuso horário local do seu computador nem a hora do servidor da corretora.
O UTC aplica-se à saída dos comandos e às datas introduzidas da seguinte forma:
- Saída: todas as marcas temporais na saída JSON são apresentadas em UTC, no formato ISO 8601 com
Z, por exemplo2026-10-08T14:05:00.000Z. - Comandos interativos (
candles,deals,orders-historyebacktestexecutado com-q):--frome--toaceitam apenas uma data, no formatoyyyy-MM-dd,dd/MM/yyyy,dd-MM-yyyyouyyyy/MM/dd. A data corresponde a um dia de calendário em UTC.- Para
dealseorders-history,--toinclui o dia inteiro, até às 23:59:59 UTC. - Para
candles,--tocorresponde ao início desse dia (00:00 UTC). Para incluir um dia inteiro, defina--tocomo o dia seguinte. - Sem
--from/--to, obacktestinterativo abrange os últimos 7 dias.
- Para
- Comandos em lote (
backteste outros): as datas usamdd/MM/yyyy, opcionalmente com uma hora no formato de 24 horasdd/MM/yyyy HH:mm, por exemplo31/12/2026 18:00, também em UTC.
A única exceção é um cBot em execução (run, backtest). A hora segue a definição TimeZone configurada no cBot, tal como no cTrader Algo.
Consultar dados de contas e do mercado ¶
ctrader-cli periods não requer nenhuma conta nem credenciais, pelo que é um bom primeiro teste.
ctrader-cli periods
Liste as contas de negociação associadas ao seu cTrader ID:
ctrader-cli accounts --ctid=letstrade --pwd-file=C:/test/password.pwd
Depois de obter o número da conta, liste os símbolos disponíveis nessa conta:
ctrader-cli symbols --ctid=letstrade --pwd-file=C:/test/password.pwd --account=1234567
Consulte o preço atual de um símbolo e obtenha velas históricas através de um 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 do histórico ¶
Os comandos deals e orders-history estão sujeitos aos seguintes limites de histórico:
- A CLI carrega todo o intervalo definido por
--from/--to, sem limite de duração. - Uma chamada devolve apenas as 200 transações mais recentes (
deals) ou as 500 ordens mais recentes (orders-history) desse intervalo. - Sem
--from/--to, ambos os comandos devolvem apenas os dados dos últimos 30 dias. -
--countdefine o número de registos a devolver:- 50 por predefinição e até 200 para
deals. - 100 por predefinição e até 500 para
orders-history.
- 50 por predefinição e até 200 para
Se indicar --from ou --to, --count é ignorado e a chamada devolve até ao número máximo de registos.
Se um intervalo contiver mais registos do que uma chamada consegue devolver, divida-o em intervalos mais curtos e execute o comando para cada um.
Para verificar se os resultados foram truncados, consulte a saída:
orders-history: a saída contém os camposavailableereturned. Seavailablefor superior areturned, existem mais ordens no intervalo.deals: secountfor exatamente200, pode haver mais negociações no intervalo.
Ações em massa na shell interativa ¶
Na shell interativa, vários comandos permitem acrescentar all e yes no fim para executar ações em massa sem pedir confirmação.
| Comando | Sintaxe com all e yes no fim |
|---|---|
order cancel | order cancel all yes |
position close | position close all yes |
stop | stop all yes |
alert delete | alert delete all yes |
Executar comandos de forma interativa ¶
Execute ctrader-cli sem indicar um comando para abrir a shell interativa. Quando solicitado, inicie sessão com o seu cTID e a palavra-passe. Depois, introduza vários comandos consecutivos sem ter de voltar a fornecer as credenciais. Este modo é útil quando pretende executar vários comandos seguidos.
Para executar um único comando e sair imediatamente a seguir, acrescente -q. Esta opção é útil em scripts, nos quais o processo deve terminar assim que o comando estiver concluído.
Duas opções ajudam a descobrir as funcionalidades suportadas pela CLI.
| Opção | Função |
|---|---|
--help | Listar as opções globais e as diferentes formas de iniciar a CLI. |
--commands | Listar todos os comandos interativos e as respetivas formas posicionais, sem necessidade de autenticação. |
Se o seu cTrader ID estiver associado a contas de várias corretoras com o mesmo número de conta, acrescente --broker=<broker-name> para eliminar a ambiguidade.
Erros comuns ¶
| Sintoma | Causa provável | Passo seguinte |
|---|---|---|
ctrader-cli: command not found | A CLI não está incluída no seu PATH. | Volte a abrir o terminal ou siga as instruções de instalação manual do guia de configuração. |
Parameter password is not allowed | Indicou --password num comando em lote. | Utilize --pwd-file em vez disso. A regra completa encontra-se no guia de configuração. |
Account cannot be found | O número de conta é ambíguo porque é utilizado por várias corretoras. | Acrescente --broker=<broker-name>. |
Unknown symbol name | O nome do símbolo está incorreto ou não é suportado. | Execute symbols e utilize o nome exato apresentado na saída. |
Unknown period | O identificador do intervalo de tempo está incorreto. | Execute periods para listar todos os identificadores aceites. |
Nota
Para consultar todas as opções, os valores predefinidos e as descrições completas, consulte a documentação de referência da CLI.