【PR】本記事はプロモーションを含みます。
「TradingViewでオリジナルのインジケーターを作りたい」「自分の取引ルールをバックテストで検証したい」「ChatGPTやClaudeに自動生成させたいけど、そもそもPineScriptって何?」——こうした疑問を一気に解消するのが、本記事です。
PineScriptはTradingView独自のプログラミング言語で、独自インジケーターの作成や自動売買戦略のバックテストができます。2024年末にv6が登場し、2026年現在はClaude / ChatGPTでPineScriptを自動生成する流れが一気に主流になりました。本記事では、基礎概念からコピペで動くサンプル、AI自動生成までを完全解説します。
![]() Winスクール | 【初心者向け】 ・20~30代におすすめ ・データ分析・AIに特化 公式サイトで無料登録する |
|---|
PineScriptとは
PineScriptは、TradingViewが独自に開発したチャート分析用のプログラミング言語です。
TradingViewのPineエディタ上で書いたコードは、その場でチャートに反映され、インジケーターの描画や売買シグナルの表示、過去データに対するバックテストまで実行できます。
大きな特徴は、TradingView外に持ち出して動かすことができない点です。Pythonのように汎用的に使う言語ではなく、「チャート上の動作を記述するための専用言語」と理解するのが正確です。
| 項目 | 内容 |
|---|---|
| 開発元 | TradingView社 |
| 初版公開 | 2014年(最新はv6、2024年末リリース) |
| 動作環境 | TradingView上のみ |
| 主な用途 | インジケーター作成/ストラテジー(バックテスト用) |
| 料金 | 無料プランでも基本機能利用可能 |
| 言語タイプ | 独自構文(Python/JavaScriptとは別系統) |
なぜ今PineScriptを学ぶ価値があるのか
2026年現在、PineScriptを学ぶ価値が3つの構造変化により急上昇しています。
第一に、v6リリースによる処理速度の劇的向上です。複雑な計算やリアルタイム分析でも遅延なく動作するようになり、実用的なストラテジーが作りやすくなりました。
第二に、Claude / ChatGPTでPineScriptを自動生成できるようになりました。「RSI 30以下で買い・70以上で売りのストラテジーを書いて」と自然言語で頼むだけで、動くコードが返ってきます。
第三に、個人投資家のアルゴ取引ニーズの高まりです。手動売買から半自動化への移行を支える基盤として、PineScriptが現実的な選択肢になっています。
PineScriptの2大用途
PineScriptで書けるスクリプトは大きく2タイプに分かれます。最初に書く関数(indicator()またはstrategy())で、どちらの用途なのかが決まります。
| 用途 | indicator() | strategy() |
|---|---|---|
| 目的 | チャートに線・矢印・図形を描画 | 売買シミュレーション・バックテスト |
| 主な機能 | 移動平均線・RSI・カスタム指標 | エントリー/エグジット条件・損益計算 |
| 結果表示 | チャート上の描画 | 「ストラテジーテスター」タブで損益・勝率を確認 |
| 使うべきケース | 視覚的に判断材料を増やしたい | 戦略の有効性を数値で検証したい |
初学者はまずindicator()から入るのがおすすめです。
移動平均線などシンプルな描画から始めて、慣れてきたらstrategy()でバックテストに進むのが王道ルートです。
PineScriptで何ができる?できないこと
できることとできないことを明確にしておくと、過度な期待や勘違いを避けられます。
| できること | できないこと |
|---|---|
| 独自インジケーターの作成・描画 | TradingView経由での自動実発注(一部ブローカー除く) |
| 過去データのバックテスト・損益計算 | 外部APIへのHTTPリクエスト |
| アラート(メール・Webhook) | 機械学習モデルの学習 |
| マルチタイムフレーム分析 | ファイル入出力・データベース接続 |
| Webhook経由での外部通知 | TradingView外でのスクリプト実行 |
「PineScriptで完全自動売買したい」という場合は、アラートのWebhook機能を使い、外部の自動売買ボット(3CommasやAlertaTronなど)に連携するのが実務的な解です。あくまでPineScript自体は「シグナル生成エンジン」であり、注文執行は別レイヤーで行います。
Pine Script v6の主な進化ポイント
2024年末にリリースされたPine Script v6は、TradingViewが「過去最大のアップデート」と銘打った大改修です。主な変更点は以下のとおりです。
- 処理速度の大幅向上:大量のヒストリカルデータ処理が体感で2〜3倍速くなった
- 動的配列・タプルのサポート強化:これまで冗長だった処理が短く書けるように
- 型推論の改善:明示的な型宣言が減り、Pythonライクな書き心地に近づいた
- 新しい組み込み関数:高度な統計関数や時系列処理が追加
- ライブラリのバージョン管理改善:依存関係を扱いやすくなった
スクリプトの先頭に//@version=6と書くだけでv6が有効になります。
古いバージョンのコードもしばらく動きますが、新規開発はv6で書くのがスタンダードです。
Pineエディタの基本的な使い方
TradingView(無料プランでOK)にログインし、任意のチャートを開く
画面下部の「Pineエディタ」タブをクリック。インストール不要でその場で起動する
「開く」→「組み込みスクリプト」から「Moving Average」など既存スクリプトを参考にする
コードを編集し、Ctrl+Sで保存。「チャートに追加」ボタンですぐにチャート上で動作確認できる
初心者向けサンプルコード3選|コピペで動く
サンプル①:25日移動平均線
もっとも基本的な、終値の25日移動平均線(SMA)を描画するコードです。
変数1つと描画関数1つだけで完成します。
//@version=6
indicator("25日SMA", overlay=true)
sma25 = ta.sma(close, 25)
plot(sma25, color=color.blue, linewidth=2, title="SMA25")
indicator()でインジケーターとして宣言し、ta.sma()で移動平均を計算、plot()でチャートに描画。overlay=trueを指定するとローソク足チャート上に重ねて表示できます。
サンプル②:RSI+買われすぎ/売られすぎゾーン
RSI(相対力指数)を計算し、70以上を赤・30以下を緑で塗り分けるコードです。
視覚的に過熱感を判定しやすくなります。
//@version=6
indicator("RSI+ゾーン", overlay=false)
length = input.int(14, title="RSI期間")
rsi = ta.rsi(close, length)
plot(rsi, color=color.purple, linewidth=2)
hline(70, "買われすぎ", color=color.red)
hline(30, "売られすぎ", color=color.green)
bgcolor(rsi > 70 ? color.new(color.red, 85) : rsi < 30 ? color.new(color.green, 85) : na)
input.int()でユーザーがパラメータを変更できる入力欄を作成。hline()で水平線、bgcolor()で背景色を条件付きで塗ります。
サンプル③:ボリンジャーバンド
移動平均線とその上下の標準偏差バンドを描画する定番インジケーターです。
//@version=6
indicator("ボリンジャーバンド", overlay=true)
length = input.int(20, title="期間")
mult = input.float(2.0, title="標準偏差倍率")
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev
plot(basis, color=color.orange, title="Basis")
plot(upper, color=color.blue, title="Upper")
plot(lower, color=color.blue, title="Lower")
fill(plot(upper), plot(lower), color=color.new(color.blue, 90))
ta.stdev()で標準偏差を計算し、上下バンドを描画。fill()でバンド内を半透明で塗りつぶしています。標準偏差倍率を変えると、バンド幅の感度を調整できます。

