ENUM_MA_METHODとは?
ENUM_MA_METHOD は、MQL5で使用されるenum列挙型の一つで、移動平均を計算する際に使用する方法を指定します
※enum列挙型についての詳細は↓の記事をご参照ください
※移動平均についての詳細は↓の記事をご参照ください
ENUM_MA_METHOD には以下の値があります
MODE_SMA
MODE_SMAは単純移動平均(Simple Moving Average)を表します
。最も基本的な形式の移動平均で、指定された期間内の価格の算術平均を計算します。
※単純移動平均についての詳細は↓のリンクをご参照ください
MODE_EMA
MODE_EMAは指数移動平均(Exponential Moving Average, EMA)を表します。
最新の価格により大きな重みを置くことで、価格の変動に対してより敏感な移動平均を提供します。
MODE_SMMA
MODE_SMMA は平滑移動平均(Smoothed Moving Average)を表します。
平滑移動平均は指数移動平均の変形で、データの平滑化により、価格の変動をより滑らかに表示します。
※平滑化についての詳細は↓のリンクをご参照ください
MODE_LWMA
MODE_LWMA は線形加重移動平均(Linear Weighted Moving Average)を表します。
最新の価格に最も高い重みを置き、以前の価格に対して線形に重みを減少させることで計算されます。
※線形加重移動平均についての詳細は↓のリンクをご参照ください
ENUM_MA_METHODを使用する際の注意点
MQL5でENUM_MA_METHODを使用する際は、関数のパラメータとしてこの列挙型の値を指定します。
例えば、iMA関数(移動平均を計算するハンドルを取得する関数)では、どの移動平均計算方法を使用するかを指定するためにこの列挙型が用いられます。
※iMA関数については↓のリンクをご参照ください
ENUM_MA_METHODを使ったサンプルコード
// 移動平均線の値を格納するための配列
double MA_LongTerm[];
double MA_MidTerm[];
double MA_ShortTerm[];
// 移動平均線を取り扱うためのハンドル(識別子)を格納する整数変数
int Handle_LongTermMA;
int Handle_MidTermMA;
int Handle_ShortTermMA;
// MA(Moving Average、移動平均)のハンドルを取得する
Handle_LongTermMA = iMA(NULL, 0, Period_LongTerm, 0, MODE_SMMA, PRICE_MEDIAN);
Handle_MidTermMA = iMA(NULL, 0, Period_MidTerm, 0, MODE_SMMA, PRICE_MEDIAN);
Handle_ShortTermMA = iMA(NULL, 0, Period_ShortTerm, 0, MODE_SMMA, PRICE_MEDIAN);
上記サンプルコードは、特定の金融商品の価格データに基づいて、3つの異なる期間で平滑移動平均を計算するためのハンドルを取得するものです。
そのためにiMA関数の第4引数にENUM_MA_METHODの定数リスト内の一つであるMODE_SMMA が記述されています。
<参照>
ENUM_APPLIED_PRICE
————————————————————————————–
※当サイトでは、プログラミング経験ゼロの方でも、プログラミングの基礎から学べる
をメインコンテンツとして展開しています。
第0回から、順を追って勉強していけばプログラミングの経験がなくてもMQL5を使って、MT5用のEAが作れるように書いています。最初は難しいと感じるかもしれませんが、繰り返し勉強していく事で自然とスキルが身についていくはずです。興味ある方は是非ご覧ください。