MARKET
MT4ツールを、数字で作る。— Team REI|平日の朝に「相場分析」を更新しています|

ArrayCopyRates ― 過去の四本値をまとめて配列にコピーする(MQL4)|MQL4/MQL5リファレンス

MQLリファレンス›関数データの持ち方ArrayCopyRates
(‘mt4’, ‘MQL4’)配列要書き換え(MQL5)

ArrayCopyRates過去の四本値をまとめて配列にコピーする(MQL4)

指定した銘柄・時間足の、始値・高値・安値・終値・出来高・時刻を、1回の呼び出しでまとめて配列にコピーする。iOpen等を1本ずつ何度も呼ぶより効率がいい。

1書式

int ArrayCopyRates(
   double &rates_array[][6],   // 結果を受け取る配列
   string symbol=NULL,
   int    timeframe=0
);

MQL5では同じ役割をCopyRates(MqlRates構造体の配列で受け取る形)が担う。

2引数

引数 内容
rates_array 結果を受け取る2次元配列([本数][6])
symbol 対象銘柄。NULLでいまの銘柄
timeframe 対象の時間足

3戻り値

コピーした本数。失敗すると-1。

4使用例

double rates[][6];
ArraySetAsSeries(rates, true);
int copied = ArrayCopyRates(rates, NULL, 0);
Print("コピーした本数: ", copied, " 直近の終値: ", rates[0][4]);

MetaEditorでコンパイル0エラー・0警告を確認済み。

5MQL4→MQL5の違い

🔁 差分

MQL5ではCopyRates(symbol, timeframe, start, count, MqlRates &rates_array[])を使う。結果は数値の2次元配列でなく、MqlRates構造体(.open/.high/.low/.close/.time等の名前付きメンバー)の配列になり、読みやすさが上がる。

6よくある罠

⚠ 実務で踏んだもの
  • rates_arrayの列の並びは0:時刻 1:始値 2:高値 3:安値 4:終値 5:出来高で固定。覚えにくいので、使うたびにこの並びを見直すか、MQL5のCopyRates(名前付き)に早めに慣れておくとよい。

7関連する関数

REI-FX&BO OFFICIAL LINE

ツールのダウンロードパスワードは
公式LINEで、すぐ届きます。

友だち追加の自動返信でパスワードをお送りします。
新しいツールの公開や、検証でわかったことも先にお知らせします。

全ツールのパスワード新作ツールをいち早く配信は月1〜2回だけ
LINEで友だち追加 パスワードを受け取る ›

追加後にひとことメッセージをいただけると、ツールづくりの参考にします。