strategy
この関数はいくつかのストラテジーのプロパティを設定します。
例
//@version=5
strategy("Strategy", overlay = true)
// Enter long by market if current open is greater than previous high.
strategy.entry("Long", strategy.long, 1, when = open > high[1])
// Generate a full exit bracket (profit 10 points, loss 5 points per contract) from the entry named "Long".
strategy.exit("Exit", "Long", profit = 10, loss = 5)
引数
shorttitle (const string) チャートの凡例に表示される短いインジケーターのタイトル。オプション引数です。
overlay (const bool) trueの場合、インジケーターは主系列のオーバーレイとして追加されます。falseの場合 ― 別のチャートペインに追加されます。デフォルトはfalseです。
format (const string) 価格軸におけるインジケーターの値をフォーマットするタイプ。可能な値は以下の通りです。{var format.inherit}, format.price, format.volume。デフォルトはformat.inherit です。
precision (const int) 価格軸におけるインジケーターの値に対する浮動小数点以下の桁数。負でない整数で16を越えない範囲で設定する必要があります。省略した場合、親系列のフォーマットが使用されます。フォーマットがformat.inheritでこの引数が設定されている場合、フォーマットはformat.priceとなります。
scale (scale_type) インジケーターが割り当てられる価格スケール。可能な値は scale.right, scale.left, scale.none です。値 scale.none は、'overlay = true' の設定との組み合わせでのみ適用できます。省略された場合は、メインスケールが使用されます。
pyramiding (const int) 同じ方向に許可されるエントリーの最大数。値が0の場合、同じ方向のエントリーオーダーを1つだけ開くことができ、以降のエントリー注文は拒否されます。デフォルト値は0です。
calc_on_order_fills (const bool) バー内での注文の計算を1回追加します。このパラメーターが 'true' に設定されている場合、ストラテジーは注文が約定した後に(バーの終値でだけでなく)バー内でもう一度再計算されます。デフォルト値は 'false' です。
calc_on_every_tick (const bool) イントラバー(バー内)のストラテジーの追加計算。パラメーターが 'true' の場合、ストラテジーは、バーの終値ではなく、リアルタイムで毎ティック計算を行います。このパラメータは、ヒストリカルデータでのストラテジーの計算には影響を与えません。デフォルト値は 'false' です。
max_bars_back (const int) ストラテジーで履歴参照可能なバーの最大数。このパラメーターは、スクリプトコード内に変数の履歴データの参照 (‘[]’ 演算子が使用されます) がある場合に、スクリプト内のすべての内蔵変数またはユーザー変数に適用されます。通常、Pineスクリプト™の変数のバッファサイズは自動検出されますが、場合によっては自動検出ができないこともある為、このパラメータではユーザーが手動でこの値の上限を設定することができます。注: パラメータの代わりに max_bars_back 関数を使用すると、1つの変数のみに適用されるため最適です。
backtest_fill_limits_assumption (const int) 指値注文実行の想定。指値注文は、市場価格が指値注文の水準を指定されたティック数だけ超える場合にのみイントラバーで約定されます。
default_qty_type (const string) strategy.entry または strategy.order 関数で `qty` パラメーターに指定する値が何を表すかを決定します。利用可能な値は、契約数/株数/ロット数の strategy.fixed、通貨建ての金額の strategy.cash、利用可能な資金に対するパーセンテージの strategy.percent_of_equity です。
default_qty_value (const int/float) strategy.entry または strategy.order 関数で 'qty' パラメーターが指定されていない場合に、'default_qty_type' 引数で定義した単位で取引するデフォルトの数量。
currency (const string) ストラテジーの口座通貨。オプション引数で、デフォルトは、チャート上で取引されているシンボルの通貨です。利用可能な値は、 currency.NONE, currency.USD, currency.EUR, currency.AUD, currency.GBP, currency.NZD, currency.CAD, currency.CHF, currency.HKD, currency.JPY, currency.NOK, currency.SEK, currency.SGD, currency.TRY, currency.ZAR, currency.BTC, currency.ETH, currency.MYR, currency.KRW, currency.USDT です。
slippage (const int) 市場の売買価格やストップ注文の約定価格に加算/減算されるティック単位のスリッページです。mintick=0.01 で slippage=5 の場合、スリッページの合計は、5*0.01=0.05 になります。
commission_type (const string) 注文の手数料タイプ。利用できる値は以下の3つです: strategy.commission.percent (注文金額のパーセンテージ)、strategy.commission.cash_per_contract (取引毎に口座通貨の一定額)、strategy.commission.cash_per_order (注文毎に口座通貨の一定額)
commission_value (const int/float) 注文の手数料値。選択されたタイプ(commission_type)に応じてパーセントまたは金額が含まれる。
process_orders_on_close (const bool) `true` に設定すると、バーがクローズしてストラテジーの計算が完了した後に、追加で注文の試行が行われます。注文が成行注文の場合には、ブローカエミュレーターは次のバーの始値の前にその注文を実行します。注文が価格条件付きの場合には、注文は価格条件が合致する場合のみ約定されます。このオプションは現在のバーでポジションを閉じたい場合に便利です。デフォルト値は 'false' です。
close_entries_rule (const string) 注文がクローズされる順序を決定します。許可される値は: 'FIFO' または 'ANY' です。FIFO (First-In, First-Out) では、複数のトレードがオープンしている時には最も早いトレードが最初に閉じられます。このルールは、株式、先物、米国のFX (NFAコンプライアンスルール 2-43b) に適用されます。'ANY' はトレードが任意の順序で閉じられる可能性を意味します(これは米国以外のFXで許可されています)。デフォルト値は 'FIFO' です。
max_lines_count (const int) 表示される直近のライン描画の数。デフォルト値は50で、許可される最大値は500です。
max_labels_count (const int) 表示される直近のラベル描画の数。デフォルト値は50で、許可される最大値は500です。
max_boxes_count (const int) 表示する直近のボックス描画の数。デフォルト値は50で、最大許容値は500です。
margin_long (const int/float) マージンロングとは、ロングポジションの場合に、現金または担保によってカバーしなければならない購入価格の割合のことです。正の数値である必要があります。オプションです。デフォルトは100です。
margin_short (const int/float) マージンショートとは、ショートポジションの場合に、現金または担保によってカバーしなければならない購入価格の割合のことです。正の数値である必要があります。オプションです。デフォルトは100です。
explicit_plot_zorder (const bool) インジケーターのプロット、塗りつぶし、水平線のレンダリング順を指定します。trueの場合、プロットはインジケータのコード上の順序に基づいて描画され、新しいプロットは前のプロットの上に描画されます。これは plot*() 関数、fill、hline にのみ適用されます。オプション引数。デフォルトは false です。
initial_capital (const int/float) ストラテジーの取引に利用可能な初期資金です。`currency` で定義した通貨建てで指定します。オプション引数で、デフォルトは 1000000 です。
risk_free_rate (const int/float) リスクフリー収益率とは、最小リスクまたはゼロリスクでの投資の価値の年間変動率で、シャープレシオとソルティノレシオの計算に使用されます。
use_bar_magnifier (const bool) `true` の場合、ブローカーエミュレーターはより現実に即した結果を得るため、バックテスト中では下位の時間足のデータを使用します。オプションです。デフォルトはfalseです。この機能を利用できるのはPremiumプランのアカウントに限られます。
備考
標準外のチャートタイプを戦略のベースに使用した場合は、成績が変わってしまいます。注文がそのチャートの価格で実行されるからです。(例えば、平均足のチャートでは平均足の価格(平均価格)で実行され、実際のマーケット価格では実行されません。) 従い、戦略を作成する場合は標準のチャートを使用することを強くお勧めします。