Contents
iMA 移動平均(Moving Average)
移動平均(Moving Average)を計算し、その値を返します。
移動平均は、最も広く使われているテクニカル指標でしょう。
過去の相場の動きを教えてくれるもので、トレンドの方向を明確に示してくれます。
移動平均線が右肩上がりであれば相場が上昇したことを、右下がりであれば下落したことを意味しています。
トレンドフォロー型トレードシステムには欠かせない指標です。
iMA関数書式
double iMA( string symbol, // symbol(通貨シンボル) int timeframe, // timeframe(タイムフレーム) int ma_period, // MA averaging period(移動平均算出期間) int ma_shift, // MA shift(移動平均線表示のシフト数) int ma_method, // averaging method(移動平均の計算方法) int applied_price, // applied price(適用価格) int shift // shift(シフト数) );
iMAパラメーター
symbol
文字列(string)
対象の通貨ペアを指定します。’USDJPY’や’EURUSD’のように指定します。
現在の通貨ペアを使用する場合(EA内で固定しない場合)は、NULLとします。
timeframe
整数(int)
タイムフレーム(時間枠)を数字で指定します。
5分足だと5、1時間足だと60、日足だと1440ですが、MT4に用意された定数を使用すると分かりやすいのでおススメです。
定数 |
値 |
意味 |
PERIOD_CURRENT |
0 |
現在の時間枠 |
PERIOD_M1 |
1 |
1分足 |
PERIOD_M5 |
5 |
5分足 |
PERIOD_M15 |
15 |
15分足 |
PERIOD_M30 |
30 |
30分足 |
PERIOD_H1 |
60 |
1時間足 |
PERIOD_H4 |
240 |
4時間足 |
PERIOD_D1 |
1440 |
1日足 |
PERIOD_W1 |
10080 |
1週足 |
PERIOD_MN1 |
43200 |
1月足 |
ma_period
整数(int)
移動平均を計算する対象期間を数字で指定します。
timeframeを「PERIOD_D1」、ma_periodを「5」とした場合は、5日移動平均となります。
ma_shift
整数(int)
移動平均線をずらしたい場合に、ずらすバーの数を指定します。
1を指定すると1つ右方向にずらします。
ma_method
整数(int)
移動平均の計算方法(種類)を指定します。
以下から選んで指定します。
定数 |
値 |
意味 |
MODE_SMA |
0 |
単純移動平均 |
MODE_EMA |
1 |
指数移動平均 |
MODE_SMMA |
2 |
平滑移動平均 |
MODE_LWMA |
3 |
線形加重移動平均 |
applied_price
整数(int)
始値、終値など、利用する価格を指定します。
整数で指定しますが、定数を利用すると分かりやすいのでおススメです。
定数 |
値 |
意味 |
PRICE_CLOSE |
0 |
終値 |
PRICE_OPEN |
1 |
始値 |
PRICE_HIGH |
2 |
高値 |
PRICE_LOW |
3 |
安値 |
PRICE_MEDIAN |
4 |
高値と安値の平均、中間値、 (高値 + 安値)/2 |
PRICE_TYPICAL |
5 |
高値と安値と終値の平均値、 (高値 + 安値 + 終値)/3 |
PRICE_WEIGHTED |
6 |
加重平均価格、 (高値 + 安値 + 終値 + 終値)/4 |
shift
整数(int)
計算対象とする位置を現在位置からずらしたい場合に、ずらすバーの数を指定します。
1を指定すると1つ前のバーを計算対象とします。
現在の位置を指定するには、0を指定します。
サンプルコード
double ma = iMA(NULL, PERIOD_D1, 5, 0, MODE_SMA, PRICE_CLOSE, 0); // 5日単純移動平均を終値で算出 double ma = iMA(NULL, PERIOD_D1, 20, 0, MODE_EMA, PRICE_CLOSE, 0); // 20日指数移動平均を終値で算出