Funkcja double MathMin() zwraca najmniejszą 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 = MathMin(0.0,5.5); // najmniejsza liczba z 0.0 i 5.5 = 0.0
Print("1) result_1 = ",result_1);
Print("2) MathMin(49.5,-7.5) = ",MathMin(49.5,-7.5)); // najmniejsza liczba z 49.5 i -7.5 = -7.5
Print("3) MathMin(100.1,MathMin(49.5,-7.5)) = ",
MathMin(100.1,MathMin(49.5,-7.5))); // najpierw obliczana jest najmniejsza liczba z 49.5 i -7.5 = -7.5
// następnie najmniejsza liczba z 100.1 i -7.5 = -7.5
//--- porównać liczby całkowite
double result_2 = MathMin(-10,-9); // najmniejsza liczba z -10 i -9 = -10
Print("4) result_2 = ",result_2);
Print("5) MathMin(1,1) = ",MathMin(1,1)); // najmniejsza liczba z 1 i 1 = 1
//--- porównać liczbę zmiennoprzecinkową i liczbę całkowitą
Print("6) MathMin(1,1.0) = ",MathMin(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 MathMin().
Jeśli trzeba znaleźć najmniejszą z dwóch liczb, należy zastosować funkcję MathMax() .