Dziennik tradera bota: co zapisywać, żeby za miesiąc wiedzieć dlaczego
W skrócie: przy ręcznym handlu dziennik służy do rozliczania emocji. Przy botach emocji prawie nie ma, za to jest inny problem: po miesiącu nie pamiętam, która wersja, z jakimi ustawieniami i na jakich danych dała ten wynik. Dlatego zapisuję przy każdym teście i wdrożeniu kilka stałych pól, a obok osobno rzeczy, które zobaczyłem, ale jeszcze nie rozumiem.
Co się psuje bez zapisu
Wynik testu bez wersji jest bezwartościowy. Dwa tygodnie później zmienia się kod, ustawienia albo dane brokera, a ja patrzę na liczbę w notatce i nie wiem, czy mogę ją porównać z nowym wynikiem. Zdarzyło mi się wracać do wyniku, którego nie dało się odtworzyć, bo nie wiedziałem, jaka wersja go dała. Odtąd zasada brzmi: wynik jest ważny tylko razem z wersją i ustawieniami.
Pola, które zapisuję przy każdym teście
Plik zbiorczy z testami dopisuje się automatycznie przy każdym przebiegu. Zawiera między innymi:
- czas przebiegu i nazwę bota,
- wersję bota i identyfikator zmiany w repozytorium,
- czy w kodzie bota albo biblioteki były niezapisane zmiany,
- symbol, interwał, daty początku i końca,
- model danych (świece czy tiki) i serwer brokera,
- saldo początkowe, ryzyko na transakcję, odcisk pliku z ustawieniami,
- zysk, profit factor, liczbę transakcji, drawdown na saldzie i na equity,
- numer wersji terminala.
Ten ostatni punkt wygląda na przesadę, aż do dnia, w którym nowa wersja terminala zmienia wynik tej samej strategii. Nie ma tu pola na opis. Opis zapisuję oddzielnie, w notatce przy bocie.
Co zapisuję przy wdrożeniu
Przy wdrożeniu na konto: data, które terminale i wykresy dostały nową wersję, jaka była poprzednia, jakie wartości ryzyka i salda początkowego stoją na wykresach i kto o tym zdecydował. Odtworzenie tego po fakcie z samych plików jest możliwe, ale kosztuje godziny.
Co zapisuję z obserwacji
Osobne miejsce dla “dziwnych rzeczy”: bot nie wszedł mimo sygnału, real różni się od testu, zły czas serwera, błędny tik w historii. Każdy taki przypadek dostaje jeden wiersz w rejestrze: serwer, data, godzina, co się stało, skutek. Dzięki temu, gdy podobna rzecz zdarzy się po miesiącu, szukam w rejestrze, a nie w pamięci (zob. błędny tik złota i bot nie otwiera pozycji).
Z tego samego powodu każdy ciekawy problem z sesji pracy zapisuję od razu jako temat. Nic nie jest tak drogie, jak rozwiązanie czegoś po raz drugi, bo nie zapisałem rozwiązania za pierwszym.
Czego nie zapisuję
Nie zapisuję “wydaje mi się, że bot jest dziś słabszy”. To zdanie nie ma wartości bez liczby i okresu. Jeśli mam podejrzenie, zapisuję je jako pytanie do sprawdzenia razem z tym, jak to sprawdzić (zob. wyłączanie bota w drawdownie).
Checklista
- Każdy wynik testu ma wersję bota, ustawienia, dane i wersję terminala.
- Plik z wynikami dopisuje się automatycznie, nie ręcznie.
- Każde wdrożenie ma datę, listę wykresów i poprzednią wersję.
- Dziwne zdarzenia trafiają do rejestru z serwerem i godziną.
- Podejrzenia zapisuję jako pytania z planem sprawdzenia.
Powiązane
- Standard testu bota
- Wersjonowanie EA i changelog
- Real kontra test na koncie
- Pojęcia z artykułu: słowniczek, skorowidz
Ostrzeżenie: handel CFD i forex wiąże się z wysokim ryzykiem utraty kapitału. Artykuł ma charakter edukacyjny i nie jest rekomendacją inwestycyjną.