Harmonogram i EOD Terminator

10. Harmonogram i EOD Terminator

Harmonogram sesji (lokalny czas terminala)

Każdy dzień tygodnia ma własne okno handlowe:

Poniedziałek:  Inp_Hours_Monday    = "00:00-22:00"
Wtorek:        Inp_Hours_Tuesday   = "00:00-22:00"
Środa:         Inp_Hours_Wednesday = "00:00-22:00"
Czwartek:      Inp_Hours_Thursday  = "00:00-22:00"
Piątek:        Inp_Hours_Friday    = "00:00-05:00"  // wcześniejsze zakończenie

Format: "HH:MM-HH:MM" — można wpisać wiele przedziałów oddzielonych przecinkiem np. "09:00-12:00,15:00-20:00". Sobota i niedziela automatycznie zablokowane.

EOD Terminator

Mechanizm awaryjnego zamknięcia wszystkich pozycji o określonej godzinie:

Piątek:        Inp_EOD_Time_Friday     = "21:39"
Inne dni:      Inp_EOD_Time_OtherDays  = "22:29"

Algorytm z retry:

  1. Próbuje zamknąć wszystkie pozycje na symbolu
  2. Jeśli broker odrzuci zlecenie → czeka 5 sekund → ponawia (max 10 prób)
  3. Po sukcesie: g_Last_EOD_Day = dt.day_of_year (nie powtarza tego samego dnia)

Log: "EOD TERMINATOR: Emergency closing all positions..." → "EOD SUCCESS: Closed position #123." → "EOD TERMINATOR: Chart cleared. Goodnight."