ボリンジャーバンドはta.stdev()で標準偏差を計算してバンドを描画。標準偏差倍率を変えるだけで感度を調整できるのが実用的です。
ストラテジー(自動売買戦略)の書き方とバックテスト
ストラテジー(自動売買戦略)の最小限のコードはとてもシンプルです。
「RSIが30以下で買い、70以上で売り」という典型的な逆張り戦略を書いてみます。
//@version=6
strategy("RSI逆張り", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
length = input.int(14, title="RSI期間")
oversold = input.int(30, title="買い閾値")
overbought = input.int(70, title="売り閾値")
rsi = ta.rsi(close, length)
if rsi < oversold
strategy.entry("Long", strategy.long)
if rsi > overbought
strategy.close("Long")
strategy.entry()でロングポジション開始、strategy.close()で決済。
このスクリプトを保存して「チャートに追加」すると、画面下部に「ストラテジーテスター」タブが表示され、過去データに基づいた損益・勝率・ドローダウンが自動計算されます。



ストラテジーはstrategy()関数でエントリーとエグジットを書くだけ。あとはストラテジーテスターが勝率・損益・最大DDを自動で計算してくれます。
PineScriptを学ぶおすすめロードマップ
「Moving Average」「RSI」など組み込みスクリプトを開き、コードを読む。短く読みやすい
期間や色などを書き換え、保存してチャートに反映。挙動の変化を観察する
移動平均×RSIなど複数指標を組み合わせ、自分の判断ロジックをコード化する
indicator()からstrategy()に書き換え、エントリー条件を加えてバックテスト
Claude / ChatGPTに「○○の戦略を書いて」と依頼。出力コードを読んで理解する
文法書を最初から最後まで読むより、「動くコードを触りながら覚える」方が圧倒的に早く身に付きます。
困ったらPine ScriptのリファレンスマニュアルやTradingViewコミュニティスクリプトを参照しましょう。
ClaudeでPineScriptを自動生成
2026年最大のトレンドが、Claude / ChatGPTでPineScriptを自動生成する流れです。
特にClaude CodeとTradingViewをMCP(Model Context Protocol)で連携させると、書いて→コンパイル→エラー修正→チャートに適用までを自動でループ実行できます。
具体的な依頼文の例:
- 「RSI 30以下で買い、70以上で売りのストラテジーをPine Script v6で書いて」
- 「移動平均線のゴールデンクロスで買い、デッドクロスで売る戦略を、ストップロス3%付きで書いて」
- 「ボリンジャーバンドのスクイーズを検出して、ブレイクアウトでエントリーする戦略にして」
連携手順や具体的な活用方法は、別記事で詳しく解説しています。


MCPやAIエージェントの基礎については以下の記事もあわせてどうぞ。




PineScriptのよくあるエラーとデバッグTips
| エラー | 原因と対処 |
|---|---|
| Mismatched input | インデントが揃っていない。タブとスペースが混在していないか確認 |
| Cannot call ‘plot’ with arguments | plot()に渡している値の型が不正。簡単な変数を1つplotしてみて切り分け |
| Undeclared identifier | 変数名のタイポ、または宣言前に使用している |
| Series of XXX expected | seriesとsimpleの違い。ta.sma(close, len)のlenは整数定数が必要 |
| Script could not be translated | v5以前の構文が残っている。study()→indicator()に書き換え |
デバッグの定番テクニックはlabel.new()でチャートに値を表示することです。
変数の中身を可視化することで、計算ロジックの誤りを発見しやすくなります。
よくある質問
Q. PineScriptは無料で使えますか?
TradingView無料プランでも基本機能(インジケーター作成・ストラテジーバックテスト)は利用できます。
ただし有料プランではバックテストの過去データ範囲が広がる、保存できるスクリプト数が増えるなどの優遇があります。
Q. プログラミング未経験でも書けますか?
はい、書けます。本記事のサンプルコードはコピペで動きます。
変数や条件分岐の概念がわかれば、Pythonなど他言語経験は不要です。最近はClaude / ChatGPTに自然言語で依頼してコード生成→自分は読んで理解、という学び方も主流です。
Q. PineScriptで実際に注文を出せますか?
TradingView単体では一部ブローカー(Tradovate・OANDA等)に限り対応していますが、多くの場合はWebhookで外部の自動売買ツールに通知し、そちらで実発注する形になります。
Q. v5で書いたコードはv6で動きますか?
多くのv5コードは//@version=5のまま動作し続けます。
新規開発はv6推奨ですが、既存コードを急いで書き換える必要はありません。書き換える場合は、TradingView公式の「v5→v6マイグレーションガイド」を参照すると安全です。
Q. Pythonで代替できますか?
計算自体はPython(pandas / TA-Libなど)で再現可能ですが、TradingViewのチャートに直接描画したり、Webhookで通知したりする機能はPineScriptならではです。「TradingViewと一体化した便利さ」が最大の価値になります。
まとめ|自分専用の指標と戦略を持つスキル
PineScriptはTradingView上だけで動く専用言語ですが、その分「学習コスト低・即チャートに反映・無料で使える」という三拍子が揃った、個人投資家にとって最も実用的な分析ツールの一つです。
v6によって書き心地は大幅に改善され、Claude / ChatGPTでの自動生成も実用段階に入りました。
「自分の判断ロジックを目に見える形にする」「バックテストで戦略の有効性を確認する」という用途なら、最初の一歩を踏み出すには絶好のタイミングです。
まずは本記事のサンプルコードをコピペして動かしてみることから始めてみてください。
![]() ![]() Winスクール | 【初心者向け】 ・20~30代におすすめ ・データ分析・AIに特化 公式サイトで無料登録する |
|---|










コメント