Funkcja int PositionLastOpenedType() zwraca typ ostatniej otwartej 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 otwarte pozycje.
Jeśli żądana pozycja nie istnieje, funkcja zwróci -1. W przypadku pozycji kupna OP_BUY funkcja zwróci 0, a na sprzedaż OP_SELL zwróci 1 .
int PositionLastOpenedType(string f_symbol="", // instrument finansowy int f_magic=-1) // identyfikator { //--- datetime f_timeOpen=0; int f_type=-1; for(int i=OrdersTotal()-1; i>=0; i--) if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) if((f_symbol==OrderSymbol() || f_symbol=="") && (f_magic ==OrderMagicNumber() || f_magic==-1)) if(OrderOpenTime()>f_timeOpen) { f_timeOpen=OrderOpenTime(); f_type=OrderType(); } return f_type; }
1) Znaleźć typ ostatniej otwartej pozycji dla EURUSD i z identyfikatorem 12345:
PositionLastOpenedType("EURUSD", 12345);
2) Znaleźć typ ostatniej otwartej pozycji dla EURUSD i z dowolnym identyfikatorem:
PositionLastOpenedType("EURUSD");
3) Znaleźć typ ostatniej otwartej pozycji wśród wszystkich instrumentów finansowych i identyfikatorem 12345:
PositionLastOpenedType("", 12345);
4) Znaleźć typ ostatniej otwartej pozycji wśród wszystkich instrumentów finansowych i z dowolnym identyfikatorem:
PositionLastOpenedType();