【MQL4定数】移動平均の計算方法の設定定数(ENUM_MA_METHOD)

【辞書】MQLリファレンス

移動平均の計算方法の設定定数(ENUM_MA_METHOD)

移動平均の計算方法の設定定数は、ロジック関数の引数として使用します。

ロジック関数は、移動平均を計算する関数が多数あり、移動平均を計算する方法を設定することができます。

その設定をするために、移動平均の計算方法の設定定数を使うと良いでしょう。

例えば、単純移動平均で計算するといったような設定をすることができます。

 

それぞれ、ma_method引数の入力値として、移動平均の計算方法の設定定数を使うことができます。

 

移動平均の計算方法の設定定数(ENUM_MA_METHOD)

定数説明
MODE_EMA指数移動平均で計算する
MODE_LWMA加重移動平均で計算する
MODE_SMA単純移動平均で計算する
MODE_SMMA平滑移動平均で計算する

 

移動平均の計算方法の設定定数(ENUM_MA_METHOD)の使い方

主に、移動平均を使うロジック関数で使用されます。

それぞれ、ma_method引数の入力値として、移動平均の計算方法の設定定数を使うことができます。

上記の定数を入力しましょう。

すると、その定数に対応した計算方法が設定されます。

例えば、以下のように使用します。

  //iMA関数
  //単純移動平均で計算する
   double ma = iMA(Symbol(), PERIOD_CURRENT, 7, 0, MODE_SMA, PRICE_CLOSE, 0);

  //iStochastic関数
  //指数移動平均で計算する
   double stochastic = iStochastic(Symbol(), PERIOD_CURRENT, 5, 3, 0, MODE_EMA, STO_LOWHIGH, MODE_SIGNAL, 0);

 

【補足】移動平均の計算方法の設定定数の列挙型(ENUM_MA_METHOD)

移動平均の計算方法の設定定数は、ENUM_MA_METHOD​という列挙型に含まれています。

列挙型は、定数群をひとまとめにしたものです。

以下のように使います。

ENUM_MA_METHOD ma_method = MODE_SMA;

上記のようにプログラムすると、ma_method変数に MODE_SMAの数値が代入されます。

 

移動平均の計算方法の設定定数を使ったサンプルプログラム

以下は、移動平均の計算方法の設定定数を使って、4種類の移動平均を計算し、エキスパートログに出力するサンプルプログラムです。

//+------------------------------------------------------------------+
//| 移動平均の計算方法の設定定数サンプル                                |
//+------------------------------------------------------------------+
void OnStart()
  {
   // 単純移動平均(SMA)
   double sma = iMA(Symbol(), PERIOD_CURRENT, 14, 0, MODE_SMA, PRICE_CLOSE, 0);
   Print("単純移動平均(MODE_SMA): ", sma);

   // 指数移動平均(EMA)
   double ema = iMA(Symbol(), PERIOD_CURRENT, 14, 0, MODE_EMA, PRICE_CLOSE, 0);
   Print("指数移動平均(MODE_EMA): ", ema);

   // 平滑移動平均(SMMA)
   double smma = iMA(Symbol(), PERIOD_CURRENT, 14, 0, MODE_SMMA, PRICE_CLOSE, 0);
   Print("平滑移動平均(MODE_SMMA): ", smma);

   // 加重移動平均(LWMA)
   double lwma = iMA(Symbol(), PERIOD_CURRENT, 14, 0, MODE_LWMA, PRICE_CLOSE, 0);
   Print("加重移動平均(MODE_LWMA): ", lwma);

   // 列挙型変数を使った例
   ENUM_MA_METHOD ma_method = MODE_EMA;
   double ma_result = iMA(Symbol(), PERIOD_CURRENT, 14, 0, ma_method, PRICE_CLOSE, 0);
   Print("列挙型変数を使った移動平均: ", ma_result);
  }

このサンプルでは、iMA関数を使い、MODE_SMA・MODE_EMA・MODE_SMMA・MODE_LWMAの4種類の移動平均をそれぞれ計算しています。

また、ENUM_MA_METHOD型の変数に定数を代入して使用する方法も示しています。