TradingView Strategy Propertiesの固定方法|設定監査 | SG Group
本文へ移動
TradingView解説 · 最終内容確認 Read in English
BACKTEST PREMISE · TV11

TradingViewのStrategy Propertiesを固定する方法:比較可能なバックテスト設定表

同じPine戦略でも、initial capital、base currency、order size、pyramiding、margin、commission、slippageなどが違えば、Strategy Testerの損益、取引数量、margin call、比較可能性は変わります。本稿は「良い設定」を選ぶ記事ではありません。結果を読む前に、どの値をどこで固定し、どの値がUIで上書きされ、どのデータ文脈で実行されたかを一枚の設定フィンガープリントへ残す手順です。コストの計算や感度分析は既存の専門記事へ分離し、ここでは再現性だけを監査します。

この記事が役立つ方: Strategy Testerの結果がPC、共有相手、再読込後で一致しない人、複数戦略や設定versionを同じ前提で比較したい個人トレーダーとPine開発者

まず押さえる重要ポイント

SETTINGS FINGERPRINT

結果より先に、実験条件へ名前を付ける

FINGERPRINTTV11-DEMO · v1 · USD · 100k · 10% · P1 · M100/100
監査状態値・単位・出所・上書きを照合

Capital

  • Initial 100,000
  • Currency USD
  • Order 10% equity

Exposure

  • Pyramiding 1
  • Long margin 100%
  • Short margin 100%

Friction

  • Commission 0.05%
  • Slippage 2 ticks
  • Unit verified

Context

  • Symbol ID saved
  • Timeframe saved
  • Session saved
表示値は架空の教育用例です。銘柄仕様、通貨、設定可能項目と初期値は現行のTradingView公式画面で確認してください。
DIRECT ANSWER

比較できるのは、設定とデータ文脈が固定された結果だけ

Strategy Propertiesは、バックテストという実験の前提条件です。 initial capitalと通貨は損益率や資本制約の基準、order sizeとpyramidingはエクスポージャー、marginは必要資本とmargin call、commissionとslippageは仮定した摩擦を変えます。結果画面のnet profitだけを保存しても、これらが不明なら同じ実験を再現できません。

最初に設定表を保存し、次にStrategy Testerを実行し、最後に結果ファイルと設定表を同じversion IDで結びます。「前回より成績が良い」という比較は、symbol、timeframe、期間、session、script hash、inputs、propertiesのうち意図した一項目だけが違う場合に初めて意味を持ちます。データ提供元や履歴範囲が違う結果も別実験です。

01 · FOUR LAYERS

設定を資本・エクスポージャー・摩擦・計算へ分ける

一つのProperties画面を長い入力一覧として扱うと、変更理由が消えます。資本層、エクスポージャー層、摩擦層、計算・約定層へ分けると、どの結果差をどの設定が生んだ可能性があるかを追跡できます。本稿は最初の三層を記録し、計算時刻はTV15、約定機構はTV12で詳しく扱います。

Strategy Propertiesの責任分担
代表項目変わり得るもの本稿で残す証拠
資本initial capital・currency率の分母・資本不足値・通貨・根拠
エクスポージャーorder size・pyramiding・margin数量・重複建玉・margin call型・値・方向別条件
摩擦commission・slippage約定後損益単位・値・片道の定義
計算/約定recalculate・fill settings注文生成時刻・fill別記事への監査リンク

UI名称や配置は変更されることがあります。現行公式資料と実画面を優先してください。

とくにpercent of equityとfixed quantityは同じ数値でも意味が違います。margin 100%と20%も単純なrisk設定ではなく、必要資本と利用可能なnotionalが変わる条件です。期待損失を決める機能と誤認せず、実際のposition riskはstop、quantity、point value、gap等を別途確認します。

02 · REPRODUCIBILITY RECORD

設定フィンガープリントを結果ファイルと同時に保存する

