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.
| Typ | Położenie względem ceny |
|---|---|
BUY_LIMIT | poniżej ask |
BUY_STOP | powyżej ask |
SELL_LIMIT | powyżej bid |
SELL_STOP | poniż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));