Funkcja double MathMax() zwraca największą z dwóch liczb, zapisanych w nagłówku funkcji. Więcej informacji można znaleźć w specyfikacji MQL4.
#property strict
void OnStart()
{
//--- porównać liczby zmiennoprzecinkowe
double result_1 = MathMax(0.0,5.5); // największa liczba z 0.0 i 5.5 = 5.5
Print("1) result_1 = ",result_1);
Print("2) MathMax(49.5,-7.5) = ",MathMax(49.5,-7.5)); // największa liczba z 49.5 i -7.5 = 49.5
Print("3) MathMax(100.1,MathMax(49.5,-7.5)) = ",
MathMax(100.1,MathMax(49.5,-7.5))); // najpierw obliczana jest największa liczba z 49.5 i -7.5 = 49.5
// następnie największa liczba z 100.1 i 49.5 = 100.1
//--- porównać liczby całkowite
double result_2 = MathMax(-10,-9); // największa liczba z -10 i -9 = -9
Print("4) result_2 = ",result_2);
Print("5) MathMax(1,1) = ",MathMax(1,1)); // największa liczba z 1 i 1 = 1
//--- porównać liczbę zmiennoprzecinkową i liczbę całkowitą
Print("6) MathMax(1,1.0) = ",MathMax(1,1.0));
}
Funkcja może pracować z liczbami całkowitymi bez ich konwersji na liczby zmiennoprzecinkowe. Jeśli funkcji przekazać dwie wartości o różnych typach, wtedy wartość niższego typu zostaje automatycznie przekonwertowana na wyższty typ (rys. 1, przykład 6).
Rys. 1. Przykłady stosowania funkcji MathMax().
Jeśli trzeba znaleźć najmniejszą z dwóch liczb, należy zastosować funkcję MathMin() .