FXボーグ | テクニカル実験室

テクニカル分析を使った自動売買プログラムの開発に挑戦!

スポンサーリンク

【NinjaTrader8】 カスケードインジケーターをストラテジー化。

カスケードインジケーターをベースにストラテジー(MTでのEA)を作ってみました。
こんな感じです。
f:id:fxborg:20160724204510p:plain

エントリー・・・トレンドの転換時とその後にできるプルバック。
イグジット・・・1日のセッションクローズ。

 インジケーターとストラテジーのコードは似てる

サンプル・ストラテジーのソースを見るとインジケーターの構成と似てたので、適当にコピペして作ったら動きました。

インジケーターとの違いは今のところ注文ロジックだけです。それ以外の部分はインジケーターのコードとだいたい同じなので、今回はオーダーメソッドを上げて終わりにしたいと思います。

オーダーメソッド

StratgyBase.EntryLong
買い注文を入れます。

Syntax

EnterLong()
EnterLong(string signalName)

EnterLong(int quantity)

EnterLong(int quantity, string signalName)

リファレンスへ


StratgyBase.EntryShort  
売り注文を入れます。

Syntax

EnterShort()
EnterShort(string signalName)

EnterShort(int quantity)

EnterShort(int quantity, string signalName)

リファレンスへ

 

StratgyBase.ExitLong   
買い注文を手仕舞いする為の売り注文を入れます。

Syntax

ExitLong()

ExitLong(int quantity)
ExitLong(string fromEntrySignal)

ExitLong(string signalName, string fromEntrySignal)

ExitLong(int quantity, string signalName, string fromEntrySignal)

リファレンスへ

 

StratgyBase.ExitShort 
売り注文を手仕舞いする為の買い注文を入れます。 

Syntax

ExitShort()

ExitShort(int quantity)
ExitShort(string fromEntrySignal)

ExitShort(string signalName, string fromEntrySignal)

ExitShort(int quantity, string signalName, string fromEntrySignal)

リファレンスへ

 

StratgyBase.SetProfitTarget
利益目標の注文を行います。

 

Syntax

SetProfitTarget(CalculationMode mode, double value)

SetProfitTarget(CalculationMode mode, double value, bool isMIT)
SetProfitTarget(string fromEntrySignal, CalculationMode mode, double value)
SetProfitTarget(string fromEntrySignal, CalculationMode mode, double value, bool isMIT)

リファレンスへ

 

StratgyBase.SetStopLoss
ストップロスの注文を行います。

 

Syntax

SetStopLoss(CalculationMode mode, double value)

SetStopLoss(string fromEntrySignal, CalculationMode mode, double value, bool isSimulatedStop)

リファレンスへ

 

 最後に

ようやく簡単なストラテジーを作れるところまで来ました。もうすこし時間が掛かるだろうと思っていたので NinjaTrader に乗り換えてよかったです。(あくまでもバックテスト環境のみの利用ですが・・・)

こちらからどうぞ

Strategies/CascadeTrend.cs