配列のエンベロープ値を取得 iEnvelopesOnArray 関数

関数

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

iEnvelopesOnArray 関数

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

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

データ型と構成・戻り値

double iEnvelopesOnArray(①, ②, ③, ④, ⑤, ⑥, ⑦, ⑧);

 戻り値は、配列に格納されたデータのエンベロープ値を計算して、その値を返します。

引数 [8]

 iEnvelopesOnArray関数は 8個の引数で構成されます。


引数名データ型単位初期値説明
array[]doubleデータを含む配列。
totalintカウントするデータの数。「0」は配列全体を意味します。
ma_periodint中心となる移動平均線の平均期間。エンベロープを計算するバーの数を数値で設定します。
ma_methodint移動平均の方法。
ENUM_MA_METHOD 列挙値から選択。
ma_shiftintチャートに対するインジケーターのシフト。
deviationdouble中心となる移動平均線からの偏差率。
modeintインジケータライン。
iEnvelopes関数のインジケータライン識別子から選択。
shiftintエンベロープを算出する位置。
配列データから取得した値のインデックス。インデックス値は配列の左(0)から始まります。例えば、左から1番目の計算は「0」、左から2番目を計算する時は「1」になります。

使用例

iEnvelopesOnArray関数による配列のエンベロープ値の算出

 iEnvelopesOnArray関数を使って配列中のエンベロープの値を算出します。算出する期間は配列arrにある14期間分とします。

コード

// iEnvelopesOnArray関数による配列のエンベロープ値の算出
#property strict
void OnInit() {
   int period = 14; // 期間

   double arr[]; 
   CopyClose(NULL, 0, 0, 100, arr);
    
   ArraySetAsSeries(arr,true);

   double a = iEnvelopesOnArray(arr, 0, period, 0, 0, 2, 0, 0); // ベースライン
   double b = iEnvelopesOnArray(arr, 0, period, 0, 0, 2, 1, 0); // 上のライン
   double c = iEnvelopesOnArray(arr, 0, period, 0, 0, 2, 2, 0); // 下のライン
  
   Print(period, "期間のエンベロープ値 下のライン:",   c);
   Print(period, "期間のエンベロープ値 ベースライン:", a);
   Print(period, "期間のエンベロープ値 上のライン:",   b);
}

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

結果

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