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

MQL5 / Zlecenie

ORDER_TYPE

Typ zlecenia: rynkowe, limit, stop albo stop limit. Typ decyduje o tym, po której stronie ceny musi leżeć zlecenie, i to jest

long OrderGetInteger(ORDER_TYPE);

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

Sześć wartości: ORDER_TYPE_BUY, ORDER_TYPE_SELL oraz cztery typy oczekujące — BUY_LIMIT, SELL_LIMIT, BUY_STOP, SELL_STOP. Do tego dwa typy stop limit i zlecenie zamykające przeciwstawnie.

Dlaczego to nie jest oczywiste

Typ decyduje o tym, po której stronie ceny musi leżeć zlecenie, i to jest najczęstsze źródło 10015. Zamiana limitu ze stopem miejscami wygląda w kodzie niewinnie, bo obie nazwy brzmią podobnie, a różnica jest zasadnicza: limit czeka na cofnięcie ceny, stop na jej przebicie.

TypPołożenie względem ceny
BUY_LIMITponiżej ask
BUY_STOPpowyżej ask
SELL_LIMITpowyżej bid
SELL_STOPponiżej bid

Kod

ORDER_TYPE
long typ = OrderGetInteger(ORDER_TYPE);

bool oczekujace = (typ != ORDER_TYPE_BUY && typ != ORDER_TYPE_SELL);

if(oczekujace)
   PrintFormat("zlecenie oczekujace typu %s, cena %.5f",
               EnumToString((ENUM_ORDER_TYPE)typ),
               OrderGetDouble(ORDER_PRICE_OPEN));

Powiązane