Funkcje własne:   PositionLastClosedType()

Funkcja int PositionLastClosedType() zwraca typ ostatniej zamkniętej pozycji. Ma następujące argumenty:

f_symbol - nazwa instrumentu finansowego. Wartość domyślna = "", tj. wszystkie instrumenty. W przypadku _Symbol funkcja zwróci typ dla instrumentu finansowego tego wykresu notowań, gdzie program MQL4 zostanie uruchomiony.
f_magic - identyfikator (magic number). Wartość domyślna = -1, tj. wszystkie zamknięte pozycje.

f_symbol - nazwa instrumentu finansowego. Wartość domyślna = "", tj. wszystkie instrumenty. W przypadku _Symbol funkcja zwróci typ dla instrumentu finansowego tego wykresu notowań, gdzie program MQL4 zostanie uruchomiony.

f_magic - identyfikator (magic number). Wartość domyślna = -1, tj. wszystkie zamknięte pozycje.

Jeśli w historii konta nie ma żądanej pozycji, funkcja zwróci -1. W przypadku pozycji kupna OP_BUY funkcja zwróci 0, a na sprzedaż OP_SELL zwróci 1 .

int PositionLastClosedType(string f_symbol="", // instrument finansowy
                           int    f_magic=-1)  // identyfikator
  {
//---
   datetime f_timeClose=0;
   int      f_type=-1;
   for(int i=OrdersHistoryTotal()-1; i>=0; i--)
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
         if((f_symbol==OrderSymbol()      || f_symbol=="") &&
            (f_magic ==OrderMagicNumber() || f_magic==-1))
            if(OrderCloseTime()>f_timeClose)
              {
               f_timeClose=OrderCloseTime();
               f_type=OrderType();
              }
   return f_type;
  }

Przykłady stosowania funkcji

1) Znaleźć typ ostatniej zamkniętej pozycji dla EURUSD i z identyfikatorem 12345:

PositionLastClosedType("EURUSD", 12345);

2) Znaleźć typ ostatniej zamkniętej pozycji dla EURUSD i z dowolnym identyfikatorem:

PositionLastClosedType("EURUSD");

3) Znaleźć typ ostatniej zamkniętej pozycji wśród wszystkich instrumentów finansowych i identyfikatorem 12345:

PositionLastClosedType("", 12345);

4) Znaleźć typ ostatniej zamkniętej pozycji wśród wszystkich instrumentów finansowych i z dowolnym identyfikatorem:

PositionLastClosedType();