【MQL4勉強プログラミング】ArrayMaximum()関数で最大値を格納している要素のインデックスを取得

ザフナーラボブログ

ArrayMaximum()関数は、指定した配列に含まれる要素のうち、最大値を格納している要素の位置(=インデックス)を取得するために使用します。

ArrayMaximum()関数は、以下のように定義されています。

int ArrayMaximum(
const void array[],
int count=WHOLE_ARRAY,
int start=0
);

各引数の意味は、以下のとおりです。

  • const void array[]
    要素の最大値を取得したい配列名を指定します。
  • int count
    最大値を検索する要素数を指定します。
    標準ではすべての要素について最大値を検索します。
  • int start
    最大値の検索を始める要素の位置(=インデックス)を指定します。

戻り値

最大値を格納している要素の位置(=インデックス)を返します。

最大値の検索が失敗した場合は、「-1」を返します。

具体例

特定の配列の要素のうち、最大値を取得したい場合は、以下のように記述します。


int start()
{
 double Array[5]= {4,1,6,3,9}; //配列の宣言

 int Max_Value_Index
 = ArrayMaximum(Array,WHOLE_ARRAY,0);
 /*変数「Max_Value_Index」に配列「Array」の要素のうち、最大値を格納している要素のインデックスが格納される*/

 double Max_Value = Array[Max_Value_Index];
 /*変数「Max_Value_Index」には「4」が格納されているので、変数「Max_Value」には配列「Array」の要素のうち、最大値である「9」が格納される*/

 return(0);
}