Funkcje matematyczne:   MathMax()

Funkcja double MathMax() zwraca największą z dwóch liczb, zapisanych w nagłówku funkcji. Więcej informacji można znaleźć w specyfikacji MQL4.


Przykład 1

#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() .