(‘mt4’, ‘MQL4’)組み込み指標要書き換え(MQL5)
目次
iMA移動平均線の値を求める
単純・指数平滑などの移動平均線の値を、自分で計算せずに直接求める。組み込み指標の中でいちばん出番が多い。
1書式
double iMA( string symbol, int timeframe, int ma_period, int ma_shift, // 表示位置を横にずらす量。通常0 int ma_method, // MODE_SMA/EMA/SMMA/LWMA int applied_price, // PRICE_CLOSE 等 int shift // 何本前の値か );
MQL5は戻り値がハンドル(int)になり、値はCopyBufferで別途取得する。
2引数
| 引数 | 内容 |
|---|---|
| symbol / timeframe | 銘柄と時間足。NULL・0でいまのチャート |
| ma_period | 移動平均の期間 |
| ma_shift | 表示を横にずらす量。通常0 |
| ma_method | 計算方式。単純(SMA)・指数平滑(EMA)・平滑化(SMMA)・線形加重(LWMA) |
| applied_price | 計算に使う値。終値(PRICE_CLOSE)・始値・高値・安値・中央値など |
| shift | 何本前の足の値を読むか |
3戻り値
指定した条件での移動平均の値。
4使用例
double ma20 = iMA(NULL, 0, 20, 0, MODE_SMA, PRICE_CLOSE, 0);
Print("20期間移動平均: ", ma20);
MetaEditorでコンパイル0エラー・0警告を確認済み。
5MQL4→MQL5の違い
🔁 差分
MQL5では、これらの組み込み指標もすべて「ハンドルを取ってからCopyBufferで値を読む」形になる(iCustomと同じ考え方)。MQL4のように毎回この関数を呼んで値を直接受け取る書き方はできない。くわしくはiCustomのページを参照。
6よくある罠
⚠ 実務で踏んだもの
shiftとma_shiftを混同しやすい。shiftは「何本前の値を読むか」、ma_shiftは「線そのものを横にずらす表示上の量」で、意味がまったく違う。
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▼きょうの指標重要指標なし