本日は、大手CTAでも使われている、長らく門外不出だったNの概念を用いてポジションサイジングのプログラムを作ってみましょう。

詳しくは、上のリンクの書籍を読んで詳しく勉強してください。

まず、お決まりの変数宣言です。以下のように宣言します。

#region Variables
// Wizard generated variables
private int accountSize = 50000; // アカウント金額,5万ドルで設定。
private int atrPeriod = 20; // ATRの日数
// User defined variables (add any user defined variables below)
#endregion

チャート描写用のAddメソッドで追加します。

Overlayをしないタイプの指標なのでFALSE、移動平均などはTRUEです。  

protected override void Initialize()
{

//チャート描写用のAdd

Add(new Plot(Color.FromKnownColor(KnownColor.Orange), PlotStyle.Line, "Size"));

Overlay = false;

}


Nの概念の本体部分です。任意日ATRの金額変動の算出や、保有可能枚数を算出。

protected override void OnBarUpdate()
{
// Use this method for calculating your indicator values. Assign a value to each
// plot below by replacing 'Close[0]' with your own formula.


//アカウントの1%500$
int AccountSize1 = accountSize / 100;

//ATR(任意日)での金額換算での変動
double N;
N = ATR(atrPeriod)[0] * Instrument.MasterInstrument.PointValue;

/*数学関数による 小数点第2位以下での切り捨て。

if~else文で条件分岐

一枚あたりに合わせる為に通貨属性は十分の一に。*/
if (Instrument.MasterInstrument.InstrumentType == InstrumentType.Currency)
{
N = Math.Floor(N) / 10;
}
else
{
N = Math.Floor(N);
}

//保有可能ポジション
double UnitSize;
UnitSize = AccountSize1 / N;
UnitSize = Math.Round(UnitSize,0,MidpointRounding.AwayFromZero);//四捨五入

//チャートに描写する。
Size.Set(UnitSize);
}


以下、プロパティ変数です。

#region Properties
[Browsable(false)] // this line prevents the data series from being displayed in the indicator properties dialog, do not remove
[XmlIgnore()] // this line ensures that the indicator can be saved/recovered as part of a chart template, do not remove
public DataSeries Size
{
get { return Values[0]; }
}
[Description("")]
[GridCategory("Parameters")]
public int AccountSize
{
get { return accountSize; }
set { accountSize = Math.Max(1, value); }
}
[Description("")]
[GridCategory("Parameters")]
public int ATRPeriod
{
get { return atrPeriod; }
set { atrPeriod = Math.Max(1, value); }
}

#endregion


当指標は、MarketAnalyzerやチャートでの参照も可能です。

本日は、これにて閉講です。



東大理系卒の人気クオンツによる戦略とノウハウDVD


↓ブログランキングご協力お願いします!
シストレナビ 人気ブログランキングへ にほんブログ村 為替ブログ FX システムトレード派へ