Moving Average の値をプログラム上で取得する時、「iMA」関数を使います。
『移動平均の種別』は、4種類と決まっていますね。
移動平均の種別 | I D | 値 | 詳 細 |
---|---|---|---|
Simple | MODE_SMA | 0 | 単純移動平均 |
Exponential | MODE_EMA | 1 | 指数移動平均 |
Smoothed | MODE_SMMA | 2 | 平滑移動平均 |
Linear weighted | MODE_LWMA | 3 | 加重移動平均 |

パラメーターでSMAやEMAなどを選べるよう、選択式にする方法を書いていきたいと思います。
サンプル
input ENUM_MA_METHOD MAMethod = MODE_EMA; //移動平均メソッド
void OnTick(){
double result = iMA(NULL, 0, 200, 0, MAMethod, PRICE_CLOSE, 1);
}
パラメーターの型を「ENUM_MA_METHOD」にします。
今回は、指数移動平均(MODE_EMA)を最初から選択されているように 設定してみました。
実行結果

パラメーターの入力タブで、選べるようになりました。
それに「EMA(Exponential)」が、最初から選択できていますね。
「iMA」関数では、
・時間軸「ENUM_TIMEFRAMES」列挙値 ※2つめの項目
・適用価格「ENUM_APPLIED_PRICE」列挙値 ※6つめの項目
も、決められた値を設定する項目です。
同様に作り込むことが可能ですので、是非、トライしてみてください。