動画の埋め込みテスト兼ねたルールの確認とNT7バックテスト
茜色が燃えるとき - Scoobie Do - YouTube
”今いるこの場所はすり減るだけのゲーム それなら俺はただ笑うだけで勝てるはず”
”今いるここからは落ちてくだけのゲーム それならそう誰もが踊るだけで勝てるはず”
Scoobie Doの茜色が燃えるときから一部引用
何かで勝ちたかったらまずルールの確認は最重要事項です。
勝ちも負けもないゲームをやっても勝てるはずがないのだから。
さて前置きが長くなったけどNinjaTrader7でいよいよバックテストの部分の説明に取り掛かろうと思います。
その前にちょっとバックテストにつかうストラテジーを作りましょう。
いやほんとクリックするだけですごく簡単にできます。
NinjaTrader7の特徴としてGUIのみでストラテジー(MT4でいうところのEA)が作れてしまいます。
では実際にやってみましょう。
tools→New NinjaScript→Strategyと進んで
名前を入れて軽く説明も入れます。
軽くでいいですなぜなら説明してもしばらくしたら自分で作ったはずなのに忘れるからね。
Calculate on bar close(終値の出来上がるタイミングでルールを使う)にチェックを入れておく。
最適化やバックテストで使う変数(パラメーター)の設定です。
ここではモメンタムの期間のみを設定します。
set1のtabにAddでルールを設定していきます。
インディケーターからモメンタムを選択
さらにParametersの欄のPeriodのところをUser defind inputsから
さっき設定したMomPeriodを選択。
真ん中のプルダウンから大なりを選択してUser variablesの0を選択
Bars agoは何日前のモメンタムを参照するかです、クローズしたタイミングのみのルールなのでそのまま0にしておきます。
さらに下の方のAddボタンで売買のルールを足します。
ショートポジションを決済。
ロングポジションを持つ。
の2つのを追加してドテン売買のルールにします。
さらにこのままだと一方向に動いた時どんどんポジションが膨れ上がっていくので
StrategyのCurrent market position != Long
としてロングのポジションを持っているときは何もしないよう(単一ポジションでのテスト)にします。
セット1の完成図です。
作ったSET1のルールは
0日前の期間N(MomPeriod)のモメンタムが0より大きくてロングポジションを持ってない時に
ショートポジションは決済してロングポジションを建てる。
ではSET2に行きます
ルールは逆にします
0日前の期間N(MomPeriod)のモメンタムが0より小さくてショートポジションを持ってない時に
ロングポジションは決済してショートポジションを建てる。
で作って見てください。
SET2を埋めたらあとはNextを押していきFinishまで行きます。
これにて完成です。
ようはルールを間違えないように作ることさえ出来ればそんなに難しくないはずです。
実際につかってみる前に一手間。
tools→Instrument Managerを開いて
Instrument listにKUを追加します
Nameの欄にKUで◀ボタンで全部入れてOKでlistを作っておいてください。
できたらいよいよバックテストに進みます。
File→New→Strangely Analyzerを開いて
左のリストからKUをクリックして$KUAUDを右クリックしてバックテストを開きます、止めピンみたいなのをクリックして先ほど作った
NemuiMomentumを開いて
MomPeriodを12 Date seriesをMinute で15(15分足)
※サーバーとの接続がある場合は切っておかないと仮想通貨なのでそんな通貨無いけど的なメッセージが流れるので切ってからやります。
期間は今年でやってみましょうLet's Run
結果が出たらまずChartを開き右クリしてインディケーターを入れます
ちゃんとルール通りなっているか確認してみましょう。
できていたら初めて結果の確認を行えます。
ちなみにクローズしてからなのでこれで正常なタイミングです。
この確認は非常に重要なので必ず最初にやりましょう。
サマリーと損益グラフ
見事な逆行っぷりですね。ということは!!
逆のルールでやってみよう。
やったぜ!!とは行かないもので
これはスプレッドが反映されていません。
困ったことにKU-Powerは対数変化率をただチャート状に加工しただけなのでスプレッドがありません。
なので手数料として擬似的にスプレッドを付けてやります。
リストのKUAUDをダブルクリックしてEditorを開く
MiscのタブSimulatorの欄に0.02として
一回に2円徴収します。
KU-Powerは対数変化率なので単純に2pips×2(両側分)という手数料にはならないのを注意してください、
あくまで擬似的なスプレッドです。
GenneralのInclude commissionをTrueにすることで設定した手数料を反映することができます。
さあ手数料込みの結果を見ると一目瞭然で駄目ですね。
今回は2円にしたけど手数料は自分で用途に合うようにうまいこと設定してください。
NT7のバックテストはいかがだったでしょうか。
ひと通りやってみてお分かりでしょうNinjaTraderのいいところはインディケーターさえ作れれば本当に簡単にGUIのみで全く新しい自分のみのストラテジーを作れることにあります。
もちろん既存のインディケーターでもできます。
それではみなさんNinjaTrader7で良いバックテスト三昧を。