Chuyển đến nội dung chính
ATK Pine Script®

Table Gốc

table.new và table.cell — namespace table gốc cho widget được quản lý đơn giản trước khi dùng đến ATK table bridge.

Namespace Table Gốc: Dùng Trước Khi Cần Đến ATK Table Bridge#

Chọn table gốc khi#

Bạn cần một widget được quản lý đơn giản với hàng, cột, và văn bản ô có thể biểu diễn trực tiếp qua table.new, table.cell, hoặc ctx.table.new.

Chọn ATK bridge khi#

Visual là bảng điều khiển tổng hợp phong phú hơn hoặc bạn đã dựa vào helper bố cục ATK gốc. Bridge mạnh hơn cho payload nhóm, trong khi table gốc là lựa chọn sạch nhất cho widget đơn giản.

API ctx.table#

def build_visuals(frame, params=None, ctx=None):
    if frame is None or frame.empty or ctx is None:
        return None
    last = frame.iloc[-1]
    tbl = ctx.table.new(
        key="stats_table",
        rows=3,
        columns=2,
        position="top_right",
        bgcolor="#1e222d",
        border_color="#363a45",
        border_width=1,
    )
    ctx.table.cell(tbl, row=0, column=0, text="Close", text_color="#d1d4dc")
    ctx.table.cell(tbl, row=0, column=1, text=str(round(float(last["close"]), 2)), text_color="#ffffff")
    ctx.table.cell(tbl, row=1, column=0, text="EMA", text_color="#d1d4dc")
    ctx.table.cell(tbl, row=1, column=1, text=str(round(float(last.get("ema_fast", 0)), 2)), text_color="#00c853")
    return tbl

Dùng ctx.table.new với key ổn định. Công cụ render theo dõi table bằng key qua các lần cập nhật. Tránh tính toán lại giá trị ô mà lẽ ra có thể được chuẩn bị sẵn dưới dạng column trong frame — định dạng chúng trong build_indicator_frame và đọc dưới dạng string trong build_visuals.