EN
Artykuły / 1.2 Sesje i czas
Sesje i czasszkic

Przerwa dobowa indeksów i złota - co dzieje się z pozycją

14.11.20267 min czytania

W skrócie: złoto i indeksy nie handlują całą dobę. Raz na dobę jest przerwa, zwykle około godziny, i u każdego brokera wypada o trochę innej porze. W przerwie pozycja zostaje otwarta, ale nie da się jej zamknąć, a stop loss zadziała dopiero po pierwszej cenie po otwarciu rynku.

Bot chciał zamknąć pozycję pięć minut za późno

Pokażę to na własnym błędzie z testów. Mój bot na złoto, wybicie z kanału EMA w sesji azjatyckiej (bot 2010_GoldAsiaEmaChannelBreakoutEA), miał ustawione zamknięcie pozycji na 22:55 czasu serwera. Na złocie to działało. Potem puściłem serię testów na indeksach, na serwerze MetaQuotes-Demo.

US30 ma tam sesję od poniedziałku do czwartku do 22:59, a w piątek do 22:55. W piątek o 22:55 rynek był już zamknięty. Serwer odrzucił zamknięcie z błędem 10018 (market closed), pozycja została otwarta na cały weekend, a bot próbował ją zamknąć co 15 sekund aż do poniedziałku. W teście z kilku lat takich weekendów były setki i sam log urósł o setki tysięcy linii.

Pięć minut różnicy w ustawieniu, a skutek to pozycja trzymana przez weekend, której nikt nie planował.

Skąd ta przerwa

CFD na złoto i indeksy idą za kontraktami futures z giełdy CME w USA. Tam handel trwa prawie całą dobę, z godzinną przerwą techniczną od 17:00 do 18:00 czasu Nowego Jorku, czyli zwykle od 23:00 do 24:00 czasu polskiego. Brokerzy CFD w tym czasie też nie podają cen, a wielu dokłada kilka minut przed przerwą albo po niej.

Dlatego nie ma jednej odpowiedzi na pytanie “o której zamyka się złoto”. Zależy od brokera i od tego, jaki czas pokazuje jego serwer.

Godziny u moich brokerów

To są godziny handlu ze specyfikacji symbolu, odczytane w listopadzie 2026, w czasie serwera danego brokera:

Symbol i serwer Poniedziałek-czwartek Piątek
Złoto, MetaQuotes-Demo 00:00-23:00 00:00-23:00
Złoto, FundingPips 01:00-23:59 01:00-23:49
Złoto, SpiceProp 01:05-23:55 01:05-23:55
US30, MetaQuotes-Demo 00:00-22:59 00:00-22:55
NAS100, Fusion Markets (demo) 01:00-23:59 01:00-23:59

Godziny handlu złota i indeksów u różnych brokerów

W tabeli widać kilka pułapek naraz. Piątek bywa krótszy niż reszta tygodnia: w FundingPips o 10 minut, na US30 w MetaQuotes-Demo o 4 minuty. Przerwa raz wypada przed północą serwera, raz po niej. I te godziny nie są stałe.

Dwa przykłady zmian, które sam widziałem w danych:

  • MetaQuotes-Demo do 6 marca 2026 kwotował złoto do 23:58-23:59. Od 9 marca kończy o 23:00. Nikt o tym nie informował, wyszło dopiero przy porównaniu świec M1 z innym brokerem.
  • SpiceProp ma zegar serwera stały przez cały rok, bez zmiany czasu. Rynek złota otwiera się jednak według czasu Nowego Jorku, więc latem sesja w czasie serwera trwała od 00:05 do 22:54, a zimą od 01:05 do 23:55. Bot ze stałymi godzinami działa wtedy o godzinę inaczej względem rynku.

Jak sprawdzić godziny w MT5

  1. Otwieram Okno rynku (Ctrl+M) i klikam prawym przyciskiem na symbol.
  2. Wybieram Specyfikacja.
  3. Na dole okna jest tabela Sesje, osobno dla każdego dnia tygodnia. Są w niej dwie kolumny: kwotowania i handel. Dla zleceń liczy się handel.

Godziny w tej tabeli są w czasie serwera, nie w polskim. Czas serwera widać w Oknie rynku, nad listą symboli.

Specyfikacja pokazuje ustawienia na dziś. Jeśli testuję bota na danych sprzed roku, sesja mogła wtedy wyglądać inaczej, jak w przykładzie z marca. Do analiz historycznych patrzę więc na same świece M1: o której była ostatnia świeca dnia i o której pierwsza następnego.

Co dzieje się z pozycją w przerwie

Pozycja zostaje otwarta. Nic jej nie zamyka tylko dlatego, że rynek stoi.

Stop loss i take profit leżą na serwerze brokera, ale bez cen nie mają jak zadziałać. Jeśli po przerwie pierwsza cena jest już za SL, pozycja zamknie się po tej cenie, a nie po cenie SL. To jest luka cenowa: przy ryzyku 100 USD strata może wyjść 150 albo 200 USD.

