TradingViewストラテジーテスターの使い方 — AI活用バックテスト
EA化する前に「この手法、過去データで本当に通用するの?」を確認したい。でもMT4のストラテジーテスターは設定が面倒くさい。
そんな時に使えるのがTradingViewのストラテジーテスターです。ブラウザだけで使えて、設定もシンプル。Pine Scriptの知識がなくてもAIに書いてもらえば5分で動かせます。
MT4より手軽にバックテストする方法がある
MT4でバックテストをするには、ヒストリカルデータのダウンロード、ストラテジーテスターの設定、スプレッドの指定など、細かい設定が必要です。これはある程度慣れた人向けの作業です。
一方、TradingViewのストラテジーテスターは:
- ブラウザだけで完結する
- チャートにコードを貼るだけで結果が出る
- ヒストリカルデータのダウンロードは不要
「このロジック、使えそう?」というアイデアの素早い検証に最適です。
TradingViewストラテジーテスターとは
Pine Scriptという、TradingView専用のスクリプト言語で書かれた売買ロジックを、過去チャートに適用して検証する機能です。
strategy() 関数を使ったスクリプトをチャートに追加すると、自動的に「ストラテジーテスター」タブが表示されます。
[画像:TradingViewのチャート画面下部にストラテジーテスタータブが表示された状態のスクリーンショット]
💡 INFO Pine Scriptには「インジケーター」と「ストラテジー」の2種類があります。インジケーターは
indicator()関数を使い、売買記録は残りません。ストラテジーはstrategy()関数を使い、バックテスト結果が自動的に計算されます。AIにコードを書かせる時は「strategy()関数を使って」と指定することが重要です。
AIにPine Scriptのストラテジーを書かせる
Pine Scriptを自分で書く必要はありません。AIに書かせます。
プロンプト例
TradingViewのPine Script v5で以下の売買ロジックのストラテジーを作ってください。
【ロジック】
- RSI(14)が30を下回ったら買いエントリー
- RSI(14)が70を上回ったら売りエントリー
- 反対シグナルが出たら決済
【仕様】
- strategy()関数を使用すること(indicator()ではない)
- strategy.entry()とstrategy.close()で売買を実装
- strategy()のinitial_capitalは1000000(初期資金100万円)
- デフォルトのqtyはコントラクト1(固定)
- タイトルは「RSI Strategy」
- Pine Script v5の構文のみ使用(v4の構文は混在させない)
コンパイルできる完全なコードを出力してください。
AIが生成するPine Scriptの例
上記プロンプトをAIに渡すと、次のようなコードが返ってきます。
//@version=5
strategy("RSI Strategy", overlay=true, initial_capital=1000000, default_qty_type=strategy.fixed, default_qty_value=1)
// --- パラメータ設定 ---
rsiLength = input.int(14, title="RSI期間")
rsiOversold = input.int(30, title="売られすぎ水準(買いエントリー)")
rsiOverbought = input.int(70, title="買われすぎ水準(売りエントリー)")
// --- RSI計算 ---
rsiValue = ta.rsi(close, rsiLength)
// --- エントリー条件 ---
// RSIが売られすぎ水準を下回った場合に買いエントリー
longCondition = rsiValue < rsiOversold
// RSIが買われすぎ水準を上回った場合に売りエントリー
shortCondition = rsiValue > rsiOverbought
// --- エントリー ---
if longCondition
strategy.entry("Long", strategy.long)
if shortCondition
strategy.entry("Short", strategy.short)
// --- 決済条件 ---
// 反対シグナルが出たら自動的に反転(strategy.entryが上書き決済する)
// --- チャート表示 ---
plot(rsiValue, title="RSI", color=color.purple, display=display.none)
hline(rsiOversold, "売られすぎ", color=color.green, linestyle=hline.style_dashed)
hline(rsiOverbought, "買われすぎ", color=color.red, linestyle=hline.style_dashed)
このコードをそのままPineエディタに貼り付けるとすぐに動作します。AIが出力するコードに多少の違いはありますが、構造はほぼ同じです。
生成されたコードの貼り付け方
- TradingViewのチャートを開く
- 下部の「Pineエディタ」タブをクリック(表示されていない場合は「+」ボタンから追加)
- エディタ内のデフォルトコードを全削除
- AIが生成したコードを貼り付け
- 「チャートに追加」ボタンをクリック
[画像:TradingViewのPineエディタ画面でコードを貼り付けた後、「チャートに追加」ボタンを押そうとしているスクリーンショット]
チャートにストラテジーが追加されると、過去のエントリー・決済ポイントが矢印で表示されます。
よくあるAIのミス
AIがPine Script v4とv5の構文を混在させることがあります。その場合、Pineエディタにエラーが表示されます。
エラーが出た場合は以下のプロンプトで修正させます。
以下のPine ScriptコードでPineエディタにエラーが出ます。
Pine Script v5の構文のみで書き直してください。
【エラーメッセージ】
(エラーをコピペ)
【コード全文】
(コード全体を貼付)
結果の見方(4つのタブ)
ストラテジーをチャートに追加すると、画面下部に「ストラテジーテスター」パネルが表示されます。
[画像:ストラテジーテスターの4つのタブ(概要・パフォーマンスサマリー・トレード一覧・資産曲線)が表示されたスクリーンショット]
①概要タブ
最初に確認するタブです。主要な指標が一覧表示されます。
| 指標 | 見るべきポイント |
|---|---|
| 純利益 | プラスかどうか |
| 取引回数 | 100回以上あるか |
| 勝率 | 損益比率と合わせて評価 |
| プロフィットファクター | 1.3以上を目安 |
| 最大ドローダウン | 20%以下を目安 |
サンプル数値の例(USDJPY・H1・2023年通年・RSIストラテジー):
| 指標 | 値 | 評価 |
|---|---|---|
| 純利益 | +42,300円 | プラスだが小幅 |
| 取引回数 | 148回 | 十分なサンプル数 |
| 勝率 | 43.2% | 低め、損益比率で補う形 |
| プロフィットファクター | 1.18 | 目安の1.3を下回る |
| 最大ドローダウン | 18.4% | 許容範囲ギリギリ |
この結果を見ると「使えなくはないが、改善が必要」と判断できます。RSIの閾値(30/70)を調整するか、フィルター条件を追加してPFを1.3以上に改善できないか検討するのが次のステップです。
⚠️ WARNING 上記の数値は説明のために作成したサンプルです。実際の結果は通貨ペア・時間足・期間・市場環境によって大きく異なります。このストラテジーの将来的な利益を保証するものではありません。
②パフォーマンスサマリータブ
ロング(買い)とショート(売り)の成績を分けて確認できます。どちらか片方だけが利益を出していて、もう片方が足を引っ張っているケースを発見できます。
③トレード一覧タブ
個別のトレードの詳細が確認できます。極端に大きな損失が出たトレードを特定し、その時の相場環境を確認するのに使います。
④資産曲線タブ
資産の推移をグラフで確認します。右肩上がりの滑らかな曲線が理想です。急激な下落がある場合は、その時期に何があったかをチャートで確認しましょう。
TradingView vs MT4 バックテストの違い
どちらを使うべきか迷った時の判断基準です。
| 比較項目 | TradingView | MT4 |
|---|---|---|
| 手軽さ | ◎ ブラウザだけ | △ MT4インストール・設定必要 |
| 実行速度 | ◎ 高速 | △ 全ティックは遅い |
| 精度 | △ ローソク足ベース(粗め) | ◎ ティックデータ対応(精密) |
| スプレッド設定 | △ 設定が限定的 | ◎ 細かく指定可能 |
| 言語 | Pine Script | MQL4 |
| 主な用途 | アイデアの素早い検証 | 本番前の最終検証 |
おすすめワークフロー:
Step 1: TradingViewでPine Scriptストラテジーを作成
→ 10〜15分で仮説検証
→ PFが1.3以下・勝率が低すぎる → ロジック変更してStep 1に戻る
Step 2: 有望なロジックをMT4でEA化
→ MetaEditorでMQL4に変換(AIに依頼)
→ 全ティックモードで精密バックテスト
Step 3: デモ口座でリアルタイム検証
TradingViewで先にアイデアを検証することで、MT4でのEA化にかける時間を「本当に有望なロジックだけ」に絞れます。
💡 INFO TradingViewのバックテストはローソク足の「高値・安値・終値」の順序を考慮しません。1本のローソク足内で高値と安値のどちらが先に到達したかが不明なため、短期足のスキャルピング系EAの検証精度は低くなります。スイング系のロジックであればTradingViewの検証でも十分実用的な精度が得られます。
無料 vs 有料プランの違い(ストラテジーテスター観点)
| プラン | バー数(過去データ) | ストラテジー同時表示 | 秒足 |
|---|---|---|---|
| 無料 | 約5,000バー | 1個 | なし |
| Essential | 約10,000バー | 1個 | なし |
| Pro | 約20,000バー | 1個 | あり |
| Pro+ | 約20,000バー | 2個 | あり |
無料プランでも基本的な検証は可能です。 ただし過去データが約5,000バーに制限されるため、H1(1時間足)なら約7ヶ月分のデータしか使えません。
長期間のバックテストが必要な場合や、複数のストラテジーを同時に比較したい場合はProプラン以上が必要になります。
📢 CTA TradingViewのProプランへのアップグレードで、より長期間のバックテストとWebhookによるアラート自動発注が使えるようになります。EA開発を本格的に進めるなら、Proプランへのアップグレードを検討してみてください。
まとめ:アイデアの素振りに最適
TradingViewのストラテジーテスターを使いこなすポイントです。
- Pine Scriptは自分で書かなくていい。AIに「strategy()関数を使って」と指定して書かせる
- 検証のスピードが命。「ダメならすぐ次へ」を繰り返してロジックを磨く
- MT4との使い分け:TradingViewで素早く仮説検証 → 有望なものだけMT4で精密テスト
- 取引回数に注意:バー数制限で取引回数が少ない場合は期間を延ばすか有料プランを検討
この記事で使ったツール
📢 CTA TradingView — Pine ScriptエディタとストラテジーテスターはTradingViewのアカウントがあれば無料で使えます。無料プランから始めて、バックテスト期間を延ばしたい時にProプランへのアップグレードを検討してください。
関連記事
柱記事(EA開発の基礎)
この記事の前後
- MT4ストラテジーテスターの使い方
- 複数条件を組み合わせたEAの作り方
- TradingViewのアラート機能をEAの代わりに使う方法
- TradingViewの無料 vs 有料、EA開発に必要なプランはどれ?
本記事で紹介するEA・手法は教育目的で作成されたものです。実際の取引で利益を保証するものではありません。EAの運用は必ずデモ口座で十分にテストした上で、自己責任で行ってください。FX取引にはリスクが伴います。
次のステップ
まずデモで動作確認 → OKなら本番運用、が安全です。
デモ口座でEAを回す手順関連記事
TradingViewのアラート機能をEAの代わりに使う方法
EAを作らなくてもTradingViewのアラート+Webhookで半自動売買が実現できます。設定手順とEAとの使い分けを具体的に解説。
TradingViewの無料 vs 有料、EA開発に必要なプランはどれ?
EA開発のワークフロー別に、TradingViewの各プランで何ができるかを具体的に解説。アイデア出し・バックテスト・アラート連携など段階ごとに必要なプランを明確化。
複数条件を組み合わせたEAの作り方 — RSI+MACD+移動平均線の実例
単一インジのEAからステップアップ。AND/OR結合の考え方と、RSI・MACD・SMA200を組み合わせた実例プロンプト・バックテスト比較を解説します。
Squeeze MomentumでPine Script→EA変換を実践する
中級編で学んだPine Script丸投げの手法を、Squeeze Momentumインジケーターで実践。プロンプトの書き方の重要ポイントとリペイント問題のチェック方法も解説。
