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.