価格データの扱い方

NinjaScriptで独自のインジケーターやストラテジーを開発する目的の核心は、価格データを評価することである。NinjaScriptは現在および過去の価格データを参照することを可能にする。Price Type、IndicatorおよびCustom Historical Seiresを含むいくつかの価格データのカテゴリがある。

定義

  • Price Type - 始値、終値、高値、低値および売買高のような、標準的なバーに基づいた価格
  • Indicator - 単純移動平均のような、Price Typeの値に基づいて計算される値
  • Custom Historical DataSeries - それぞれのヒストリカル・バーに格納し、結び付けたい、ユーザー独自の計算値

Price Typeデータの参照

Price Type 構文 エディタのショートカット 定義
Close Close[ int barsAgo ] "c" + Tab Key バーの終値
Open Open[ int barsAgo ] "o" + Tab Key バーの始値
High High[ int barsAgo ] "h" + Tab Key バーの高値
Low Low[ int barsAgo ] "l" + Tab Key バーの低値
Volume Volume[ int barsAgo ] "v" + Tab Key バーの取引高
Input Input[ int barsAgo ] "i" + Tab Key バーのデフォルトのPrice Type *

あなたは、何らかの価格データを参照するために、[ int barsAgo ]の部分に値を入れる必要があることに気付くだろう。これは非常に単純な概念である。すなわち、barsAgoは参照するために前に遡るバーの個数を意味し、intはbarsAgoが整数値であることを示す。例えば1つ前のバーの高値が現在のバーの高値より小さいかどうかを調べる命令文は、このように記述することができる:

High[1] < High[0];

直近の3つのバーの終値の平均値を計算する命令文は、このように記述することができる:

( Close[2] + Close[1] + Close[0] ) / 3;

既に見当がついているかもしれないが、現在のバーのデータを参照するには、barsAgoパラメーターに値0(ゼロ)を渡すことによって成される。基本的に我々が言わんとしているのは0個前のバーの価格データを示せということであり、それは現在のバーを意味する。

* Inputは、デフォルトのPrice Typeを常に指し示し且つアクセス可能である、特別なプロパティである。ソース・データとして異なるPrice Typeの使用に対応しているインジケーターがあり、そのInput[int barsAgo]プロパティを参照する場合、自動的に正しいPrice Typeオブジェクトを参照する。これは進歩的な話題である。

Indicatorデータの参照方法

NinjaScriptは、あなたがアクセスできる内蔵のインジケータのライブラリを備えている。それぞれのインジケータへのアクセス方法の明確な定義については、Indicator Methodsの項を参照。

全てのインジケーターの値は次の方法でアクセスすることができる:

     indicator( parameters )[ int barsAgo ]

indicator はアクセスしたいインジケーターの名前、 parameters はそのインジケータに必要な何らかの関連付けのあるパラメーター、そして barsAgo は現在のバーからオフセットさせたいバーの個数である。

例として、現在の終値が20単位周期(訳注:バー周期とでも言い換えれば良いか)の単純移動平均より大きいかどうかを調べる命令文は、このよう記述することができる:

Close[0] > SMA(20)[0];

20単位周期の高値の単純移動平均に対して同様に調べたいのであれば、このように記述することができる:

Close[0] > SMA(High, 20)[0];

14単位周期のCCIインジケーターが上昇するかどうかを調べるには、このように命令文を記述することができる:

CCI(14)[0] > CCI(14)[1];

10単位周期のCCIに関する1つ前のバーの値 = CCI(10)[1] である。

様々なインジケータの値にアクセスするための正確な文法については、Indicator Methodsの項を参照すること。

最終更新:2014年06月10日 01:39