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/--tobez 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/--tooba 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.