Add() - Data

定義

multi-series(multi-time frameあるいはmulti-insturument)のNinjaScriptを開発するために、インジケーターあるいはストラテジーにBarsオブジェクトを加える。NinjaScriptを実行する際、プライマリ(第一)の銘柄とバー間隔を選択することができる。このプライマリのBarオブジェクトに対しては、BarsInProgressインデックスの値は0になる。multi-time frameおよびmulti-instrumentのNinjaScriptにおいて、付け加えられたBarsオブジェクトはこのメソッドを通してInitialize()に追加され、インクリメントされたBarsInProgressのインデックス値が与えられる。さらなる情報はmulti-series scriptsを参照。

* 特別な形式のBarsを追加するにはこれらのメソッドを使用すること:
AddKagi()
AddLineBreak()
AddPointAndFigure()
AddRenko()

構文

次の構文は、スクリプトのプライマリの銘柄のBarsオブジェクトをもう1つ、ストラテジーに追加する。
Add( PeriodType periodType , int period )

次の構文は、様々な銘柄のBarsオブジェクトをスクリプトに追加することを可能にする。
Add( string instrumentName , PeriodType periodType , int period )
Add( string instrumentName , PeriodType periodType , int period , MarketDataType marketDataType )

注記:オプションでシンボル名に接尾語として取引所の名前を追加することができる。このことは、その銘柄が複数の取引可能な取引所で扱われる可能性があり且つそのことがInstrument Manager中で設定されている場合にのみ、勧められる。例えば: Add("MSFT Arca", PeriodType.Minute, 5) (訳注:MSFTがシンボル名、Arcaが取引所名) }}

引数

instrumentName 銘柄名(Instrument Name)、例えば"MSFT"
periodType バーの周期の種類:
PeriodType.Day
PeriodType.Minute
PeriodType.Range
PeriodType.Second
PeriodType.Tick
PeriodType.Volume
period バーの周期、例えば3分毎のバーなら"3"を指定する
marketDataType 設定可能な値は以下の通り:
MarketDataType.Ask
MarketDataType.Bid
MarketDataType.Last

* Bid/Ask系列の使用についてはこの記事を参照すること。

protected override void Initialize()
{
     // Add a 5 minute Bars object - BarsInProgress index = 1
     Add(PeriodType.Minute, 5);
 
     // Add a 100 tick Bars object for the ES 12-06 contract - BarsInProgress index = 2
     Add("ES 12-06", PeriodType.Tick, 100); 
}
 
protected override void OnBarUpdate()
{
     // Ignore bar update events for the supplementary Bars object added above
     if (BarsInProgress == 1 || BarsInProgress == 2)
         return;
 
     // Go long if we have three up bars on all bars objects
     if (Close[0] > Open[0] && Closes[1][0] > Opens[1][0] && Closes[2][0] > Opens[2][0])
          EnterLong();
}
最終更新:2014年06月13日 01:45