Pilot przed długą serią testów: dwa-trzy krótkie przebiegi
W skrócie: zanim puszczę kolejkę testów na godziny, odpalam dwa-trzy krótkie przebiegi i sprawdzam, czy cały łańcuch działa: zapis plików, nazwy, parser, sensowność zakresów. Pilot kosztuje kilka minut. Jego brak kosztował mnie raz całą serię, z której użyteczny był jeden raport z siedmiu.
Co poszło źle
Zleciłem serię 16 optymalizacji, po 7 przebiegów każda. Raporty zapisywały się pod tą samą nazwą, więc każdy kolejny nadpisywał poprzedni, a po całej serii został jeden z siedmiu. Pierwsza siatka zwróciła pusty plik z komunikatem, że nie wybrano parametru do optymalizacji. Dowiedziałem się o tym po ok. kwadransie, gdy zacząłem czytać wyniki. Do tego zakres jednego parametru był sprzeczny z regułą konta: limit dzienny 0,4% przy progu dnia 0,5% dawał zero wypłat w każdym przebiegu. To trzy różne błędy, każdy do wykrycia w pilocie.
Co robię w pilocie
Biorę dwa-trzy punkty skrajne siatki, na krótkim okresie, i sprawdzam:
- Pliki wynikowe. Liczba plików równa liczbie przebiegów, a nazwa zawiera wymiar, który się zmienia (parametr, okres).
- Pola raportu. Raport ma kolumny, których będzie potrzebował parser; parser czyta je bez błędu.
- Sens wyniku. Wynik jest wiarygodny: są transakcje, jest zysk lub strata, a nie zero.
- Zakresy a reguły. Wartości parametrów nie przeczą regułom (limity dzienne wobec progów, SL wobec minimum brokera).
- Czas. Mierzę czas jednego przebiegu i mnożę przez liczbę przebiegów, żeby porównać z limitem czasu testu.
- Cache. Cache poprzedniej serii nie przechwytuje nowych ustawień (cache optymalizacji).
Dlaczego krótki
Pilot ma sprawdzać technikę, nie strategię. Dlatego wystarczy kilka tygodni historii, byle bot zdążył otworzyć transakcje. Jeśli w pilocie nie ma żadnej transakcji, tym bardziej nie będzie ich w pełnej serii.
Zasady, które z tego wyniosłem
- Seria dłuższa niż kilkanaście minut zawsze zaczyna się od pilota.
- Wynik pilota oglądam własnymi oczami, a nie tylko sprawdzam, że skrypt się skończył.
- Pełna seria ma limit czasu, żeby zawieszony przebieg nie blokował reszty (limit czasu testu).
- Wynik zapisuję z wersją bota i ustawieniami (standard testu).
Checklista
- Czy puściłem dwa-trzy skrajne punkty siatki na krótkim okresie?
- Czy liczba plików wynikowych zgadza się z liczbą przebiegów?
- Czy parser czyta raport i wynik ma sens?
- Czy zakresy nie przeczą regułom konta?
- Czy czas serii mieści się w limicie?
- Czy cache poprzedniej serii jest wyczyszczony?
Powiązane
Źródła
Brak źródeł zewnętrznych - przypadek z własnej pracy (12.11.2026).
Ostrzeżenie: artykuł ma charakter edukacyjny i nie jest poradą inwestycyjną. Wyniki z przeszłości nie gwarantują przyszłych. Handel na rynkach finansowych wiąże się z ryzykiem utraty kapitału.