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

MQL5 / Zlecenie

ORDER_MAGIC

Numer magiczny eksperta, który wystawił zlecenie. Numer przechodzi ze zlecenia na pozycję: pozycja powstała z wykonania

long OrderGetInteger(ORDER_MAGIC);

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

Ta sama liczba, którą podano w polu magic zapytania. Służy do rozpoznania własnych zleceń wśród cudzych.

Dlaczego to nie jest oczywiste

Numer przechodzi ze zlecenia na pozycję: pozycja powstała z wykonania zlecenia dziedziczy jego numer magiczny. Na rachunku netting oznacza to, że numer pozycji zmienia się wraz z ostatnim zleceniem, które ją zmodyfikowało — pozycja otwarta przez jednego eksperta i powiększona przez drugiego ma numer tego drugiego.

Filtrowanie zleceń wyłącznie po numerze magicznym, bez sprawdzenia symbolu, zbiera też zlecenia tego samego eksperta z innych instrumentów.

Kod

ORDER_MAGIC
for(int i = OrdersTotal() - 1; i >= 0; i--)
  {
   ulong bilet = OrderGetTicket(i);
   if(bilet == 0)
      continue;

   if(OrderGetInteger(ORDER_MAGIC) != (long)Magic)
      continue;
   if(OrderGetString(ORDER_SYMBOL) != _Symbol)
      continue;

   PrintFormat("nasze zlecenie: %I64u", bilet);
  }

Powiązane