Funkcja int ArrayMaximum() szuka największej wartości liczbowej w jednowymiarowej tablice i zwraca indeks tego elementu. Więcej informacji można znaleźć w specyfikacji MQL4.
Skrypt, który w całej WHOLE_ARRAY tablice array[] od elementu z indeksem 0, szuka elementu o maksymalnej wartości.
#property strict
void OnStart()
{
//---
int array[] = {10, 47, 8, 25, 9}; // tablica jednowymiarowa
//--- zakres poszukiwań
int count = WHOLE_ARRAY; // cała tablica, wartość domyślna
int startPos = 0; // indeks elementu początkowego, wartość domyślna
//--- znaleźć indeks elementu o maksymalnej wartości
int result = ArrayMaximum(array, count, startPos); // 1
//--- wyświetlić wynik
Print("Indeks elementu o maksymalnej wartości = ",result,
", jego wartość = ",array[result]);
}
Rys. 1. Przykład stosowania funkcji ArrayMaximum().
Skrypt, który w tablice array[] od elementu z indeksem 2 wśród kolejnych 3 elementów, tj. do indeksu 5, szuka elementu o maksymalnej wartości.
#property strict
void OnStart()
{
//---
double array[] = {7.7, 11.1, 5.5, 4.2, 2.7, 9.9};
//--- zakres poszukiwań
int count = 3;
int startPos = 2;
//--- znaleźć indeks elementu o maksymalnej wartości
int result = ArrayMaximum(array, count, startPos); // 2
//--- wyświetlić wynik
Print("Indeks elementu o maksymalnej wartości = ",result,
", jego wartość = ",array[result]);
}
Rys. 2. Przykład stosowania funkcji ArrayMaximum().
Jeśli trzeba znaleźć indeks elementu tablicy, który ma minimalną wartość, należy zastosować funkcję ArrayMinimum() . W celu znalezienia najwyższej wartości w predefiniowanych tablicach historycznych danych cenowych, należy zastosować funkcję iHighest()