
MQL4MQL5 配列
ArraySort()
- できること
- 数値の配列を並べ替える
- 対応
- MQL4・MQL5
ArraySort() とは
数値の配列を小さい順(昇順)に並べ替える関数です。MQL4 では並べる範囲と、大きい順(降順)も指定できます。
ArraySort() の書式と引数
MQL4 の場合MT4
int ArraySort(
void &array[],
int count=WHOLE_ARRAY,
int start=0,
int direction=MODE_ASCEND
)| 引数 | 型 | 省略時 | 説明 |
|---|---|---|---|
array | void &[] | 必須 | 並べ替える配列(1次元の数値配列)。 |
count | int | WHOLE_ARRAY | 並べ替える個数。 |
start | int | 0 | 並べ替えを始める位置。 |
direction | int | MODE_ASCEND | MODE_ASCEND(昇順)または MODE_DESCEND(降順)。 |
戻り値(MQL4)
成功したら 0 以外の値(int 型)。
MQL5 の場合MT5
bool ArraySort(void &array[])| 引数 | 型 | 省略時 | 説明 |
|---|---|---|---|
array | void &[] | 必須 | 並べ替える配列(1次元の数値配列)。 |
戻り値(MQL5)
成功したら true。
ArraySort() の使い方(コード例)
MQL4・MQL5 共通
double a[] = {3.5, 1.2, 9.9, 4.4};
ArraySort(a);
Print(a[0], " ", a[1], " ", a[2], " ", a[3]); // 1.2 3.5 4.4 9.9OnTick()・OnStart() などの関数の中に書いて使う例です。MetaEditor でコンパイルできることを確認済みです。
ArraySort() の注意点
- 時系列(ArraySetAsSeries で true)にした配列では、見た目の並びが逆になります。
MQL4 と MQL5 の違い
MQL5 の ArraySort() は配列全体を昇順に並べるだけです。降順にしたいときは、昇順に並べてから後ろから読むか、ArraySetAsSeries() を使います。












