(‘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関連する関数
MORNING BRIEF平日 毎朝7時までに更新
今日はどこを見ればいいか。
ドル円とユーロドルの主要ライン・予想高値安値を、平日の朝に図1枚にまとめています。
朝刊を見る→9/25 8:27 時点ドル円158.78▼-7 pipsドル円 予想レンジ158.41 〜 159.23ドル円 上の節目158.90▲ドル円 下の節目157.80▼ユーロドル1.1378▼-2 pipsユーロドル 予想レンジ1.1351 〜 1.1408ユーロドル 上の節目1.1403▲ユーロドル 下の節目1.1359▼きょうの指標重要指標なし