Funkcja double OrderTakeProfit() zwraca poziom takeprofit wybranej otwartej pozycji lub oczekującego zlecenia, tj. ceny po osiągnięciu której następuję jej zamknięcie z zyskiem. Jeśli pozycja/zlecenie nie ma ustawionego takeprofit, funkcja zwróci 0. Więcej informacji można znaleźć w specyfikacji MQL4.
#property strict void OnStart() { int Ticket = 141849603; // unikalny numer (ticket) otwartej pozycji //--- przeszukać listę otwartych pozycji/oczekujących zleceń //--- oraz historię zamkniętych pozycji/usuniętych zleceń //--- i wybrać do dalszego przetwarzania if(OrderSelect(Ticket, SELECT_BY_TICKET) == true) { //--- zmiennej CurrentTakeProfit przypisać cenę takeprofit double CurrentTakeProfit = OrderTakeProfit(); //--- wyświetlić dane Print("Cena takeprofit pozycji ",Ticket," = ",CurrentTakeProfit,"."); } else Print("Nie udało się wybrać pozycję ",Ticket,". Błąd = ",GetLastError()); }
Rys. 1. Przykład stosowania funkcji OrderTakeProfit().