
MQL4MQL5 配列
ArrayMaximum()
- できること
- 配列の中で最も大きい要素の位置を求める
- 対応
- MQL4・MQL5
ArrayMaximum() とは
配列の中で最も大きい値が入っている要素の位置(添字)を返す関数です。値そのものは 配列[ArrayMaximum(配列)] で取得します。
ArrayMaximum() の書式と引数
MQL4 の場合MT4
int ArrayMaximum(
const void &array[],
int count=WHOLE_ARRAY,
int start=0
)| 引数 | 型 | 省略時 | 説明 |
|---|---|---|---|
array | const void &[] | 必須 | 調べる配列。 |
count | int | WHOLE_ARRAY | 調べる個数。 |
start | int | 0 | 調べ始める位置。 |
戻り値(MQL4)
最大値の位置。
MQL5 の場合MT5
int ArrayMaximum(
const void &array[],
int start=0,
int count=WHOLE_ARRAY
)| 引数 | 型 | 省略時 | 説明 |
|---|---|---|---|
array | const void &[] | 必須 | 調べる配列。 |
start | int | 0 | 調べ始める位置。 |
count | int | WHOLE_ARRAY | 調べる個数。 |
戻り値(MQL5)
最大値の位置。
ArrayMaximum() の使い方(コード例)
MQL4・MQL5 共通
double h[];
if(CopyHigh(_Symbol, PERIOD_CURRENT, 1, 20, h) == 20)
{
int k = ArrayMaximum(h);
Print("20本の最高値:", h[k]);
}OnTick()・OnStart() などの関数の中に書いて使う例です。MetaEditor でコンパイルできることを確認済みです。
ArrayMaximum() の注意点
- MQL4 と MQL5 で count と start の順番が逆です。範囲を指定するときは注意します。
MQL4 と MQL5 の違い
MQL4:ArrayMaximum(配列, 個数, 開始位置)。MQL5:ArrayMaximum(配列, 開始位置, 個数)。引数の順番が入れ替わっています。












