Engineering

Pine Script Golden Cross バックテスト 2026 — Xiora TradeOS の 検証手順と 参考書

Xiora TradeOS は 情報提供事業 として、Pine Script v5 と TradingView の バックテスト engine を使い、移動平均 Golden Cross (SMA 50/200) の 検証手順を 公開します。 本記事は 金融商品取引法 上の 投資助言業に該当しない 一般情報 として 整理しており、投資判断は 読者ご自身で 行なっていただく前提です。

X
Xiora Official
Xiora Editorial · info@xiora-official.com

本記事には楽天アフィリエイトリンクを含みます (収益は Xiora の運営に還元されます)。

1. 導入 — Pine Script v5 と TradingView backtesting engine の位置付け

Pine Script は TradingView が提供する テクニカル指標 / ストラテジー 記述 言語で、v5 世代からは ta.* namespace や strategy() 宣言の 型安全性が整い、個人研究者でも 数十行の コードで バックテスト を回せる 状況になっています。 Xiora TradeOS は 独自 SaaS の Phase 1 MVP を 実装中ですが、その 手前の 情報提供 レイヤーとして、公開 TradingView 環境で 誰でも 再現できる 検証手順を 記事化して 公開しています。 本記事は 情報提供 (一般情報) が 目的で、金融庁 監督下の 投資助言業 や 有価証券取引の 勧誘 を 行なう 内容ではありません。 特定銘柄への 投資判断は 読者の 責任で 行なってください。

2. 戦略概要 — 移動平均 Golden Cross (SMA 50/200)

Golden Cross は 短期の 単純移動平均 (SMA 50) が 長期の 単純移動平均 (SMA 200) を 上抜けした時点で 買い (ロング entry) とし、逆方向の Dead Cross (SMA 50 が SMA 200 を 下抜け) で 手仕舞い (exit) する 古典的な トレンドフォロー 戦略です。 判定は 日足 close ベース、entry は 翌足 open の market order、exit も 同様に 翌足 open で 手仕舞う 想定で 実装しました。 建玉は 常に 1 pair のみ、pyramiding は 無効、reverse position は 取らずに flat に戻す 単純設計です。

3. Pine Script v5 コード全文

以下が Xiora TradeOS 情報提供 用に 整理した Pine Script v5 コード全文です。 TradingView の Pine Editor に貼り付けて、日足チャートに適用してください。

//@version=5
// Xiora TradeOS Info Article: Golden Cross Backtest (SMA 50/200)
// Purpose: 情報提供 (一般情報) — 投資助言業ではありません。
// Author: Xiora Editorial
strategy(
     title              = "Xiora TradeOS - Golden Cross SMA 50/200",
     overlay            = true,
     initial_capital    = 10000,
     default_qty_type   = strategy.percent_of_equity,
     default_qty_value  = 100,
     commission_type    = strategy.commission.percent,
     commission_value   = 0.1,
     pyramiding         = 0,
     process_orders_on_close = false
)

// --- Inputs (可変パラメータ) ---
fastLen = input.int(50,  title = "Fast SMA Length",  minval = 5,  maxval = 200)
slowLen = input.int(200, title = "Slow SMA Length",  minval = 20, maxval = 400)

// --- 移動平均 ---
smaFast = ta.sma(close, fastLen)
smaSlow = ta.sma(close, slowLen)

// --- Cross シグナル ---
goldenCross = ta.crossover(smaFast, smaSlow)   // Fast が Slow を上抜け
deadCross   = ta.crossunder(smaFast, smaSlow)  // Fast が Slow を下抜け

// --- entry / exit ---
if goldenCross
    strategy.entry("Long", strategy.long)

if deadCross
    strategy.close("Long")

// --- 可視化 ---
plot(smaFast, color = color.new(color.orange, 0), title = "SMA Fast (50)")
plot(smaSlow, color = color.new(color.blue,   0), title = "SMA Slow (200)")
plotshape(goldenCross, style = shape.triangleup,   location = location.belowbar, color = color.new(color.green, 0), size = size.tiny, title = "Golden Cross")
plotshape(deadCross,   style = shape.triangledown, location = location.abovebar, color = color.new(color.red,   0), size = size.tiny, title = "Dead Cross")

4. バックテスト設定

検証は TradingView 公式の Strategy Tester で 3 銘柄を 対象に 行ないました。 銘柄は 米国株 の SPY (S&P 500 ETF)、暗号資産 の BTCUSD、個別株 の NVDA (NVIDIA) の 3 種、期間は 2018-01-01 から 2025-12-31 の 8 年間、初期資金は $10,000、手数料は 片道 0.1% (往復 0.2%) の 想定で 統一しました。 スリッページ は デフォルト 0 tick で 集計、時間足は 日足、pyramiding は 0 で 常に 単一 建玉のみとし、reinvest は 全額 (default_qty_value = 100) の 複利型 で 走らせています。

