スポンサーリンク

Pine Script(Pineスクリプト)入門解説(13)ストラテジー・バックテストの概要

はじめに

今回はPineScript入門ガイドの13回目です。今回から、バックテストで売買のシミュレーション(エミュレーション)ができる「ストラテジー」の機能をご紹介したいと思います。今回は基本的な概要をまとめます。

ストラテジーによるバックテストの流れ

ストラテジーとは、買い・売り注文を送信、変更、キャンセルできるPineスクリプトです。 ストラテジーを使用することによって、特定の売買ロジックに従ってバックテスト(過去データにおける当該ストラテジー取引のシミュレーション)とフォワードテスト(リアルタイムデータでのストラテジー取引のシミュレーション)を実行することができます。

ストラテジーは、「インジケータとストラテジー」メニューから選んで利用(TradingViewに最初からビルトインされているものと、ユーザーによって公開されたもの)できるほかに、自分で「Pineエディター」上で作成することができます。

下記は、「Pineエディター」上で、「Open」メニューから、「New Blank Strategy」を選ぶと表示されるサンプル・スクリプトです。

このサンプルスクリプトは、以下の通りです。
2本の単純移動平均線のゴールデンクロスで買い、デッドクロスで売り、いわゆる「ドテン売買」によるロング・ショートの繰り返しのロジックです。strategy.entryなどの関数は、次回に解説します。

//@version=4
strategy("My Strategy", overlay=true)

longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = crossunder(sma(close, 14), sma(close, 28))
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)

 

上記のストラテジーについて、「Add to Chart」メニューをクリックすることで、現在表示されている通貨ペアと時間足の過去データに対して、当該ストラテジー取引のシミュレーションを実行できます。
シミュレーションの実行結果は、以下の通りです。

チャート上には、エントリー及び決済をしたポイントで、その内容が表示されます。

ストラテジーの設定ダイアログでは、以下のように、シミュレーションの条件を設定します。

  • 「ピラミッディング」とは、買い・売りそれぞれについて、注文数の上限を意味します。
  • 「手数料」は、約定金額に対する割合、注文(per order)、約定(per contract)に対して手数料を設定することができます。

シミュレーション結果の損益は、この手数料の設定で大きく異なってきます。

  • 「指値価格の厳密性」は、指値による売買ロジックにおいて、1ティック以上離れていても約定とみなす場合に設定します。
  • 「スリッページ」とは、注文価格と約定価格の差をいいます。現実の売買ではスリッページが発生することがありますので、それを前提にシミュレーションするときに設定します。

「ストラテジー・テスター」のメニューでは、シミュレーションの結果を確認できます。
結果は、「Overview(概要)」「Performance Summary(パフォーマンスサマリー)」「List of Trades(トレード一覧)」の3つのタブに分かれています。

「Overview(概要)」では、結果の概要と、損益グラフが以下のように表示されます。グラフでは青い部分は資金残高(Equity)の増減を示し、ピンクはドローダウンの増減を示しています。

「Performance Summary(パフォーマンスサマリー)」では、純利益、総利益、最大ドローダウンなどの各種データを確認できます。

「トレード一覧」では、一つ一つのトレードの詳細(エントリー・決済の時間、価格、損益など)を確認することができます。

 

それでは次回より、具体的なストラテジーのサンプルをご紹介します。

タイトルとURLをコピーしました