フィンガープリントは暗号学的な保証ではなく、人が差分を見つけるための短い識別子です。完全な表には値、単位、入力場所、根拠、script内固定かUI上書きか、確認日を残し、短縮IDはファイル名や比較表へ付けます。スクリーンショットだけでは文字検索や差分抽出が難しいため、構造化した文字列も保存します。

設定フィンガープリントの概念式Fingerprint = script version + input set + capital/currency + sizing + pyramiding + margin + friction + contextCompleteness = 記録済み必須項目 ÷ 必須項目 × 100Review flags = 未記録項目 + UI上書き候補この式は再現性の記録率であり、戦略品質や収益性のscoreではありません。
最低限の設定台帳
Field例(架空)単位/型出所
initial_capital100000USDstrategy()
default_qty10% of equitystrategy()
pyramiding1同方向entry上限strategy()
margin long/short100 / 100%strategy()
commission0.05% per fill想定strategy()
slippage2ticksstrategy()
contextTICKERID / 60 / regularID・分・sessionchart

値は設定方法を示す架空例で、推奨値ではありません。

03 · PINE V6 EXAMPLE

strategy()へ明示した値とUI上書きを照合する

Pine v6では、strategy declarationへ複数の既定propertyを明示できます。下のsampleは設定を可視化するための教育用です。pyramiding = 1は同方向entryを同時に一件まで許す一建玉意図です。移動平均crossは説明を短くするためだけの仮ルールで、優位性、推奨期間、売買方向を示しません。commissionやslippageの架空値も実際のbroker条件ではありません。

Pine Script v6:設定を明示したstrategy samplepine
//@version=6
strategy(
    "Settings fingerprint demo",
    overlay = true,
    initial_capital = 100000,
    currency = currency.USD,
    default_qty_type = strategy.percent_of_equity,
    default_qty_value = 10,
    pyramiding = 1,
    commission_type = strategy.commission.percent,
    commission_value = 0.05,
    slippage = 2,
    margin_long = 100,
    margin_short = 100
)

int fastLength = input.int(20, "Fast length", minval = 2)
int slowLength = input.int(50, "Slow length", minval = 3)
float fast = ta.sma(close, fastLength)
float slow = ta.sma(close, slowLength)

if ta.crossover(fast, slow) and barstate.isconfirmed
    strategy.entry("L", strategy.long)
if ta.crossunder(fast, slow) and barstate.isconfirmed
    strategy.close("L")

plot(fast, "Fast", color.teal)
plot(slow, "Slow", color.orange)

Pine Editorの現行compilerと公式declaration referenceで引数名・型を再確認してください。

scriptへ明示すると共有時の出発点を残しやすくなりますが、Properties画面で変更可能な項目がある場合、実行時の値がsource上の既定値と一致するとは限りません。source、Properties画面、出力された設定情報の三つを照合し、UI overrideがあるversionは別IDで保存します。

04 · CONTROLLED COMPARISON

一度に一つだけ変え、結果差と設定差を混ぜない

設定versionを比較するときはbaselineを複製し、変更対象を一項目へ絞ります。capitalとorder sizeを同時に変えれば、損益額、率、取引可能性のどれが影響したか分離できません。pyramidingを変えるなら、他のproperties、inputs、symbol、期間を固定し、変更前後のtrade count、exposure、margin eventも保存します。

  1. Baselineを凍結

    script hash、inputs、properties、symbol、timeframe、期間を保存します。

  2. 一項目を変更

    変更理由、旧値、新値、単位、実行者、時刻を記録します。

  3. Testerを再実行

    画面値だけでなく、同じ種類のCSV/XLSXを出力します。

  4. 差分を照合

    設定差、trade数、数量、資本制約、警告の順に確認します。

  5. versionを固定

    良く見えた値だけ採用せず、失敗versionも同じ台帳に残します。

commission、spread、slippageを動かした感度分析は別の問いです。ここで複数cost scenarioを再制作せず、BT09のコスト感度とストレステストへ渡します。TV11の役割は、そのBT09へ渡したbaseline設定を第三者が特定できる状態にすることです。

05 · EXPORT & LAB