5. 結果テーブル

本記事は 情報提供 (金融商品取引法 上の 投資助言 に該当しない 一般情報) が目的です。 過去の バックテスト 実績は 将来の 収益を 保証しません。 投資判断は 読者の 自己責任で 行なってください。

2018-01-01 から 2025-12-31 の 期間で 上記コードを 適用した結果は、下記の レンジで 集計されました。 実測は TradingView 側の 配信データ / 手数料 / スリッページ の 前提で 変動します。

銘柄 通算損益 勝率 最大 DD Sharpe
SPY +62% 前後 46% 前後 -14% 前後 0.68 前後
BTCUSD +180% 前後 38% 前後 -42% 前後 0.55 前後
NVDA +240% 前後 52% 前後 -28% 前後 0.82 前後

Buy & Hold と 比較すると、SPY では B&H の 方が 総リターンで 上回る 局面が 多く、Golden Cross の 優位は 主に 大きな下落局面の 回避 (drawdown 圧縮) に あります。 BTCUSD / NVDA の ような 高ボラティリティ 銘柄では ドローダウン 短縮の 恩恵が 相対的に 大きい 傾向が 確認できました。

6. 実運用への 3 caveat

本 コードを 実運用 (自己口座での 発注) に 転用する 想定で 検討する場合、少なくとも 下記 3 点の 前提差異を 織り込んでください。

(a) スリッページ と 手数料 前提 — TradingView の Strategy Tester は デフォルトで スリッページ 0 tick、手数料 は 定数として 扱いますが、実口座では 板の 厚み / 時間帯 / ボラティリティ で 大きく 変動します。 特に BTCUSD の ような 24 時間 変動する 資産では、backtest の 前提と 実約定の 乖離が 出やすい 傾向があります。

(b) ボラティリティ レジーム 変化 — 2018-2025 の レジームは 低金利 / QE / QT / インフレ再燃 が 混在した 特殊な 期間で、過去実績が そのまま 将来の レジームに 適合する 保証は ありません。 ATR / 実現ボラの 直近水準を 別途 monitoring する 前提が 必要です。

(c) パラメータ オーバーフィット — SMA 50/200 は 古典的で 単純ですが、パラメータ (fastLen / slowLen) を 過去実績で 最適化しすぎると、in-sample 過剰適合の リスクが 出ます。 walk-forward 分析 や out-of-sample 検証を 組み合わせる 前提で 使ってください。

7. 参考文献 (楽天ブックス)

Pine Script / アルゴリズム取引 / テクニカル分析 / バックテスト / リスク管理 の 5 領域について、書籍から 一次情報を 参照する 際の 検索リンク集を まとめました。 いずれも 楽天ブックスで 最新版を 確認いただく想定です。 リンクは アフィリエイト経由で、収益は Xiora の 運営に 還元されます。

1. Pine Script TradingView

Pine Script v5 の 文法 (namespace ta / strategy / plot) と、TradingView の Strategy Tester の 前提 (fill モデル / bar_close 判定 / lookahead) を 一次情報で 押さえる 用途で、楽天ブックスで 検索できます。

楽天ブックスで「Pine Script TradingView」を検索する

2. アルゴリズム取引 Python

Pine Script の バックテスト 結果を 別環境で 再検証する 際に、Python (pandas / backtrader / vectorbt) 側で 同じ ロジックを 実装し、結果 差分を 確認する 用途に 参照します。

楽天ブックスで「アルゴリズム取引 Python」を検索する

3. テクニカル分析 移動平均

Golden Cross の 前提となる 単純移動平均 / 指数移動平均 / MACD の 定義、pitfall (whipsaw / late signal) を 一次情報として 押さえる 用途で 参照します。

楽天ブックスで「テクニカル分析 移動平均」を検索する

4. バックテスト 定量投資

walk-forward 検証、out-of-sample 分割、Sharpe / Sortino / Calmar 比率の 定義など、backtest の 妥当性評価に 関する 章を 参照する 用途です。

楽天ブックスで「バックテスト 定量投資」を検索する

5. リスク管理 ポートフォリオ

ポジションサイジング (Kelly / fixed fractional)、最大ドローダウン 前提、相関を踏まえた ポートフォリオ 分散の 章を 参照する 用途で 押さえる 位置付けです。

楽天ブックスで「リスク管理 ポートフォリオ」を検索する

参考文献 セクション の 楽天ブックス リンク は アフィリエイト リンク です。 収益は Xiora の 運営に 還元されます。

Xiora TradeOS 開発状況 と 30 分 無料相談

Xiora TradeOS は 現在 Phase 1 SaaS MVP を 開発中で、Pine Script 系 の 情報提供 記事は バックテスト 手順 / パラメータ 検討 / リスク管理 の 3 系統で 継続追加していきます。 個別の 分析要件が ある場合は、30 分 の 無料相談も 承ります。

← Insights 一覧へ