
iMA は、EAやインジケーターにおいて最も基本かつ汎用的なトレンド分析関数です。
トレード戦略のあらゆる場面で活用でき、他インジケーターと組み合わせて高度なロジック構築も可能です。
- 概要
iMA
は、指定した移動平均(MA)の値を取得するための関数です。- 単純移動平均(SMA)・指数平滑移動平均(EMA)・加重移動平均(WMA)などが選択可能で、トレンドの方向・強弱を分析する際の基本ツールとして使われます。
- 特徴
- 単純、指数、平滑、加重の各種移動平均に対応
- チャートの任意の価格(終値、始値など)を対象に計算可能
- トレンドフォロー戦略、クロス戦略、フィルタリング条件に活用
- 他指標との組み合わせや EA の条件式としても定番
目次
構文
double iMA(
string symbol,
int timeframe,
int period,
int ma_shift,
int ma_method,
int applied_price,
int shift
);
パラメータ名 | 内容 |
---|---|
symbol | 通貨ペア名NULL = 現在のチャートのペア |
timeframe | 時間足0 = 現在のチャートの時間足 |
period | 移動平均の期間(例:20) |
ma_shift | MAのシフト(0 で通常表示) |
ma_method | MAの種類MODE_SMA MODE_EMA MODE_SMMA MODE_LWMA |
applied_price | 適用価格PRICE_CLOSE PRICE_OPEN PRICE_HIGH PRICE_LOW PRICE_MEDIAN PRICE_TYPICAL PRICE_WEIGHTED |
shift | シフト取得するバーの位置0 =現在, 1 =1本前… |
使用例
// EMA(14期間、終値ベース)の現在値を取得
double ema14 = iMA(NULL, 0, 14, 0, MODE_EMA, PRICE_CLOSE, 0);
// ゴールデンクロス・デッドクロスの判定
double ema_short = iMA(NULL, 0, 10, 0, MODE_EMA, PRICE_CLOSE, 0);
double ema_long = iMA(NULL, 0, 50, 0, MODE_EMA, PRICE_CLOSE, 0);
if (ema_short > ema_long) {
Print("短期EMAが長期EMAを上回っている → 上昇トレンド");
} else {
Print("短期EMAが長期EMAを下回っている → 下降トレンド");
}
コメント