Real różni się od testu, a kod jest czysty: checklista danych
W skrócie: gdy bot na koncie zrobił coś innego niż w Testerze, najpierw szukam błędu w kodzie, a potem w danych. Prowadzę rejestr takich przypadków i wiem już, że dane psują się częściej, niż się spodziewałem: błędny pojedynczy tik, czas przesunięty o godzinę, przerwa w kwotowaniach. Poniżej pięć kategorii do odhaczenia, zanim zacznę przepisywać bota.
1. Błędny tik
Pojedynczy tik daleko od rynku, po którym cena wraca. W historii złota znalazłem tik z ceną 3914,40 przy poprzednim tiku 4086,97, czyli ok. 172 dolary niżej, a następny wracał do poprzedniego poziomu. Taki tik uruchamia SL albo TP w teście, a na realu nic. Jeden błąd wystarczy, by pojedynczy test pokazał stratę, której w prawdziwym handlu nie było. Szukam go skanerem skoku i powrotu (opis: błędny tik w historii złota).
2. Przesunięty czas
Świece z innym czasem niż zakładam. Po zmianie czasu u brokera zdarza się, że serwer przez kilka dni podaje czas o godzinę inny, albo że eksport jednego brokera ma całe okresy przesunięte o +1 h względem czasu Nowego Jorku. Analizy godzinowe na takim pliku są błędne, a bot zamyka pozycję o złej godzinie. Przypadek z awarią czasu: zły czas serwera 27 października.
3. Przerwa w kwotowaniach
Przy połączeniu z serwerem bez problemów przez ok. pół godziny nie było nowych notowań złota. Każda zmiana SL była odrzucana z kodem “brak cen” (10021), a pozycje ręczne zostały na starym SL. To nie błąd bota, tylko dane brokera. W teście takiej przerwy nie ma, bo historia jest ciągła albo ma lukę, którą Tester wypełnia po swojemu.
4. Luki i brakujące świece
Brak minut w środku sesji zmienia wskaźniki (EMA, ATR liczone na mniejszej liczbie świec) i potrafi przesunąć sygnał. Sprawdzam, czy w okresie testu nie ma dziur, zwłaszcza u brokerów z krótką historią.
5. Zdarzenia o dużej zmienności
Przy publikacji danych (np. NFP o 15:30 czasu polskiego) w historii tików Testera cena w jednym teście spadała do poziomu, którego na realu nie było, i serwerowy TP się nie wykonał. Zapisałem to jako podejrzenie, bo skan nie potwierdził błędu. Uczciwy wniosek: na wydarzeniach różnica między historią a realnym rynkiem bywa największa, a pojedyncza transakcja na newsie nie dowodzi niczego.
Jak to robię w praktyce
- Najpierw rejestr: czy ten serwer, symbol i data mają już wpis?
- Skan skoku i powrotu na okresie różnicy.
- Porównanie czasu pierwszej świecy tygodnia i godzin zamknięcia z czasem na realu.
- Sprawdzenie dziennika konta w minutach rozbieżności (odrzucone zlecenia, błędy 10021, 10006).
- Dopisanie nowego przypadku do rejestru jednym wierszem: data, serwer, jaki błąd, skutek.
Checklista
- Czy sprawdziłem rejestr błędnych danych dla tego serwera i daty?
- Czy skan nie znalazł pojedynczego tiku skoku i powrotu?
- Czy czas świec zgadza się z czasem serwera na realu?
- Czy w dzienniku konta nie ma odrzuceń przez brak cen?
- Czy historia w okresie różnicy nie ma luk?
- Czy różnica nie wypadła na newsie i czy to nie pojedyncza transakcja?
Powiązane
- Real kontra test na koncie: porównanie transakcja po transakcji
- Różnice Tester kontra live w kodzie bota
- Pojęcia: słowniczek, skorowidz
Źródła
Brak źródeł zewnętrznych - przypadki z własnego rejestru błędów danych (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.