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

Tổng Quan Thiết Kế Visual

Cách chọn đúng lớp visual và giữ build_visuals chỉ để render — khai báo tĩnh, ctx object namespace, và ATK bridge.

Cách Chọn Đúng Lớp Visual và Giữ Đúng Giai Đoạn#

Tài liệu này giải thích mô hình tư duy đằng sau ATK PyneScript visual: khi nào nên dùng khai báo tĩnh, khi nào chuyển sang object namespace, khi nào dùng ATK bridge, và cách giữ build_visuals(...) chỉ để render thay vì biến nó thành giai đoạn tính toán thứ hai.

Quyết định đầu tiênTĩnh vs object vs bridge
Rủi ro chínhTính toán bị rò rỉ vào giai đoạn render
Rào chắn tốt nhấtFrame đã chuẩn bị sẵn, visual chỉ render
Trang liên quanCookbook kèm copybook

Chọn Lớp Visual Trước Khi Viết Code#

Do you have one value or marker per row?
|- Yes -> use static declarations: plot, hline, plotshape, plotchar, plotarrow, fill, linefill.new
|- No  -> use an object-like visual path
       |- Simple chart object? -> ctx.line, ctx.label, ctx.box, ctx.polyline, ctx.table
       |- ATK-native grouped or composite renderer? -> ctx.atk.plot_line, ctx.atk.fill_between, ctx.atk.table, ctx.atk.rectangles, ctx.atk.volume_profile

Already drawing your lines with ctx.atk.plot_line?
|- Yes -> ctx.atk.fill_between
|- No  -> fill or linefill.new

Khai báo tĩnh#

Tốt nhất khi visual có thể mô tả bằng các column đã có sẵn trong frame. Đây là cách sạch nhất cho hầu hết các indicator.

ctx object namespace#

Tốt nhất khi visual là một đối tượng có tọa độ, văn bản, hình học, hoặc các điểm cuối thay đổi thay vì một series đơn giản theo từng hàng.

ATK bridge#

Tốt nhất khi visual phong phú hơn một đối tượng đơn lẻ hoặc khi repo đã cung cấp sẵn helper cấp cao hơn như profile, nhóm hình chữ nhật, table, hoặc bridge line fill.