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 tblDù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.