(‘mt5’, ‘MQL5’)MQL5専用四本値の取得
CopyHigh高値をまとめて配列にコピーする(MQL5)
指定した本数分の高値を配列にコピーする。MQL4のiHighに相当。ArrayMaximumと組み合わせて、直近高値のブレイクアウト判定によく使う。
1書式
int CopyHigh( string symbol, ENUM_TIMEFRAMES timeframe, int start, int count, double &high_array[] );
MQL4のiHigh(1本ずつ)に相当。iHighest相当の処理はこれとArrayMaximumの組み合わせで作る。
2引数
| 引数 | 内容 |
|---|---|
| symbol / timeframe | 銘柄と時間足 |
| start / count | 何本前から何本分か |
| high_array | 結果を受け取る配列 |
3戻り値
コピーした本数。
4使用例
double highs[];
ArraySetAsSeries(highs, true);
CopyHigh(_Symbol, PERIOD_CURRENT, 1, 20, highs);
int pos = ArrayMaximum(highs);
Print("直近20本の高値: ", highs[pos]);
MetaEditorでコンパイル0エラー・0警告を確認済み。
5MQL4→MQL5の違い
🔁 差分
MQL4ではiOpen等で1本ずつ値を読んでいたが、MQL5ではこの関数群で指定した本数をまとめて配列にコピーしてから使う設計になる。1本だけ欲しいときも、要素数1の配列としてコピーする。