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

CopyBuffer ― 指標のバッファ値をまとめて配列にコピーする(MQL5)|MQL4/MQL5リファレンス

MQLリファレンス›関数時系列・履歴CopyBuffer
(‘mt5’, ‘MQL5’)MQL5専用四本値の取得

CopyBuffer指標のバッファ値をまとめて配列にコピーする(MQL5)

iMA等が返すハンドルから、実際の指標値を配列として取り出す。MQL5で組み込み指標・カスタム指標の値を読むときは、最後に必ずこの関数を通る。

1書式

int CopyBuffer(
   int      indicator_handle,
   int      buffer_num,   // 何番目のバッファか
   int      start, int count,
   double   &buf[]
);

MQL4には対応する関数が無い(値を直接返す設計のため)。

2引数

引数 内容
indicator_handle iMA等で取得したハンドル
buffer_num 読みたいバッファの番号(0から)
start / count 何本前から何本分か
buf 結果を受け取る配列

3戻り値

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

4使用例

int handle = iMA(_Symbol, PERIOD_CURRENT, 20, 0, MODE_SMA, PRICE_CLOSE);
double ma[];
ArraySetAsSeries(ma, true);
CopyBuffer(handle, 0, 0, 3, ma);
Print("20期間移動平均: ", ma[0]);

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

6よくある罠

⚠ 実務で踏んだもの
  • 指標を作った直後の1ティック目は、まだ計算が終わっておらずコピーが失敗する(-1が返る)ことがある。戻り値をチェックし、失敗したら次のティックまで待つ作りにする。

7関連する関数

REI-FX&BO OFFICIAL LINE

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

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

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

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