Funkcja double OrderSwap() zwraca wartość naliczonego swap dla otwartej pozycji. Jest to operacja naliczania odsetek, dodatnich lub ujemnych, za pozostawienie pozycji na następny dzień. Konieczność naliczania swap wynika z różnicy stóp procentowej pomiędzy walutami. Na przykład, dla pozycji otwartej dla EURUSD swap zależny od stóp procentowych EUR i USD oraz czy jest to pozycja kupna (długa) czy sprzedaży (krótka). 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 CurrentSwap przypisać wartość swap double CurrentSwap = OrderSwap(); //--- wyświetlić dane Print("Swap pozycji ",Ticket," jest ",CurrentSwap,"."); } else Print("Nie udało się wybrać pozycję ",Ticket,". Błąd = ",GetLastError()); }
Rys. 1. Przykład stosowania funkcji OrderSwap().