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

MQL5 / Instrument

SYMBOL_ORDER_MODE

Maska bitowa typów zleceń dozwolonych dla instrumentu. Najczęściej pomijane bity to `SYMBOL_ORDER_SL` i `SYMBOL_ORDER_TP`. Istnieją

long SymbolInfoInteger(string symbol, SYMBOL_ORDER_MODE);

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

Mówi, czy instrument przyjmuje zlecenia rynkowe, limit, stop, stop limit, poziomy stop loss i take profit oraz zamykanie pozycją przeciwstawną.

Dlaczego to nie jest oczywiste

Najczęściej pomijane bity to SYMBOL_ORDER_SL i SYMBOL_ORDER_TP. Istnieją instrumenty, na których nie da się w ogóle ustawić poziomów zabezpieczających przy zleceniu — wyjściem musi zarządzać sam ekspert. Kod wysyłający zapytanie z wypełnionymi polami sl i tp dostaje wtedy 10016 i wygląda to na błąd w wyliczeniu poziomów, którym nie jest.

Bit SYMBOL_ORDER_CLOSEBY decyduje o dostępności zamykania pozycji przeciwstawną — operacji, która na rachunkach hedging bywa tańsza niż dwa osobne zamknięcia.

Kod

SYMBOL_ORDER_MODE
long tryby = SymbolInfoInteger(symbol, SYMBOL_ORDER_MODE);

bool wolnoOczekujace = ((tryby & SYMBOL_ORDER_LIMIT) == SYMBOL_ORDER_LIMIT);
bool wolnoStopy      = ((tryby & SYMBOL_ORDER_SL) == SYMBOL_ORDER_SL);

if(!wolnoStopy)
   Print("Ten instrument nie przyjmuje stop lossa w zleceniu - "
         "wyjsciem musi zarzadzac ekspert.");

Powiązane