結合して注釈を付けましょう: Pineのテーブルでヘッダーとツールチップがサポートされました

03 18, 2022

ヘッダーとセルの結合

テーブル内の複数のセルを結合して、おしゃれなヘッダーやセパレーターを作成できるようになりました。
結合されたセルはヘッダーである必要はありません: 結合されたセルが既に結合済みのセルに影響を与えず、テーブルの境界からはみ出さない限り、どの方向にもセルを結合することができます。

結合されたセルを作成するには、新しい table.merge_cells() 関数を使用します。ルールは簡単です。結合したい最初と最後のセルの座標を渡すだけです。その間にあるセルはすべて、ひとつのセルに結合されます。結合されるセルのサイズは、隣接する行と列のサイズに応じて自動的に決定されます。

以下のスクリプトの例では、3つの結合されたセルがあります: 0行目ではすべてのセルを結合して「SMA Table」の見出しを付けています。その下の行では、セルを結合してサブヘッダーを作成しています。

//@version=5
indicator("MA Ratings", overlay = true)

TRANSP = 80
TABLE_WIDTH = 6
var CELL_TOOLTIP = "Cell color depends on the SMA direction: green for rising SMAs, red for falling ones"

var smaLengths = array.from(10, 20, 50, 100, 200, 500)

smaValues = array.new_float()
for i = 0 to array.size(smaLengths) - 1
    array.push(smaValues, ta.sma(close, array.get(smaLengths, i)))

var maTable = table.new(position.top_right, TABLE_WIDTH, 4, border_width = 2)

if barstate.isfirst
    headerColor = color.new(color.blue, TRANSP)
    table.cell(maTable, 0, 0, text = "SMA Table", bgcolor = headerColor)
    table.cell(maTable, 0, 1, text = "Short-term", bgcolor = headerColor)
    table.cell(maTable, 2, 1, text = "Long-term", bgcolor = headerColor)
    table.merge_cells(maTable, 0, 0, 5, 0)
    table.merge_cells(maTable, 0, 1, 1, 1)
    table.merge_cells(maTable, 2, 1, 5, 1)

if barstate.islast
    for i = 0 to TABLE_WIDTH - 1
        cellTitle = str.format("SMA {0}", array.get(smaLengths, i))
        cellValue = array.get(smaValues, i)
        cellColor = color.new(array.get(smaValues, i) >= array.get(smaValues[1], i) ? color.green : color.red, TRANSP)
        table.cell(maTable, i, 2, bgcolor = cellColor, text = cellTitle, text_color = color.gray, tooltip = CELL_TOOLTIP)
        table.cell(maTable, i, 3, bgcolor = cellColor, text = str.tostring(cellValue,  format.mintick), tooltip = CELL_TOOLTIP)

ツールチップ

テーブルの改良点の2つ目は、ツールチップです。ツールチップとは、テーブルのセルにカーソルを合わせた時に表示されるフローティングのテキストラベルです。テーブルを煩雑にすることなく、セルの内容に関する情報を提供するのに便利です。

ツールチップ付きのセルを作成するには、table.cell() 関数の新しい tooltip 引数に文字列を渡すだけです。このサンプルスクリプトでは、最後の2行の table.cell() の呼び出しで tooltip = CELL_TOOLTIP を指定しています。ツールチップはこのように表示されます:

Pineの新機能についての情報は、Pineのユーザーマニュアルのリリースノートをご覧ください。またPineCodersのアカウントは、Squawk BoxのTelegramチャンネル、Twitter、TradingViewのPineスクリプトの公開チャットルームでも最新情報を発信しています。

この数多くのご要望を頂いた機能がお役に立てば幸いです。引き続き、改善の為のフィードバックやご提案をお寄せください。私たちは皆様のためにTradingViewを構築していますので、常にユーザーの方の声をお聞きしたいと思っています。

Look first Then leap

あなたのためのTradingView、その最高の機能を最大限にご活用ください
チャートを起動