Phương Thức Object Namespace
box.new, label.new, line.new, polyline.new — phương thức object namespace cho shape, label, và hình học trong build_visuals.
ctx Object Namespace: Tham Chiếu Đầy Đủ Các Phương Thức#
Các phương thức object namespace được gọi bên trong build_visuals(...) để phát ra các đối tượng chart được lắp ráp từ
dữ liệu frame đã chuẩn bị. Mỗi phương thức trả về một intent mà công cụ render ATK xử lý.
ctx.line.new#
Tạo một đoạn line giữa hai tọa độ chart-point.
ctx.line.new(
key="support_line",
x1=int(anchor["index"]),
y1=float(anchor["low"]),
x2=int(last["index"]),
y2=float(last["low"]),
color="#f23645",
width=1,
style="solid",
)ctx.label.new#
Tạo một label văn bản neo tại một chart point.
ctx.label.new(
key="entry_label",
x=int(last["index"]),
y=float(last["close"]),
text="ENTRY",
color="#2962ff",
style="label_up",
size="normal",
)ctx.box.new#
Tạo một hình chữ nhật xác định bởi góc trên-trái và dưới-phải.
ctx.box.new(
key="range_box",
left=int(start["index"]),
top=float(high_val),
right=int(end["index"]),
bottom=float(low_val),
border_color="#ff9800",
bgcolor="#ff980020",
)ctx.polyline.new#
Tạo một đường đa đoạn qua mảng chart point.
ctx.polyline.new(
key="zigzag_path",
points=[{"x": int(r["index"]), "y": float(r["close"])} for _, r in pivots.iterrows()],
color="#9c27b0",
width=2,
)ctx.table.new#
Tạo một widget table được quản lý. Ưu tiên dùng cái này thay vì ATK bridge table cho widget đơn giản.
ctx.table.new(
key="stats_table",
rows=3,
columns=2,
position="top_right",
)Các lệnh gọi object namespace phải dùng giá trị key ổn định. Công cụ render sử dụng key để theo dõi và cập nhật
đối tượng qua các lần cập nhật bar. Tránh tạo key động từ chỉ số bar hoặc timestamp.