Criar uma lista de alertas de preço¶
Uma lista de alertas de preço reúne os níveis de preço que pretende acompanhar sem ter de estar constantemente a observar o gráfico. Este guia mostra como selecionar os símbolos, verificar as respetivas cotações e horários de negociação e ativar um alerta para cada nível. No final, irá criar um script que recria toda a lista numa única execução.
Dica
Defina as suas credenciais uma única vez em variáveis de shell. Todos os comandos interativos seguintes reutilizam estas variáveis, tornando os passos mais simples e permitindo utilizar o script em diferentes ambientes.
export CTID=letstrade
export ACC=7654321
export PWD_FILE=$HOME/.ctrader/pwd
1. Selecionar os símbolos que pretende acompanhar ¶
symbols apresenta todos os instrumentos disponíveis na conta. Guarde a saída para identificar os nomes exatos a utilizar nos passos seguintes.
ctrader-cli symbols --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC > symbols.txt
Utilize os nomes exatamente como aparecem aqui. Se o nome não corresponder, o comando devolve Unknown symbol name.
2. Consultar os preços atuais dos símbolos selecionados ¶
prices devolve os preços de venda (bid) e de compra (ask) atuais de vários símbolos numa única chamada. Assim, pode definir os níveis com base no mercado em tempo real, em vez de confiar na memória.
ctrader-cli prices --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
--symbols=EURUSD,GBPUSD,XAUUSD
Para um único instrumento, utilize price com --symbol.
ctrader-cli price --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --symbol=EURUSD
3. Confirmar a precisão da cotação do símbolo ¶
symbol apresenta os detalhes de um instrumento, incluindo o número de casas decimais da respetiva cotação. Ajuste o preço do alerta ao número de casas decimais indicado, para definir exatamente o nível pretendido.
ctrader-cli symbol --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --symbol=XAUUSD
4. Verificar quando o mercado está aberto ¶
sessions apresenta as sessões de negociação de um símbolo, com as respetivas horas de abertura e fecho. Um nível definido enquanto o mercado está fechado só será verificado quando este reabrir. Isto é especialmente importante para metais, índices e instrumentos cuja negociação é interrompida durante o fim de semana.
ctrader-cli sessions --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --symbol=XAUUSD
5. Ativar um alerta para cada nível ¶
alert create recebe o símbolo, o preço e a condição que desencadeia o alerta. Adicione --message para identificar a finalidade do alerta quando este for acionado e --yes para ignorar o pedido de confirmação num script.
A condição pode ser above ou below. Os alertas comparam o preço de venda (bid) do símbolo com o nível definido.
ctrader-cli alert create --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
--symbol=EURUSD --price=1.1050 --condition=above \
--message="EURUSD breaks range high" --yes
Repita o procedimento para cada nível de cada símbolo. Cada alerta corresponde a um único nível de preço de um único símbolo.
Nota
Valores aceites: above, below.
6. Rever a lista de alertas e eliminar os que estão desatualizados ¶
alerts apresenta todos os alertas atualmente ativos na conta. Execute o comando após cada alteração para confirmar que a lista corresponde ao pretendido.
ctrader-cli alerts --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q
Elimine um alerta pelo respetivo identificador quando o nível for atingido ou a ideia que o motivou deixar de ser relevante.
ctrader-cli alert delete --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
--alert=44556677 --yes
Para começar com uma lista vazia, all elimina todos os alertas da conta.
ctrader-cli alert delete all yes --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q
Na shell interativa, o mesmo comando escreve-se > alert delete all yes.
7. Recriar toda a lista de alertas a partir de um script ¶
Guarde a sequência como price-alert-list.sh. O script elimina os alertas anteriores, ativa todos os níveis definidos no array PRICE_ALERT_LIST e apresenta o resultado. Assim, uma única execução cria a lista especificada no início do script, independentemente do estado anterior.
Cada entrada contém um símbolo, um preço, uma condição e uma mensagem, separados por |.
#!/usr/bin/env bash
set -euo pipefail
CTID=letstrade
ACC=7654321
PWD_FILE=$HOME/.ctrader/pwd
PRICE_ALERT_LIST=(
"EURUSD|1.1050|above|EURUSD breaks range high"
"EURUSD|1.0900|below|EURUSD loses range low"
"XAUUSD|2400.00|above|Gold at round number"
)
cli() {
ctrader-cli "$@" --ctid="$CTID" --pwd-file="$PWD_FILE" --account="$ACC" -q
}
# Start from a clean list so the array below is the single source of truth.
cli alert delete all yes
# Arm every level in the price-alert list.
for ENTRY in "${PRICE_ALERT_LIST[@]}"; do
IFS='|' read -r SYMBOL PRICE CONDITION MESSAGE <<< "$ENTRY"
echo "Arming $SYMBOL at $PRICE ($CONDITION)"
cli alert create --symbol="$SYMBOL" --price="$PRICE" \
--condition="$CONDITION" --message="$MESSAGE" --yes
done
# Confirm what is armed.
cli alerts
Execute bash price-alert-list.sh sempre que alterar os níveis. Como o script elimina todos os alertas antes de recriar a lista, altere o array em vez de adicionar alertas manualmente. Caso contrário, serão eliminados na próxima execução.
A documentação de referência do cTrader CLI apresenta todas as opções disponíveis para os comandos utilizados neste procedimento.
Aviso
O cTrader CLI é uma ferramenta de negociação e automatização. Não fornece aconselhamento financeiro, de investimento, jurídico ou fiscal. Os comandos que colocam ou alteram ordens podem desencadear negociações reais e causar perdas. Verifique cada comando antes de o executar, teste-o primeiro numa conta demo e proteja as suas credenciais.