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
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;