配列の移動平均値を取得 iMAOnArray 関数

関数

テクニカルインジケータ関数

iMAOnArray 関数

この関数は、配列に格納されたデータの移動平均値を計算して、その値を取得します。移動平均はトレンド系のインジケータに分類されます。

iMa関数とは異なり 、iMAOnArray関数は、通貨ペア名、時間軸、適用価格によるデータを取得しません。価格データは事前​​に準備する必要があります。指標は左から右に計算されます。系列配列として (右から左へ) 配列要素にアクセスするには、ArraySetAsSeries関数を使用する必要があります。

データ型と構成・戻り値

double iMAOnArray(①, ②, ③, ④, ⑤, ⑥);

戻り値は、配列に格納されたデータの移動平均値を計算して、その値を返します。

引数 [6]

iMAOnArray関数は 6個の引数で構成されます。


引数名データ型単位初期値説明
array[]doubleデータを含む配列。
totalintカウントするデータの数。「0」は配列全体を意味します。
ma_periodint移動平均の計算期間。移動平均を算出するバーの数を数値で設定します。
ma_shiftint移動平均シフト。インジケータのラインオフセットは、時間軸ごとのチャートに関連しています。
ma_methodint移動平均の方法。
ENUM_MA_METHOD 列挙値から選択。
shiftint移動平均を算出する位置。
配列データから取得した値のインデックス。インデックス値は配列の左 (0) から始まります。たとえば、左から1番目の計算は「0」、左から2番目を計算する時は「1」になります。

使用例

iMAOnArray関数による14日間の単純移動平均値

iMAOnArray関数を使って配列arrの14日間分の単純移動平均値を算出します。

コード

// iMAOnArray関数による14日間の単純移動平均値
#property strict
void OnInit() {
   int period = 14; // 期間

   double arr[]; 
   CopyClose(NULL, 0, 0, 100, arr);
    
   ArraySetAsSeries(arr,true);
   
   double a = iMAOnArray(arr, 0, period, 0, 0, 0);
   Print("配列の移動平均計算値(", period, "期間):", a);
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

タイトルとURLをコピーしました