インディケータ取得関数iMA()
移動平均線の値を取得します。
書式
double iMA( string symbol, // 通貨ペアを指定 int timeframe, // 時間軸を指定する(定数) int ma_period, // MAの平均期間(ローソク足の数)を指定 int ma_shift, // MAシフト(ローソク足何本分を右にずらすか指定) int ma_method, // MAの平均化メソッド(平均線の種類を指定) int applied_price,// 適用価格(終値や始値などを指定)(定数) int shift // シフト(過去の値を参照できる、ローソク足数で指定 );
引数
double iMA( NULL, // 現在のチャートの通貨ペアの値を取得する。 PERIOD_CURRENT,// 時間軸を指定する(定数) 12, // ローソク足12本の移動平均 0, // 移動平均線を右にずらさない MODE_SMA, // 単純移動平均線を指定 PRICE_CLOSE, // 平均を出すための値を終値に指定 0 // 現在の値を取得 );
実際のインディケータでiMA()関数の引数を確認してみる
double iMA( 画像左青枠 NULL, // 現在のチャートの通貨ペアの値を取得する。 画像右青枠 PERIOD_CURRENT,// 時間軸を指定する(定数) 期間: 12, // ローソク足12本の移動平均 表示移動: 10, // 移動平均線を右に10ずらす 移動平均の種別: MODE_SMA, // 単純移動平均線を指定(Simple) 適用価格: PRICE_CLOSE, // 平均を出すための値を終値に指定(Close) 0 // 現在の値を取得 );
スタイルは指定できない。
戻り値
実際にGBP/USDでiMA()関数を使って移動平均線の値を取得した時の画像が↓↓↓
void OnTick(){ if(flag){ double currentIma = iMA(NULL,PERIOD_CURRENT,12,0,MODE_SMA,PRICE_CLOSE,0); Print(currentIma); flag = false; } }
ローソク足10本分右に平均線を動かすサンプル
void OnTick(){
if(flag){
double currentIma = iMA(NULL,PERIOD_CURRENT,12,10,MODE_SMA,PRICE_CLOSE,0);
Print(currentIma);
flag=false;
}
}