Zamknięcie pozycji przed weekendem - ustawienie w bocie
W skrócie: piątkowe zamknięcie to parametr bota, który o ustalonej godzinie zamyka wszystkie pozycje, kasuje zlecenia oczekujące i nie pozwala wejść do poniedziałku. Godzinę ustawiam co najmniej 10-15 minut przed końcem piątkowej sesji danego symbolu u danego brokera. Piątkowa sesja bywa krótsza niż w pozostałe dni i na tym można się przejechać.
Po co bot ma to robić sam
Powody są dwa. Pierwszy to luka weekendowa: rynek otwiera się w niedzielę wieczorem w innym miejscu, niż zamknął się w piątek, i stop loss wykonuje się po cenie otwarcia, a nie po swojej. Strata jest wtedy większa niż zaplanowane ryzyko. Drugi to zasady prop firm: część kont zabrania trzymania pozycji przez weekend i za złamanie zakazu można stracić konto, nawet jeśli pozycja była na plusie.
Ręczne zamykanie w piątek wieczorem działa do pierwszego piątku, w którym nie ma mnie przy komputerze.
Co powinno objąć ustawienie
Sama godzina to za mało. Dobrze zrobione piątkowe zamknięcie robi trzy rzeczy.
Zamyka otwarte pozycje. Wszystkie pozycje tego bota na tym symbolu, niezależnie od wyniku.
Kasuje zlecenia oczekujące. O tym najłatwiej zapomnieć. Zlecenie stop albo limit zostawione na weekend wypełni się na niedzielnym otwarciu, w luce, bez udziału bota. Efekt jest taki sam jak trzymanie pozycji przez weekend, tylko gorszy, bo cena wejścia jest przypadkowa.
Blokuje nowe wejścia do końca dnia. Bez tego bot zamknie pozycję o ustalonej godzinie, a pięć minut później dostanie nowy sygnał i otworzy następną.
W swoich botach trzymam to jako osobną opcję, domyślnie wyłączoną, z własną godziną i minutą. Zwykłe dzienne zamknięcie i zamknięcie piątkowe to dwa różne ustawienia, bo piątek zwykle wymaga wcześniejszej godziny.
Jaką godzinę ustawić
Godzina w bocie to czas serwera brokera, a nie czas polski. Najpierw trzeba więc sprawdzić, do której w piątek trwa sesja symbolu. W MT5: prawy przycisk na symbolu w oknie Obserwacja rynku, Specyfikacja, tabela sesji na dole. Piątek ma w niej osobny wiersz.
Moje zasady:
- zamknięcie co najmniej 10-15 minut przed końcem piątkowej sesji,
- dzienne zamknięcie standardowo o 22:45 czasu serwera, piątkowe nie później,
- każda godzina po 22:45 wymaga sprawdzenia specyfikacji symbolu, bo indeksy kończą sesję wcześniej niż forex,
- na koncie z zakazem trzymania przez weekend godzina z dużym zapasem, np. godzinę przed końcem sesji.
Zapas ma dwa powody. W ostatnich minutach piątkowej sesji spread rośnie, więc zamknięcie kosztuje więcej. A jeśli pierwsze zlecenie zamknięcia zostanie odrzucone, bot potrzebuje czasu na ponowienie.
Pięć minut, które kosztują weekend
Przykład z moich testów. Bot na złoto uruchomiony na indeksie US30 miał zamknięcie ustawione na 22:55 czasu serwera. U tego brokera US30 handluje 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ł zlecenie z błędem “market closed”, pozycja została na weekend, a bot ponawiał zamknięcie co 15 sekund aż do poniedziałku.
Od poniedziałku do czwartku to samo ustawienie działało bez zarzutu. Błąd pokazywał się tylko w piątki, więc w krótkim teście łatwo go nie zauważyć. Szerzej opisuję ten przypadek w artykule o przerwie dobowej indeksów i złota.
Wniosek: godzinę zamknięcia dobieram do piątkowej sesji konkretnego symbolu, a nie do tego, co działało na innym instrumencie.
Jak sprawdzić, że działa
W testerze strategii uruchamiam bota na kilku miesiącach i patrzę na listę transakcji. Żadna pozycja nie powinna mieć otwarcia w piątek i zamknięcia w poniedziałek. Jeśli taka jest, piątkowe zamknięcie nie zadziałało albo godzina wypadła po końcu sesji.
W logu testera szukam błędów zamknięcia w piątki. Powtarzający się błąd “market closed” o tej samej godzinie znaczy, że ustawienie jest za późne.
Na koncie sprawdzam pierwszy piątek po wdrożeniu: czy o ustawionej godzinie w historii jest zamknięcie i czy na liście zleceń nie zostało nic oczekującego.
Zmiana czasu też ma znaczenie. Serwery brokerów przestawiają zegar w innych terminach niż Polska, a część w ogóle inaczej liczy czas. Godzina dobra latem może zimą wypaść godzinę za późno albo za wcześnie względem sesji giełdy.
Kiedy nie zamykać
Nie każda strategia powinna zamykać w piątek. Bot, który trzyma pozycje kilka dni i ma szeroki stop loss, po wymuszonym zamknięciu co tydzień traci część zysku z trendu. Wtedy luka weekendowa jest kosztem strategii i trzeba ją wliczyć w ryzyko, a konto wybrać takie, które trzymanie przez weekend dopuszcza. Wpływ sprawdzam zwykłym porównaniem: ten sam test z opcją włączoną i wyłączoną.
Checklista
- sprawdzona piątkowa sesja symbolu w specyfikacji u brokera,
- godzina zamknięcia 10-15 minut przed końcem piątkowej sesji, w czasie serwera,
- ustawienie zamyka pozycje, kasuje zlecenia oczekujące i blokuje nowe wejścia,
- test: brak pozycji otwartych w piątek i zamkniętych w poniedziałek,
- log bez błędów “market closed” w piątki,
- sprawdzone zasady konta prop dotyczące weekendu,
- godzina sprawdzona ponownie po zmianie czasu.
Powiązane
- Przerwa dobowa indeksów i złota
- Piątkowe zamknięcie i luka weekendowa
- Zakaz trzymania pozycji przez weekend w prop firmach
- Luka cenowa i stop loss
- Pojęcia z artykułu: słowniczek, skorowidz
Ostrzeżenie: handel CFD i forex wiąże się z wysokim ryzykiem utraty kapitału. Godziny sesji różnią się między brokerami i zmieniają się w czasie, sprawdź je u siebie. Artykuł ma charakter edukacyjny i nie jest rekomendacją inwestycyjną.