Funkcja double OrderProfit() zwraca wartość zysku z wyłączeniem prowizji i swap. Dla otwartych pozycji jest to bieżący zysk (strata jest ze znakiem minus). Dla zamkniętych pozycji jest to zysk osiągnięty. Więcej informacji można znaleźć w specyfikacji MQL4.
#property strict void OnStart() { int Ticket = 141844338; // unikalny numer (ticket) 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 CurrentProfit przypisać zysk double CurrentProfit = OrderProfit(); //--- wyświetlić dane Print("Zysk pozycji ",Ticket," jest ",CurrentProfit," ",AccountCurrency()); } else Print("Nie udało się wybrać pozycję ",Ticket,". Błąd = ",GetLastError()); }
Rys. 1. Przykład stosowania funkcji OrderProfit().