(‘mt5’, ‘MQL5’)MQL5専用四本値の取得
CopyRates四本値をまとめて構造体配列にコピーする(MQL5)
指定した本数分の始値・高値・安値・終値・時刻・出来高を、1回の呼び出しでまとめて取得する。MQL4のArrayCopyRatesに相当するが、結果は名前付きメンバーの構造体配列になり読みやすい。
1書式
int CopyRates( string symbol, ENUM_TIMEFRAMES timeframe, int start, // 何本前から int count, // 何本分 MqlRates &rates_array[] // 結果を受け取る構造体配列 );
MQL4のArrayCopyRatesに相当。
2引数
| 引数 | 内容 |
|---|---|
| symbol / timeframe | 銘柄と時間足 |
| start | 何本前から取得するか |
| count | 取得する本数 |
| rates_array | 結果を受け取るMqlRates構造体の配列 |
3戻り値
コピーした本数。失敗すると-1。
4使用例
MqlRates rates[];
ArraySetAsSeries(rates, true);
int copied = CopyRates(_Symbol, PERIOD_CURRENT, 0, 10, rates);
Print("コピーした本数: ", copied, " 直近の終値: ", rates[0].close);
MetaEditorでコンパイル0エラー・0警告を確認済み。
5MQL4→MQL5の違い
🔁 差分
MQL4ではiOpen等で1本ずつ値を読んでいたが、MQL5ではこの関数群で指定した本数をまとめて配列にコピーしてから使う設計になる。1本だけ欲しいときも、要素数1の配列としてコピーする。