Przejdź do treści

Przegląd transakcji z ostatniego miesiąca

Miesięczny przegląd odpowiada na trzy pytania: ile transakcji zamknięto, jakie przyniosły wyniki i gdzie nadal występuje ryzyko? Ta instrukcja pokazuje, jak zapisać transakcje, historię zakończonych zleceń i bieżącą ekspozycję w folderze oznaczonym datą, a następnie połączyć te czynności w skrypt uruchamiany pod koniec każdego miesiąca.

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. Pobranie transakcji zamkniętych w danym miesiącu

deals zwraca tylko zamknięte transakcje: po jednym rekordzie na każdą transakcję zamykającą, wraz ze zrealizowanym wynikiem (zysk/strata). Są to te same dane co na karcie Historia w cTrader. --from i --to filtrują transakcje według czasu zamknięcia, a --count zwraca ostatnio zamknięte transakcje. Wykonania zleceń otwierających nie są uwzględniane, więc pozycja pojawia się w deals dopiero po całkowitym lub częściowym zamknięciu.

ctrader-cli deals --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
    --from=01/06/2025 --to=30/06/2025

Wynik dla każdej zamkniętej transakcji zawiera symbol, kierunek, wolumen, cenę wykonania i zrealizowany zysk.

2. Pobranie historii zakończonych zleceń

orders-history wyświetla zlecenia zakończone w tym samym okresie wraz z ich końcowym statusem (filled, expired, cancelled lub error). Zlecenia oczekujące nie są uwzględniane.

ctrader-cli orders-history --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
    --from=01/06/2025 --to=30/06/2025

Porównaj listę transakcji z historią zleceń, aby sprawdzić, które wejścia odpowiadały poszczególnym wyjściom.

Polecenia deals i orders-history mają następujące ograniczenia dotyczące historii:

  • CLI wczytuje cały przedział określony przez --from / --to bez ograniczenia jego długości.
  • Jedno wywołanie zwraca jednak tylko ostatnie 200 transakcji (deals) lub ostatnie 500 zleceń (orders-history) z danego przedziału.
  • Bez --from / --to oba polecenia zwracają dane tylko z ostatnich 30 dni.

Jeśli w danym miesiącu zawarto wiele transakcji, podziel okres na krótsze przedziały i uruchom każde polecenie osobno dla każdego z nich.

3. Sprawdzenie bieżącej ekspozycji

exposure podsumowuje ekspozycję otwartych pozycji na koncie, grupując ją według symbolu. To migawka ryzyka, które nadal pozostaje na koncie następnego dnia po przeglądzie.

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

4. Zapisanie każdego wyniku w pliku oznaczonym datą

Każde polecenie zwraca dane JSON, więc wystarczy przekierować wynik, aby zachować zapis przeglądu.

MONTH=2025-06
ctrader-cli deals          --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --from=01/06/2025 --to=30/06/2025 > ${MONTH}_deals.json
ctrader-cli orders-history --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --from=01/06/2025 --to=30/06/2025 > ${MONTH}_orders.json
ctrader-cli exposure       --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q > ${MONTH}_exposure.json

Powstaną trzy pliki z datą, po jednym na każde pytanie. Łatwo porównasz je z wynikami przeglądu z następnego miesiąca.

5. Połączenie kroków w skrypt miesięcznego przeglądu

Zapisz całą sekwencję jako monthly-review.sh. Skrypt automatycznie oblicza pierwszy i ostatni dzień poprzedniego miesiąca, więc działa niezależnie od daty uruchomienia.

#!/usr/bin/env bash
set -euo pipefail

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

MONTH=$(date -d "last month" +%Y-%m)
FROM=$(date -d "last month" +01/%m/%Y)
TO=$(date -d "last month" +$(date -d "last day of last month" +%d)/%m/%Y)

mkdir -p ${MONTH}
cd ${MONTH}

ctrader-cli deals          --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --from=$FROM --to=$TO > ${MONTH}_deals.json
ctrader-cli orders-history --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --from=$FROM --to=$TO > ${MONTH}_orders.json
ctrader-cli exposure       --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q > ${MONTH}_exposure.json

echo "Review for ${MONTH} saved to $(pwd)/${MONTH}_*.json"

Uruchamiaj go raz w miesiącu, aby dla każdego okresu tworzyć folder z oznaczeniem czasu. W systemie Linux date -d bezpośrednio obsługuje wyrażenia last month i last day of last month. W systemie macOS użyj odpowiednika gdate z pakietu coreutils albo podaj stałe wartości --from i --to.

6. Wyszukiwanie prawidłowości w danych

Pliki JSON mają strukturę umożliwiającą analizę w notatniku obliczeniowym lub za pomocą prostego potoku poleceń powłoki. Typowe analizy obejmują:

  • Odsetek transakcji zyskownych: porównaj liczbę transakcji z dodatnim wynikiem z liczbą transakcji ze stratą.
  • Podział według symbolu: pogrupuj transakcje według symbolu i zsumuj zyski w każdej grupie.
  • Największa pojedyncza strata: posortuj transakcje według wyniku i znajdź najniższą wartość.
  • Ryzyko otwartych pozycji: sprawdź plik ekspozycji, aby zobaczyć, na których symbolach nadal są otwarte pozycje.

Zestaw te analizy z migawką account-stats z tego samego dnia, aby uzyskać pełny obraz zmian stanu konta w ciągu miesiąca.

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. Wyniki osiągnięte w przeszłości nie gwarantują przyszłych rezultatów. Sprawdź każde polecenie przed uruchomieniem, najpierw przetestuj je na koncie demo i chroń swoje dane logowania.