Predefiniowana zmienna int _LastError przechowuje wartość ostatniego błędu, który wystąpił w trakcie działania programu MQL4. Do wyzerowania wartości błędu należy stosować funkcję ResetLastError() . Więcej informacji można znaleźć w specyfikacji MQL4.
Do określenia błędu zamiast _LastError zalecane jest stosowanie funkcji GetLastError() .
Poniższy skrypt zawiera błąd przy otwarciu pozycji na kupno po bieżącej cenie rynkowej. Na miejscu 4 parametru należy wpisać Ask, jednak celowo wpisano Bid aby spowodować wygenerowanie błędu 129 (ERR_INVALID_PRICE) . W kodzie zamiast predefiniowanej zmiennej zastosowano funkcję GetLastError().
#property strict
void OnStart()
{
//--- błędna próba otwarcia pozycji na kupno
if(OrderSend(_Symbol, OP_BUY, 0.1, Bid, 10, 0, 0) < 0)
Print("Otwarcie pozycji kupna nie powiodło się. Błąd = ",GetLastError());
else
Print("Otwarto pozycję kupna.");
}
Rys. 1. Przykład stosowania funkcji GetLastError().