(‘mt4’, ‘MQL4’)組み込み指標要書き換え(MQL5)
iEnvelopes移動平均の上下バンド(エンベロープ)を求める
移動平均線を一定率だけ上下にずらしたバンドの値を求める。行き過ぎの判定に使う。
1書式
double iEnvelopes( string symbol, int timeframe, int ma_period, int ma_method, int ma_shift, int applied_price, double deviation, // 上下にずらす率(%) int mode, // MODE_UPPER/MODE_LOWER int shift );
MQL5は戻り値がハンドルになる。
2引数
| 引数 | 内容 |
|---|---|
| symbol / timeframe | 銘柄と時間足 |
| ma_period / ma_method / ma_shift | 元になる移動平均の設定 |
| applied_price | 計算に使う値 |
| deviation | 上下にずらす率(%) |
| mode | 上バンドか下バンドか |
| shift | 何本前の値か |
3戻り値
バンドの価格。
4使用例
double upper = iEnvelopes(NULL, 0, 20, MODE_SMA, 0, PRICE_CLOSE, 0.1, MODE_UPPER, 0);
Print("上バンド: ", upper);
MetaEditorでコンパイル0エラー・0警告を確認済み。
5MQL4→MQL5の違い
🔁 差分
MQL5では、これらの組み込み指標もすべて「ハンドルを取ってからCopyBufferで値を読む」形になる(iCustomと同じ考え方)。MQL4のように毎回この関数を呼んで値を直接受け取る書き方はできない。くわしくはiCustomのページを参照。