EN
Artykuły / 4.2 Błędy danych
Błędy danychszkic

Real różni się od testu, a kod jest czysty: checklista danych

15.11.20263 min czytania

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

Ź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.

Dalej w rozdziale

79

Zły czas serwera: awaria MetaQuotes-Demo 27 października

Serwer demo wrócił po awarii ze śmieciowymi tikami i czasem w roku 2803. Boty przestały handlować, narzędzie podtrzymujące otworzyło fałszywe pozycje, a skutki wyszły dopiero tydzień później. Co zmieniłem.