Zamknąć pozycji w przerwie się nie da. Ani z ręki, ani botem, ani z telefonu. Serwer odpowiada “rynek zamknięty” (market closed, kod 10018). Zmiana SL albo TP zwykle też jest odrzucana. Jeśli wieczorem wychodzi ważna wiadomość, a rynek akurat stoi, zostaje czekanie na otwarcie.

Jest jeszcze spread. W ostatnich minutach przed przerwą i w pierwszych po niej bywa kilka razy szerszy niż w ciągu dnia. Pozycja sprzedaży zamyka się po cenie ask, więc szeroki spread potrafi wybić SL, choć na wykresie (cena bid) cena do niego nie doszła. Z tego powodu nie ustawiam zamknięcia na ostatnią minutę sesji.

Na koniec swap. Za pozycję przeniesioną na następny dzień broker nalicza punkty swapowe, raz w tygodniu w potrójnej wysokości. Dla intraday to nie ma znaczenia, dla pozycji trzymanej kilka dni już tak.

Co robi bot w przerwie

Bot w MT5 działa na tikach. Nie ma cen, to nie ma tików i funkcja OnTick się nie uruchamia. Bot, który całą logikę ma w OnTick, przez tę godzinę śpi. Bot z timerem działa dalej i tu zaczyna się kłopot z mojego przykładu: timer co kilkanaście sekund wysyła zamknięcie, serwer co kilkanaście sekund je odrzuca.

Po tym przypadku przyjąłem dwie zasady. Standardowa godzina zamknięcia w moich botach to 22:45 czasu serwera, bo mieści się w sesji u wszystkich brokerów z tabeli i zostawia kwadrans zapasu. Druga zasada: bot sam czyta godziny sesji symbolu i poza sesją nie wysyła zleceń.

W MQL5 godziny sesji da się odczytać standardową funkcją:

// Czy symbol jest teraz w sesji handlowej (czas serwera)
bool IsInTradeSession(const string symbol)
  {
   MqlDateTime now;
   TimeToStruct(TimeCurrent(), now);
   int secondsNow = now.hour * 3600 + now.min * 60 + now.sec;
   datetime from, to;
   // dzień może mieć kilka sesji, sprawdzam po kolei
   for(uint i = 0; SymbolInfoSessionTrade(symbol, (ENUM_DAY_OF_WEEK)now.day_of_week, i, from, to); i++)
     {
      int secondsTo = (to == 0) ? 86400 : (int)to;   // koniec 00:00 oznacza 24:00
      if(secondsNow >= (int)from && secondsNow < secondsTo)
         return true;
     }
   return false;
  }

Przerwa zmienia też wyniki testów

Tego się nie spodziewałem. Mój bot na złoto, który wchodzi po cofnięciu w kanale Donchiana (bot 2908_DonchianPullbackEA), ustawia SL na przeciwnej krawędzi kanału. Kanał liczy z określonej liczby świec, nie z godzin. Broker z krótszą sesją ma w ciągu doby mniej świec, więc to samo okno sięga u niego dalej wstecz.

5 października 2026 bot otworzył tę samą sprzedaż u trzech brokerów, po praktycznie tej samej cenie. Na MetaQuotes-Demo kanał objął jeszcze piątkowy szczyt, SL wypadł około 50 USD od ceny i lot wyszedł 0,01. Strata: 18 USD. W FundingPips SL był około 20 USD od ceny, lot 0,04, strata 81 USD. W SpiceProp lot 0,05 i strata 91 USD.

Ten sam bot, to samo wejście, a wynik różni się ponad cztery razy, bo jeden broker kończy dzień godzinę wcześniej. Dlatego wynik z konta demo MetaQuotes traktuję jako wstępny, a bota testuję jeszcze raz na danych brokera, u którego ma działać.

Checklista

  • znam godziny handlu symbolu u mojego brokera, osobno dla piątku,
  • godzina zamknięcia w bocie wypada co najmniej kilka minut przed końcem sesji, także w piątek,
  • bot nie wysyła zleceń poza sesją (albo przynajmniej nie ponawia ich co kilka sekund),
  • wiem, czy bot trzyma pozycję przez przerwę, i liczę się z luką,
  • po zmianie czasu w USA i w Europie sprawdzam godziny jeszcze raz,
  • test bota zrobiony na danych brokera docelowego, nie tylko na demo.

Powiązane

Źródła

  • CME Group, godziny handlu kontraktów E-mini Nasdaq-100 i złota na CME Globex (przerwa 17:00-18:00 czasu Nowego Jorku): FAQ CME, karta kontraktu na złoto. Sprawdzone 14.11.2026.
  • Godziny sesji brokerów: specyfikacje symboli w MT5 i świece M1 z moich kont, listopad 2026.

Ostrzeżenie: handel CFD i forex wiąże się z wysokim ryzykiem utraty kapitału. Godziny handlu i warunki u brokerów zmieniają się, sprawdź je na własnym koncie. Artykuł ma charakter edukacyjny i nie jest rekomendacją inwestycyjną.