Przejdź do treści
MQL5 · MetaTrader 5 · po polsku
kod odczarowany

MQL5 / Zlecenie

ORDER_TYPE_TIME

Tryb wygasania zlecenia oczekującego. Tryb musi być obsługiwany przez instrument, a nie tylko sensowny logicznie.

long OrderGetInteger(ORDER_TYPE_TIME);

1 fragment kodu z tej strony przeszedł przez kompilator MetaEditor build 6090, 2026-08-05.

Cztery wartości: ORDER_TIME_GTC do odwołania, ORDER_TIME_DAY do końca dnia, ORDER_TIME_SPECIFIED do podanego momentu i ORDER_TIME_SPECIFIED_DAY do końca podanego dnia.

Dlaczego to nie jest oczywiste

Tryb musi być obsługiwany przez instrument, a nie tylko sensowny logicznie. Dostępne tryby zwraca maska SYMBOL_EXPIRATION_MODE i sprawdza się ją iloczynem bitowym.

Druga rzecz, mniej oczywista: ORDER_TIME_DAY oznacza koniec dnia handlowego serwera, a nie twojego. Zlecenie wystawione o 23:30 czasu lokalnego przy serwerze w innej strefie potrafi wygasnąć kilkanaście minut po wystawieniu.

Kod

ORDER_TYPE_TIME
long tryby = SymbolInfoInteger(_Symbol, SYMBOL_EXPIRATION_MODE);

if((tryby & SYMBOL_EXPIRATION_DAY) == SYMBOL_EXPIRATION_DAY)
   zapytanie.type_time = ORDER_TIME_DAY;
else
   zapytanie.type_time = ORDER_TIME_GTC;

Powiązane