この記事でわかること
- Pineスクリプトのtableをチャート下部パネルに移動する新機能の使い方
- そのまま貼って動く、状態表示テーブルのPine Scriptコード
- 複数のテーブル系インジケーターを同時に使うときの実践的な使い分け
RSIやMACDのダイバージェンス検出、勝率集計など、複数のインジケーターにtableを表示させていませんか。数が増えるとチャートの隅がテーブルだらけになり、肝心のローソク足が見えなくなります。かといって非表示にすると、数値を確認したいときにいちいち設定を開き直す必要があります。
2026年9月15日、TradingViewはこの悩みを解消する機能を公開しました。Pineスクリプトが作るtableを、チャート上から下部の独立したパネルへ移動できるようになりました。この記事では使い方と、実際に試すためのPine Scriptコードを紹介します。
📊 この記事はTradingViewユーザー向けです
TradingViewをまだ使っていない方は、まず無料アカウントを作成してみましょう。登録は30秒、クレジットカード不要です。
無料でTradingViewを始める →何が変わったのか
公式ブログによると、対象はPineのtable機能を使うすべてのスクリプトです。テーブルを右クリックすると「テーブルを下部パネルに移動」という選択肢が出てきます。同じ操作は「その他」のメニューからも行えます。
移動すると、そのインジケーターが描画するテーブルはチャート上から消えます。代わりにチャート下部の独立したタブに表示されます。複数のスクリプトのテーブルを同時にパネルへ移動することもでき、タブを切り替えればそれぞれの内容を個別に確認できます。チャートに戻したい場合は、同じ操作を逆にたどるだけです。
実際に試す:状態表示テーブルのコード
手元にtableを描画するスクリプトがなければ、新機能を試しようがありません。ここでは、RSI・トレンド方向・直近シグナルからの経過バー数をまとめて表示する、そのまま貼って動くコードを用意しました。
//@version=6
indicator("インジケーター状態パネル", overlay=true)
rsiLen = input.int(14, "RSI期間", minval=2)
maLen = input.int(50, "トレンド判定MA期間", minval=5)
r = ta.rsi(close, rsiLen)
ma = ta.sma(close, maLen)
trend = close > ma ? "上昇" : "下降"
sig = ta.crossover(r, 30) or ta.crossunder(r, 70)
var int lastSignalBar = na
if sig
lastSignalBar := bar_index
barsSince = na(lastSignalBar) ? na : bar_index - lastSignalBar
var table panel = table.new(position.top_right, 2, 3,
bgcolor = color.new(color.black, 80), border_width = 1)
if barstate.islast
table.cell(panel, 0, 0, "RSI", text_color = color.white)
table.cell(panel, 1, 0, str.tostring(r, "#.#"), text_color = color.white)
table.cell(panel, 0, 1, "トレンド", text_color = color.white)
table.cell(panel, 1, 1, trend, text_color = trend == "上昇" ? color.lime : color.red)
table.cell(panel, 0, 2, "シグナルから", text_color = color.white)
table.cell(panel, 1, 2, na(barsSince) ? "—" : str.tostring(barsSince) + "本", text_color = color.white)
plotshape(sig, title="シグナル", style=shape.triangledown,
location=location.abovebar, color=color.orange, size=size.tiny)
コードのポイント
var table panel = table.new(...)のようにvarを付けて一度だけ生成し、if barstate.islastの中でtable.cell()を呼びます。毎バー再生成すると無駄な描画処理が走りますlastSignalBarの更新には:=を使います。varで宣言した変数への再代入に=を使うと、値が引き継がれません
テーブルを下部パネルに移動する手順
- 上のコードをチャートに貼り付け、右上にテーブルが表示されるのを確認する
- テーブルを右クリックし、「テーブルを下部パネルに移動」を選ぶ
- チャート下部に開いたタブでテーブルの内容を確認する。チャートに戻すときは同じ操作を逆にたどる
本格的なstrategyの検証結果をテーブルで見たい場合はstrategy・バックテスト完全実装ガイドで紹介しています。検証中の記録をテーブルに残す方法はバーリプレイ検証の手順にまとめています。どちらも同じtable.cell()の書き方が使えるので、下部パネルへの移動もそのまま試せます。
TradingViewで実際に試してみよう
この記事の内容はTradingViewで今すぐ実践できます。無料プランでも十分対応できます。
▶ TradingViewを無料で開くクレジットカード不要・いつでも解約OK
位置とスタイルの調整
table.new()の第1引数positionには、9種類の定数を指定できます。テーブルは指定した位置を基準に広がります。
| 配置 | 定数 |
|---|---|
| 四隅 | position.top_left / top_right / bottom_left / bottom_right |
| 辺の中点 | position.top_center / bottom_center / middle_left / middle_right |
| 中央 | position.middle_center |
bgcolor・frame_width・frame_color・border_widthで見た目を調整できます。上のコードではcolor.new(color.black, 80)を指定し、背景を80%透過の黒にしました。こうするとチャート上でもローソク足を隠しにくくなります。ただし下部パネルに移動したあとは、この位置指定は見た目に影響しません。パネル内では常に横幅いっぱいに表示されます。
下部パネルが便利な場面
1つのスクリプトに1つのテーブルなら、無理に移動する必要はありません。効果が出るのは、テーブル系インジケーターを複数同時に使うときです。
- SMC(スマートマネーコンセプト)のFVG・Order Block検出と、RSI/MACDダイバージェンス検出を同時に表示したいとき。両方ともtableで状態を出すため、チャート上に置くと重なります
- マルチタイムフレーム分析で複数の時間足の値をテーブルにまとめているとき。時間足を増やすほどテーブルが縦に伸び、チャートを圧迫します
- 検証中だけテーブルを確認したい場合。バーリプレイでチャートに集中したいときは下部パネルに逃がし、数値を見たいときだけタブを開く、という使い方ができます
SMCの実装はPine Script v5でSMCを自動化するで紹介しています。RSI/MACDダイバージェンス検出はRSI/MACDダイバージェンスを自動検出するにまとめています。どちらもtableで状態を表示する作りなので、複数同時に使う場合はこの下部パネル機能が特に効きます。
こんな場合は向かない
- テーブルが1つだけで、チャート上でも特に邪魔になっていない場合。わざわざ移動する手間の方が大きくなります
- テーブルの数値を、ローソク足の値動きと同時に目で追いたい場合。下部パネルに移すと視線の移動が増えます
- プランによる利用可否を事前に知りたい場合。料金ページの比較表にこの機能の項目自体がなく、公式の記載は確認できませんでした。tableを使うスクリプトが動く環境であれば使える可能性が高いですが、断定はできません
まとめ
- Pineスクリプトのtableを、右クリック1つでチャート上から下部パネルへ移動・復帰できるようになった
- 複数のテーブル系インジケーターを同時に使うときほど効果が大きい。SMC・ダイバージェンス・マルチタイムフレームなど、table()を使う記事群と組み合わせて活用できる
- 1つのスクリプトのtableだけで困っていないなら、無理に使う必要はない機能
複数のインジケーターを同時に表示して比較したいなら、無料プランの1チャートあたり2個という上限はすぐに窮屈です。Essentialなら5個、Plusなら10個まで同時に表示でき、下部パネルとあわせてチャートを整理しながら使えます。プランの違いは有料プランの徹底比較で整理しています。
📊 TradingViewプラン比較
| プラン | 月額 | 主な特徴 |
|---|---|---|
| Basic(無料) | $0 | 1チャート・広告あり・インジケーター3つ |
| Essential | $12.95〜 | 広告なし・インジケーター5つ・アラート20件 |
| Plus ⭐人気 | $24.95〜 | インジケーター10個・アラート100件・同期チャート2つ |
| Premium | $49.95〜 | インジケーター25個・アラート無制限・同期チャート8つ |
まずは無料プランで試して、必要なら有料プランへアップグレード