正しい前提を添えてCSV/XLSXを分析工程へ渡す

Strategy Testerから適合するCSV/XLSXを出力したら、同じ名前の設定フィンガープリントと組にします。SG GroupのBacktest & Robustness Labでは、読み込んだ結果からKPI、equity、drawdown、stress、OOS等の記述的な診断へ進めます。比較versionを保存して差分を継続的に扱いたい段階では、有料機能への移行が自然です。

無料TradingViewインジケーター集は観察や仮説づくりの入口ですが、indicator表示そのものはStrategy Testerのstrategy出力ではありません。明確なruleを別途`strategy()`へ実装し、データ・約定・実行条件を検証してから結果をLabへ渡します。見栄えの良いplotを直接「検証済み成績」と呼ばないことが重要です。

06 · RELEASE CHECK

公開・共有前に設定の欠落と上書きを監査する

設定を固定しても将来の成績は保証されません。再現性は「同じ問いを同じ条件で再実行できる」ための最低条件であり、strategyの妥当性は別にdata quality、fill、execution、sample、cost、OOS、robustnessから検証します。次はTV12で約定前提、TV15で実行タイミングを監査してください。

SETTINGS FINGERPRINT CHECK

設定記録の完成度と上書きflagを数える

必須property数、記録済み数、strategy()へ明示した数、UI上書き候補数を入力します。品質や収益性ではなく、再現性台帳の欠落だけを見つけます。

記録完成率%
code明示率%
要確認flag

記録完成率=min(記録済み, 総数)÷総数、code明示率=min(code明示, 総数)÷総数、要確認flag=未記録数+UI上書き候補。100%でも設定の適切さや戦略性能は保証しません。

よくある質問

Strategy Propertiesを保存すれば同じ結果を完全再現できますか?

十分条件ではありません。script version、inputs、symbol ID、provider、timeframe、session、履歴範囲、data revisionも一致させる必要があります。設定表は再現性の入口です。

commissionやslippageの正しい値はいくつですか?

普遍的な値はありません。broker、商品、注文、流動性、時期で異なります。本稿では値と単位を保存するだけに留め、計算と感度分析はBT09で扱います。

scriptに書けばProperties画面の確認は不要ですか?

不要にはなりません。実行時に変更された値やchart外部のcontextがあり得ます。source、Properties、出力情報を照合してください。

設定フィンガープリントはCSV内へ書き込む必要がありますか?

必須ではありません。人が読める設定表やJSONを別添しても構いませんが、CSV/XLSXと同じversion ID、実行日時、script hashで一意に結び付けてください。

根拠資料と確認先

  1. TradingView | Strategy propertiesStrategy Propertiesの公式項目とstrategy()引数の対応
  2. TradingView Pine Script | Declaration statementsstrategy declarationとproperty引数の公式reference
  3. TradingView Pine Script | StrategiesStrategy Tester、properties、orders、cost、margin等の公式概念
  4. TradingView Pine Script FAQ | Strategiesposition sizing、leverage、testingに関する公式FAQ
  5. TradingView Pine Script | Execution model設定差と分離すべき実行時contextの公式説明

編集・発行: SG Group · 編集方針: TradingView公式ヘルプとPine Script公式文書を優先し、金融市場・商品に関する説明は取引所、監督当局、一次資料で補完しています。機能、データ、料金、接続条件は変わるため、実際の利用前に公式画面とリンク先の最新情報を確認してください。

重要事項: 本記事はTradingViewの画面、チャート、アラート、スクリーナー、ペーパートレード、Pine Script等の一般的な学習情報です。投資助言、売買シグナル、特定商品・データ提供者・ブローカーの推奨、将来価格や利益の保証ではありません。機能、料金、データ、取引所区分、通知、注文連携、Pine Scriptの仕様はプラン・地域・接続先・時点で異なり変更されることがあります。実際の資金を使う前に、TradingView公式資料、データ提供元、接続先事業者の最新条件を確認し、架空データまたはペーパートレードで手順を検証してください。