28 września 2026 · badania

Twoja strategia paper tradingu wznowiła działanie z inną pozycją: list o odzyskiwaniu stanu

Twoja strategia paper tradingu wznowiła działanie z inną pozycją: list o odzyskiwaniu stanu

Powiedziałeś mi, że proces paper tradingu uległ awarii w nocy. Uruchomiłeś go ponownie przed kolejną decyzją, nie zobaczyłeś żadnych błędów i założyłeś, że wrócił do miejsca, w którym przerwał. Potem złożył zlecenie kupna aktywa, które już posiadałeś. Chcesz wiedzieć, czy strategia ma błąd.

Możliwe. Najpierw sprawdź jednak, czy uruchomiony ponownie proces wie to samo co konto paper tradingowe. Ponowne uruchomienie to problem odzyskiwania stanu: pozycje, gotówka, otwarte zlecenia i wszelkie dane strategii wpływające na następną decyzję muszą być zgodne. Ponowne uruchomienie kodu to łatwa część.

Co strategia uznawała za prawdę przed awarią?

Zapisz ostatnią decyzję podjętą przez proces przed zatrzymaniem. Dla każdego instrumentu, którym handlujesz, zanotuj docelową pozycję, rzeczywistą pozycję na koncie, oczekujące zlecenia oraz stan sygnału wpływający na kolejne działanie. Jeśli nie masz takich zapisów, nie możesz stwierdzić, czy ponowne uruchomienie przywróciło stan, czy tylko zainicjowało nową strategię.

Załóżmy, że twoja strategia godzinowa kupuje 1 jednostkę, gdy sygnał trendu zmienia się na dodatni, a następnie utrzymuje pozycję, aż sygnał stanie się ujemny. Proces wysyła zlecenie kupna o 14:00, ale ulega awarii, zanim zapisze, że zlecenie zostało przyjęte. Platforma paper tradingowa realizuje zlecenie. Po ponownym uruchomieniu strategia nie widzi zapisanej pozycji, a sygnał nadal jest dodatni, więc składa kolejne zlecenie kupna. Sygnał działa zgodnie z założeniami. Pamięć strategii o tym, co znajduje się na koncie, jest nieaktualna.

Dlatego przed zezwoleniem na nowe zlecenia trzeba uzgodnić bieżącą pozycję na koncie z zapisanym stanem strategii. Lokalna migawka może się przydać, ale to konto lub platforma jest źródłem prawdy o tym, co faktycznie zostało zrealizowane.

Jaki stan musi przetrwać ponowne uruchomienie?

Zacznij od stanu, który może zmienić następne zlecenie. Dla każdej aktualizacji przechowuj trwały zapis ze znacznikiem czasu i wersją; przed zmianą logiki odzyskiwania utwórz kopię, aby później móc odtworzyć awarię.

StanDlaczego ma znaczenieKontrola przy odzyskiwaniu
Pozycje i gotówkaOkreślają ekspozycję i dostępne środki na zakupyPorównaj zapisane wartości z kontem paper tradingowym
Otwarte zleceniaZlecenie mogło zostać zrealizowane podczas przestoju procesuSprawdź status zlecenia i uzgodnij częściowe realizacje
Pamięć sygnałówPrzecięcia, okresy wstrzymania i czas utrzymywania pozycji mogą obejmować wiele decyzjiPrzywróć ostatnie zatwierdzone dane wejściowe decyzji
Ostatnie przetworzone zdarzenieOkreśla, od którego miejsca strategia będzie ponownie pobierać daneOdtwórz zdarzenia po tym punkcie, nie stosując ich ponownie

Łatwo przeoczyć pamięć sygnałów. Strategia handlująca na podstawie przecięcia może przechowywać wczorajszą wartość wskaźnika, aby wykryć nowe przecięcie. Jeśli uruchomi się z pustą wartością, może uznać istniejący warunek za nowe zdarzenie. Zegar okresu wstrzymania działa podobnie: ponowne uruchomienie nie może po cichu zresetować reguły, która miała obowiązywać nadal.

Jak sprawić, by odzyskiwanie było powtarzalne?

Nadaj każdemu zleceniu stabilny identyfikator klienta, wyprowadzony z przebiegu strategii i decyzji, z której ono wynika. Jeśli po przekroczeniu limitu czasu proces ponawia próbę, może sprawdzić, czy dana decyzja utworzyła już zlecenie, zamiast składać duplikat. Zapisuj zmiany stanu dopiero po potwierdzeniu odpowiadającego im zdarzenia na koncie, a także przechowuj identyfikatory zleceń i realizacji, które wyjaśniają tę zmianę.

Następnie przetestuj warunki, które doprowadziły do incydentu. Przeprowadź strategię przez decyzję, zapisz stan, zatrzymaj ją i przywróć z pozycjami oraz historią zleceń z konta paper tradingowego. Porównaj kolejną decyzję i wynikające z niej zlecenia z przebiegiem bez przerwy. Powtórz próbę z częściowo zrealizowanym zleceniem oraz z awarią między wysłaniem zlecenia a potwierdzeniem jego przyjęcia. Wznowiony przebieg nie powinien wymyślać nowej pozycji ani powtarzać zakończonego działania.

Prowadź dziennik odzyskiwania: ostatnie przetworzone zdarzenie, czas migawki konta, statusy otwartych zleceń, przywrócona wersja strategii oraz pierwsza decyzja po ponownym uruchomieniu. Dzięki temu „proces znów działa” staje się czymś, co można skontrolować.

Czemu ufać po ponownym uruchomieniu?

Zaufaj procesowi dopiero wtedy, gdy stan konta i strategii jest uzgodniony, statusy oczekujących zleceń są znane, a kolejna decyzja odpowiada temu, czego można oczekiwać po nieprzerwanym przebiegu. Jeśli nie potrafisz wyjaśnić rozbieżności, wstrzymaj składanie zleceń paper tradingowych i sprawdź historię zdarzeń. Działający proces nie dowodzi, że strategia odzyskała właściwy stan.

Awaria ujawniła już przydatną rzecz: założenie, z którym zwykły przebieg nigdy nie musiał się zmierzyć. Uczyń ponowne uruchomienie powtarzalnym scenariuszem, a będziesz wiedzieć, co pamięta twoja strategia, zanim zlecisz jej ponowny handel.

paper tradingstan strategiiodzyskiwaniebacktesting
← Wszystkie wpisy