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

iMA ― 移動平均線の値を求める|MQL4/MQL5リファレンス

MQLリファレンス›関数テクニカル指標iMA
(‘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関連する関数

REI-FX&BO OFFICIAL LINE

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

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

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

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