ArrayGetAsSeries 関数
この関数は、配列のインデックス番号の方向をチェックします。インデックス番号が右から左に付与されていれば true、左から右の時は falseになります。
インデックス番号は 0から始まって、通常、配列のインデックス番号は左から右へ付与されていきます。しかし、時系列配列やArraySetAsSeries関数を使用したものについては、右から左にインデックス番号が付与されます。
時系列配列とは 配列変数 Time[]に類するものになります。これは、時系列配列の要素が最後から最初に向かって(最新のデータから最も古いデータの順に)インデックス付与されるという点で、一般的な配列とは異なります。
配列が時系列に属しているかどうかを確認するには、ArrayIsSeries関数を使用します。入力パラメーターとして OnCalculate関数に渡される価格データの配列は、必ずしも時系列と同じインデックス方向を持つわけではありません。必要なインデックス方向は、ArraySetAsSeries関数を使用して設定できます。
データ型と構成・戻り値
bool ArrayGetAsSeries(①);
戻り値は、インデックス番号が右から左に付与されていれば true、それ以外は falseが返されます。
引数 [1]
ArrayGetAsSeries関数は 1個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | array[] | const void& | - | - | チェックする配列。 |
使用例
ArrayGetAsSeries関数による配列のインデックス方向の確認
ArrayGetAsSeries関数を使ってインデックス番号の方向をチェックします。
途中、ArraySetAsSeries関数を使ってインデックス番号の順番を入れ替えます。
コード
// ArrayGetAsSeries関数による配列のインデックス方向の確認
#property strict
void OnInit() {
int arr[]={11,12,13,14,15};
Print("配列のインデックス方向確認(処理前):",(ArrayGetAsSeries(arr)));
ArraySetAsSeries(arr,true); // インデックス番号の順番を入れ替え
Print("配列のインデックス方向確認(処理後):",(ArrayGetAsSeries(arr)));
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)
結果
配列のインデックス番号が 0から始まって、右から左に付与されていれば true、左から右に付与されていれば falseを返す結果になります。