Saltar a contenido

Crear una lista de alertas de precio

Una lista de alertas de precio reúne los niveles de precio que quieres vigilar sin tener que estar pendiente del gráfico. Esta guía te ayuda a seleccionar los símbolos, comprobar cómo cotizan y en qué horarios se negocian, y activar una alerta para cada nivel. Al final, crearás un script que reconstruye toda la lista en una sola ejecución.

Consejo

Define tus credenciales una sola vez en variables de shell. Todos los comandos interactivos siguientes reutilizan esas variables para simplificar los pasos y facilitar el uso del script en distintos entornos.

export CTID=letstrade
export ACC=7654321
export PWD_FILE=$HOME/.ctrader/pwd

1. Seleccionar los símbolos que quieres vigilar

symbols enumera todos los instrumentos disponibles en la cuenta. Guarda la salida para elegir los nombres exactos que utilizarás en los siguientes pasos.

ctrader-cli symbols --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC > symbols.txt

Utiliza los nombres exactamente como aparecen aquí. Si el nombre no coincide, se devuelve Unknown symbol name.

2. Consultar los precios actuales de los símbolos seleccionados

prices devuelve los precios de oferta (bid) y demanda (ask) actuales de varios símbolos en una sola llamada. Así podrás fijar los niveles según el mercado en tiempo real, sin depender de tu memoria.

ctrader-cli prices --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
    --symbols=EURUSD,GBPUSD,XAUUSD

Para un único instrumento, utiliza price con --symbol.

ctrader-cli price --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --symbol=EURUSD

3. Comprobar cómo se cotiza el símbolo

symbol muestra los detalles de un instrumento, incluido el número de decimales de su cotización. Ajusta el precio de la alerta a ese número de decimales para definir exactamente el nivel que quieres.

ctrader-cli symbol --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --symbol=XAUUSD

4. Comprobar cuándo está abierto el mercado

sessions enumera las sesiones de negociación de un símbolo e indica sus horarios de apertura y cierre. Un nivel configurado cuando el mercado está cerrado no se comprobará hasta su reapertura. Esto es especialmente importante para metales, índices e instrumentos cuya negociación se interrumpe durante el fin de semana.

ctrader-cli sessions --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --symbol=XAUUSD

5. Activar una alerta en cada nivel

alert create requiere el símbolo, el precio y la condición que activa la alerta. Añade --message para identificar la finalidad de la alerta cuando se active y --yes para omitir la solicitud de confirmación en un script.

La condición puede ser above o below. Las alertas comparan el precio de oferta (bid) del símbolo con el nivel que hayas establecido.

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

Repite el procedimiento para cada nivel de cada símbolo. Cada alerta se aplica a un único precio de un único símbolo.

Nota

Valores admitidos: above, below.

6. Revisar la lista de alertas y eliminar las obsoletas

alerts muestra todas las alertas que están activas en la cuenta. Ejecuta el comando después de cualquier cambio para comprobar que la lista coincide con lo que has configurado.

ctrader-cli alerts --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q

Elimina una alerta concreta mediante su identificador cuando se alcance el nivel correspondiente o la idea que la motivó deje de tener sentido.

ctrader-cli alert delete --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
    --alert=44556677 --yes

Para empezar con una lista vacía, all elimina todas las alertas de la cuenta.

ctrader-cli alert delete all yes --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q

En la shell interactiva, el mismo comando se escribe como > alert delete all yes.

7. Reconstruir toda la lista de alertas con un script

Guarda la secuencia como price-alert-list.sh. El script elimina las alertas anteriores, activa todos los niveles definidos en el array PRICE_ALERT_LIST y muestra el resultado. Así, con una sola ejecución, obtienes la lista especificada al principio, sea cual sea su estado inicial.

Cada elemento contiene un símbolo, un precio, una condición y un mensaje, 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

Ejecuta bash price-alert-list.sh cada vez que cambien los niveles. Como el script elimina todas las alertas antes de reconstruir la lista, modifica el array en lugar de añadir alertas manualmente; de lo contrario, desaparecerán en la siguiente ejecución.

La documentación de referencia de cTrader CLI recoge todas las opciones disponibles para los comandos utilizados en este procedimiento.

Advertencia

cTrader CLI es una herramienta para el trading y la automatización. No ofrece asesoramiento financiero, de inversión, jurídico ni fiscal. Los comandos que envían o modifican órdenes pueden dar lugar a operaciones reales y provocar pérdidas. Revisa cada comando antes de ejecutarlo, pruébalo primero en una cuenta demo y protege tus credenciales.