
iMAOnArray は、インジケーター同士の組み合わせロジックや、独自指標のスムージング処理に適した関数です。
トレンドフィルターやノイズ除去、エントリー/エグジット条件強化など、多彩なトレードロジックに応用可能です。
- 概要
iMAOnArray
は、任意の数値配列に対して移動平均(SMA, EMAなど)を計算する関数です。- チャート価格以外にも、RSIや独自ロジックの結果に移動平均を適用したい場合に使用します。
- 特徴
- 任意の配列に対して移動平均を適用可能
- RSIやインジケーター結果などの2次加工に最適
- 対応移動平均種別:SMA / EMA / SMMA / LWMA
ArraySetAsSeries()
で時系列の向きを正しく設定することが重要
目次
構文
double iMAOnArray(
double array[], // 対象配列(0が最新)
int total, // データ数(配列サイズ)
int period, // MA期間
int ma_shift, // シフト
int ma_method, // MA種類(MODE_SMA など)
int shift // 取得バー位置(0 = 現在)
);
パラメータ名 | 内容 |
---|---|
array[] | 移動平均を計算する対象の配列(0 が最新) |
total | 配列内のデータ数(通常 ArraySize(array) ) |
period | 移動平均の期間 |
ma_shift | MAのシフト(通常 0) |
ma_method | MAの種類MODE_SMA MODE_EMA MODE_SMMA MODE_LWMA |
shift | シフト取得するバーの位置0 =現在, 1 =1本前… |
使用例
double rsiArray[1000];
ArraySetAsSeries(rsiArray, true);
// RSIの値を配列に格納
for (int i = 0; i < 1000; i++) {
rsiArray[i] = iRSI(NULL, 0, 14, PRICE_CLOSE, i);
}
// RSIに対してEMA(期間5)を適用
double emaOnRsi = iMAOnArray(rsiArray, 1000, 5, 0, MODE_EMA, 0);
Print("RSIに対するEMA5の値:", emaOnRsi);
コメント