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.
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; }
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();