OpenAI Codexを使うと、TradingViewのPine Scriptを自然言語から作成し、既存コードの修正やレビューを進められます。ただし、Codexが書いたコードを、TradingViewでコンパイル・バックテストせずに使うのは危険です。
この記事では、最も再現しやすい「Codexでコードを作る→Pine Editorへ貼る→Strategy Testerで検証する」手順を中心に解説します。後半では、非公式MCPで自動化する場合の注意点も整理します。
- CodexとTradingViewの役割分担
- Pine Script v6を作る具体的な手順とプロンプト
- リペイント・未来参照・過剰最適化の確認方法
- アラート、Webhook、自動売買の違い
- 非公式CLI・MCPを使う場合のリスク
【免責】本記事は開発手順の解説であり、特定の売買や利益を推奨・保証するものではありません。生成コードは必ず内容を確認し、デモ環境で検証してください。
結論|CodexはPine Script開発に使える
- 売買ルールを文章で明確にする
- CodexにPine Script v6のファイルを作らせる
- TradingViewのPine Editorへ手動で貼る
- コンパイルエラーをCodexへ返して修正する
- Strategy Testerと未使用期間で検証する
OpenAIとTradingViewが共同提供する専用のワンクリック連携を前提にする必要はありません。Codexはコード作成・修正・レビュー、TradingViewはコンパイル・チャート表示・バックテストを担当させると理解しやすくなります。
最初に確認|OpenAI CodexとCodex.ioは別物
「codex tradingview」で検索すると、Codex.ioという市場データ関連サービスが表示される場合があります。本記事で扱うのは、コードの作成・理解・レビューを支援するOpenAI Codexです。名称が同じでも別サービスなので混同しないでください。
CodexとTradingViewの役割分担
| Codexが得意 | TradingViewで確認すること |
|---|---|
| 要件からPine Scriptを書く | 公式コンパイラでエラーがないか |
| 既存コードを読み、修正案を出す | チャート上の描画とシグナル位置 |
| v6移行や重複処理を整理する | Strategy Testerの結果 |
| テスト項目・失敗条件を洗い出す | リアルタイムと過去足の挙動差 |
| Gitで変更履歴を残す | アラートの作成と再作成 |
CodexはTradingViewの公式Pineコンパイラではありません。見た目が正しいコードでも、型、関数、実行順序、注文処理が意図と違う可能性があります。最終判定は必ずTradingView側で行います。
Codex × TradingViewでできること
- 自然言語からPine Script v6のインジケーターやストラテジーを作る
- 既存スクリプトのエラーを修正し、v6へ移行する
- インジケーターを検証用ストラテジーへ変換する
- 未来参照・リペイント・手数料設定をレビューする
- アラートメッセージ用のJSONを設計する
- コードと検証条件をGitで管理する
方法1:Codexで作り、Pine Editorへ手動で貼る
初心者には、この方法をおすすめします。接続設定が少なく、Codexが変更したコードとTradingViewの実行結果を分けて確認できるためです。
手順1:作業フォルダを用意する
例として、srcフォルダにxauusd_ema_strategy.pineを保存します。プロンプトだけでなく、Pineファイルを残すと変更履歴を比較しやすくなります。
手順2:AGENTS.mdに開発ルールを書く
Codexはリポジトリ内のAGENTS.mdを、継続して守る開発ルールとして利用できます。Pine Scriptでは、次のような条件を短く書いておくと修正時のブレを減らせます。
Pine Scriptは原則version=6を使う
未来データ参照とlookahead_onを使わない
リペイントの可能性がある処理はコメントで明示する
strategyには手数料とスリッページの設定を持たせる
入力値はinputで変更可能にする
コード生成後に想定される失敗条件を説明する
手順3:売買ルールを仕様として渡す
「勝てるゴールド手法を作って」では条件が曖昧です。対象銘柄、時間足、エントリー、決済、損切り、資金管理、禁止事項、出力先を明記します。
XAUUSDの検証用ストラテジーをPine Script v6で作成してください。
条件:
- 時間足は1時間足を想定
- EMA20がEMA50を上抜けたら買い
- EMA20がEMA50を下抜けたら決済
- 初期ストップはATR(14)の2倍
- 1回の注文サイズは資金の1%
- 手数料とスリッページを設定可能にする
- lookahead_onは禁止
- リペイントの可能性を説明する
src/xauusd_ema_strategy.pineへ保存し、
コードの前提、弱点、TradingViewで確認すべき項目も出力してください。
手順4:Pine Editorでコンパイルする
生成されたコードをTradingViewのPine Editorへ貼り付け、チャートへ追加します。エラーが出たら、エラー文と該当行、期待する動作をCodexへそのまま返します。エラー文だけでなく前後のコードも渡すと、修正精度が上がります。
手順5:Strategy Testerで検証する
純利益や勝率だけでなく、最大ドローダウン、取引回数、平均損益、連敗、手数料・スリッページ変更時の悪化を確認します。過去の結果は将来の成績を保証しません。
Pine Scriptの検証用サンプル
以下はEMAの交差とATRストップを組み合わせた学習用の最小例です。利益を狙える完成戦略ではありません。銘柄ごとの値動きや手数料を反映して検証してください。
//@version=6
strategy("EMA ATR Example", overlay=true,
default_qty_type=strategy.percent_of_equity,
default_qty_value=1,
commission_type=strategy.commission.percent,
commission_value=0.05,
slippage=2)
fastLen = input.int(20, "Fast EMA", minval=1)
slowLen = input.int(50, "Slow EMA", minval=2)
atrLen = input.int(14, "ATR Length", minval=1)
atrMult = input.float(2.0, "ATR Multiplier", minval=0.1)
fast = ta.ema(close, fastLen)
slow = ta.ema(close, slowLen)
atr = ta.atr(atrLen)
if ta.crossover(fast, slow)
strategy.entry("Long", strategy.long)
if strategy.position_size > 0
stopPrice = strategy.position_avg_price - atr * atrMult
strategy.exit("ATR Stop", "Long", stop=stopPrice)
if ta.crossunder(fast, slow)
strategy.close("Long")
plot(fast, "Fast EMA")
plot(slow, "Slow EMA")
バックテストで確認する7項目
- 未来参照:
lookahead_onや確定前データを使っていないか - リペイント:過去のシグナル位置が後から変わらないか
- 取引コスト:手数料とスリッページを現実的に設定したか
- サンプル数:少数の取引だけで判断していないか
- 相場局面:上昇・下落・レンジを含めたか
- 過剰最適化:特定期間だけ良いパラメーターになっていないか
- 未使用期間:調整に使っていない期間で再検証したか
Codexには「利益を最大化して」だけでなく、「結果を不自然に良く見せる要因を列挙して」「条件を1つずつ外した比較表を作って」と依頼すると、検証の抜けを見つけやすくなります。
アラート・Webhook・自動売買の違い
| 機能 | 役割 | 注意点 |
|---|---|---|
| Pineのalert条件 | コード内で通知イベントを定義 | コードだけでは稼働中アラートは作成されない |
| TradingViewアラート | チャート画面から監視を開始 | コードや入力を変えたら再作成が必要な場合がある |
| Webhook | 外部URLへ通知を送信 | 注文の認証・重複防止・障害対応は外部側で必要 |
| 自動売買 | 外部システムが注文を実行 | Pineのバックテストとは別の実装・検証が必要 |
TradingView公式ドキュメントでは、Pineコードがアラート発生条件を用意しても、稼働するアラート自体はチャート画面からユーザーが作成すると説明されています。Webhook URLに認証情報を直接書かないこと、重複通知やタイムアウトを想定することも重要です。
方法2(上級者・任意):非公式MCPで自動化する
コミュニティ製のTradingView MCP Bridgeは、TradingView Desktopをデバッグポート経由で操作し、Pineコードの投入・コンパイル・エラー確認などを行う仕組みです。公式のOpenAI/TradingView製品ではなく、TradingViewの未文書化部分に依存します。
- リポジトリのREADME・依存関係・更新履歴を確認する
- デバッグポート9222をLANやインターネットへ公開しない
- TradingView更新で動作しなくなる可能性を理解する
- 実取引や資金のある環境から切り離して試す
- TradingViewの利用規約と市場データの扱いを確認する
Codexは標準のMCPクライアント機能を持ち、カスタムサーバーを登録できます。ただし、Bridge固有のコマンドや起動方法は更新されるため、本記事では固定手順として扱いません。まず手動方式でPine開発を成立させ、自動化が本当に必要な場合だけ公式READMEの最新版を確認してください。
Codex × TradingViewに関するよくある質問
CodexだけでPine Scriptをコンパイルできますか?
Codexはコードレビューをできますが、TradingViewの公式コンパイラではありません。最終確認はPine Editorで行います。
CodexでTradingViewを自動操作できますか?
標準機能だけで専用連携が完成するわけではありません。コミュニティ製MCPなどで操作できる可能性はありますが、非公式かつ内部仕様依存です。
Pine Scriptから自動売買できますか?
Pineストラテジーの注文は、基本的にTradingView上のシミュレーションです。実注文へつなぐには外部システムが必要で、認証、重複注文防止、障害時停止、規約確認が別途必要です。
生成コードをそのまま公開してもよいですか?
動作確認と権利確認が必要です。第三者の非公開・招待制インジケーターを複製させたり、他人のコードを無断で再公開したりしないでください。
まとめ:Codexは開発、TradingViewは検証に使う
Codexを使えば、Pine Scriptの設計、生成、修正、v6移行、テスト項目の整理、Git管理を効率化できます。最初はPineファイルを作り、TradingViewへ手動で貼る方法が安全です。
重要なのは生成速度ではなく、未来参照、リペイント、取引コスト、過剰最適化を排除することです。Codexを売買判断の代行ではなく、検証可能なコードを作る開発パートナーとして使いましょう。
当サイトは投資判断の参考情報を提供するものであり、特定の金融商品の勧誘や投資助言を目的としたものではありません。取引の最終判断は、ご自身の責任と判断で行ってください。当サイトの情報により生じた損失について一切の責任を負いません。運営者は金融商品取引法に基づく投資助言・代理業の登録を受けておりません。掲載内容は執筆時点の情報に基づくものであり、最新情報と異なる場合があります。

コメント