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

MQL5 / Zlecenie

ORDER_TYPE_FILLING

Tryb wypełnienia przypisany do zlecenia. Dla zleceń oczekujących właściwym trybem jest zwykle `ORDER_FILLING_RETURN`,

long OrderGetInteger(ORDER_TYPE_FILLING);

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

Określa, co serwer robi, gdy zlecenia nie da się wypełnić w całości: ORDER_FILLING_FOK, _IOC, _RETURN albo _BOC.

Dlaczego to nie jest oczywiste

Dla zleceń oczekujących właściwym trybem jest zwykle ORDER_FILLING_RETURN, niezależnie od tego, co pokazuje maska SYMBOL_FILLING_MODE — ta maska opisuje zlecenia natychmiastowe.

Kod, który dobiera tryb wypełnienia raz, na podstawie maski, i używa go do obu rodzajów zleceń, u części brokerów dostanie 10030 przy zleceniach oczekujących. Objawia się to jako „zlecenia rynkowe działają, oczekujące nie".

Kod

ORDER_TYPE_FILLING
//--- inny tryb dla zlecen rynkowych, inny dla oczekujacych
ENUM_ORDER_TYPE_FILLING TrybWypelnienia(const string symbol, const bool oczekujace)
  {
   if(oczekujace)
      return ORDER_FILLING_RETURN;

   long dozwolone = SymbolInfoInteger(symbol, SYMBOL_FILLING_MODE);

   if((dozwolone & SYMBOL_FILLING_FOK) == SYMBOL_FILLING_FOK)
      return ORDER_FILLING_FOK;

   return ORDER_FILLING_IOC;
  }

Powiązane