iMA()関数

iMA()関数は、移動平均(MA:Moving Average)の値を返します。

iMA()関数について

iMA()関数の()括弧内は次のように指定します。

iMA(通貨ペア名, 時間足, 計算期間, インジケータシフト数, 計算方法, 適用価格, シフト数)

通貨ペア名
通貨ペア(銘柄)名を文字列で指定します。NULLを指定すると表示チャートの通貨ペアのことになります。

時間足
時間足(時間軸)を次の表の整数または定数で指定します。

現在表示時間足 0 PERIOD_CURRENT
1分足 1 PERIOD_M1
5分足 5 PERIOD_M5
15分足 15 PERIOD_M15
30分足 30 PERIOD_M30
1時間足 60 PERIOD_H1
4時間足 240 PERIOD_H4
日足 1440 PERIOD_D1
週足 10080 PERIOD_W1
月足 43200 PERIOD_MN1

計算期間
移動平均を計算する期間(ローソク足の本数)を整数で指定します。

インジケータシフト数
移動平均の表示をシフトする(ずらす)ローソク足の本数を整数で指定します。

計算方法
移動平均の計算方法を整数または定数で指定します。

単純移動平均 0 MODE_SMA
指数移動平均 1 MODE_EMA
平滑移動平均 2 MODE_SMMA
加重移動平均 3 MODE_LWMA

適用価格
適用価格を次の表の整数または定数で指定します。

終値 0 PRICE_CLOSE
始値 1 PRICE_OPEN
高値 2 PRICE_HIGH
安値 3 PRICE_LOW
中間値:(高値+安値)/2 4 PRICE_MEDIAN
平均値:(高値+安値+終値)/3 5 PRICE_TYPICAL
加重平均値:(高値+安値+終値+終値)/4 6 PRICE_WEIGHTED

シフト数
ローソク足何本分前かを指定します。

サンプルコード

// スクリプトファイルのコード
void OnStart()
{
   double fast1 = iMA(NULL, 0, 10, 0, MODE_EMA, PRICE_CLOSE, 1);
   double slow1 = iMA(NULL, 0, 25, 0, MODE_EMA, PRICE_CLOSE, 1);
   double fast2 = iMA(NULL, 0, 10, 0, MODE_EMA, PRICE_CLOSE, 2);
   double slow2 = iMA(NULL, 0, 25, 0, MODE_EMA, PRICE_CLOSE, 2);
   
   if(fast1>slow1 && fast2<slow2)
   {
      ・・・
}

上記のサンプルコードは、EMA10とEMA25のゴールデンクロスを判定するスクリプトです。