Przejdź do treści

Tworzenie listy alertów cenowych

Lista alertów cenowych zawiera poziomy cen, o których chcesz otrzymywać powiadomienia bez konieczności ciągłego obserwowania wykresu. Ta instrukcja pokazuje, jak wybrać symbole, sprawdzić sposób ich notowania i godziny handlu oraz ustawić alert dla każdego poziomu. Na koniec utworzysz skrypt, który odtworzy całą listę w jednym przebiegu.

Wskazówka

Ustaw dane logowania w zmiennych powłoki tylko raz. Wszystkie poniższe polecenia interaktywne korzystają z tych samych zmiennych, dzięki czemu kroki są krótsze, a skrypt można łatwo przenosić między środowiskami.

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

1. Wybór symboli do obserwowania

symbols wyświetla wszystkie instrumenty dostępne na koncie. Zapisz wynik, aby wybrać dokładne nazwy symboli potrzebne w kolejnych krokach.

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

Używaj nazw dokładnie w takiej postaci, w jakiej są tutaj wyświetlane. Jeśli nazwa nie będzie zgodna, pojawi się komunikat Unknown symbol name.

2. Sprawdzenie aktualnych cen wybranych symboli

prices zwraca bieżące ceny bid i ask dla kilku symboli w jednym wywołaniu. Dzięki temu możesz ustalić poziomy alertów na podstawie aktualnej sytuacji rynkowej, a nie z pamięci.

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

Dla jednego instrumentu użyj polecenia price z opcją --symbol.

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

3. Sprawdzenie sposobu notowania symbolu

symbol wyświetla szczegóły jednego instrumentu, w tym liczbę miejsc po przecinku stosowaną w jego notowaniach. Dostosuj cenę alertu do tej precyzji, aby ustawić dokładnie zamierzony poziom.

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

4. Sprawdzenie godzin otwarcia rynku

sessions wyświetla sesje handlowe danego symbolu wraz z godzinami otwarcia i zamknięcia. Poziom ustawiony poza godzinami handlu nie zostanie sprawdzony aż do ponownego otwarcia rynku. Jest to szczególnie ważne w przypadku metali, indeksów i instrumentów, których handel jest wstrzymywany na weekend.

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

5. Aktywowanie alertu dla każdego poziomu

alert create przyjmuje symbol, cenę i warunek wyzwalający alert. Dodaj --message, aby opisać alert i łatwo rozpoznać jego cel po wyzwoleniu, oraz --yes, aby pominąć prośbę o potwierdzenie w skrypcie.

Warunkiem może być above lub below. Alerty porównują cenę bid danego symbolu z ustawionym poziomem.

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

Powtórz te czynności dla każdego poziomu każdego symbolu. Jeden alert dotyczy jednej ceny jednego symbolu.

Uwaga

Dopuszczalne wartości: above, below.

6. Przegląd listy alertów cenowych i usuwanie nieaktualnych

alerts wyświetla wszystkie alerty aktywne na koncie. Uruchamiaj to polecenie po każdej zmianie, aby upewnić się, że lista odpowiada Twoim ustawieniom.

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

Usuń pojedynczy alert na podstawie jego identyfikatora, gdy cena osiągnie ustawiony poziom lub gdy pomysł stojący za alertem przestanie być aktualny.

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

Aby zacząć od pustej listy, użyj all, które usuwa wszystkie alerty z konta.

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

W powłoce interaktywnej to samo polecenie ma postać > alert delete all yes.

7. Odtworzenie całej listy alertów za pomocą skryptu

Zapisz sekwencję poleceń jako price-alert-list.sh. Skrypt usuwa stare alerty, aktywuje wszystkie poziomy zapisane w tablicy PRICE_ALERT_LIST i wyświetla wynik. W ten sposób jedno uruchomienie pozwala uzyskać listę określoną na początku skryptu, niezależnie od wcześniejszego stanu.

Każdy wpis zawiera symbol, cenę, warunek i wiadomość, oddzielone znakiem |.

#!/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

Uruchamiaj bash price-alert-list.sh za każdym razem, gdy zmienisz poziomy. Ponieważ skrypt usuwa wszystkie alerty przed ich ponownym utworzeniem, edytuj tablicę zamiast dodawać alerty ręcznie. W przeciwnym razie zostaną one usunięte przy następnym uruchomieniu.

Dokumentacja referencyjna cTrader CLI zawiera wszystkie dostępne opcje poleceń używanych w tej procedurze.

Ostrzeżenie

cTrader CLI to narzędzie do handlu i automatyzacji. Nie świadczy usług doradztwa finansowego, inwestycyjnego, prawnego ani podatkowego. Polecenia służące do składania lub zmieniania zleceń mogą prowadzić do zawarcia rzeczywistych transakcji i poniesienia strat. Sprawdź każde polecenie przed uruchomieniem, najpierw przetestuj je na koncie demo i chroń swoje dane logowania.