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のゴールデンクロスを判定するスクリプトです。

