Pine Script™ và các biểu đồ trở nên quen thuộc hơn

Jul 12, 2022

Các tích hợp mới trong không gian biểu đồ hiện cung cấp các tập lệnh với khả năng hiển thị nhiều hơn trên các thuộc tính biểu đồ. Với chúng, chúng tôi cũng giới thiệu một loại hành vi mới cho các tập lệnh Pine của bạn, cho phép chúng chỉ tính toán lại và vẽ lại trên các thanh hiển thị, tự động điều chỉnh khi các nhà giao dịch cuộn hoặc phóng to trên biểu đồ của họ.

Thuộc tính biểu đồ

Tích hợp sẵn chart.bg_color trả về màu nền của biểu đồ. Bạn có thể sử dụng nó để điều chỉnh cách phối màu của script cho phù hợp với ngữ cảnh của biểu đồ. Đồng thời chart.fg_color của nó trả về màu mang độ tương phản tối ưu với màu nền của biểu đồ, bất kể đó là màu gì.

Một tập hợp tích hợp boolean mới khác giúp bạn có thể phát hiện loại biểu đồ mà tập lệnh của bạn đang chạy. Đó là:

Biểu đồ cuối cùng sẽ trả về true trên tất cả các loại biểu đồ tiêu chuẩn (những biểu đồ trả về giá đóng cửa không tổng hợp): thanh, nến, nến rỗng, cột, đường, khu vực hoặc đường cơ sở.

Thanh hiển thị và tính toán lại hoạt động

Các tích hợp mới của chart.left_visible_bar_time and chart.right_visible_bar_time trả về thời gian mở của các thanh hiển thị ngoài cùng bên trái và ngoài cùng bên phải của biểu đồ. Khi nhà giao dịch cuộn hoặc phóng to trên biểu đồ của họ – khiến phạm vi thanh hiển thị trên biểu đồ thay đổi – các tập lệnh sử dụng một trong hai phần mềm tích hợp mới này sẽ tự động thực thi lại để các tính toán và hình ảnh có thể thích ứng với bối cảnh mới. Điều này mở ra cánh cửa cho một loạt các tập lệnh hoàn toàn mới có thể tự động điều chỉnh theo những thay đổi trong phạm vi thanh hiển thị.

Ví dụ này vẽ một mũi tên từ phần mở của thanh hiển thị đầu tiên đến phần đóng của thanh cuối cùng và hiển thị lãi/lỗ cho phạm vi đó:

//@version=5
indicator("Chart gain/loss", "", true)

// Save the `open` of the leftmost visible bar.
var float chartOpen = na
if time == chart.left_visible_bar_time
    chartOpen := open
else if time == chart.right_visible_bar_time
    // Run the following code on the chart's rightmost visible bar.
    color arrowColor = close > chartOpen ? color.lime : color.fuchsia
    // Draw arrow once, then modify it.
    var line arrow = line.new(na, na, na, na, xloc.bar_time, extend.none, na, line.style_arrow_right, 3)
    line.set_xy1(arrow, chart.left_visible_bar_time, chartOpen)
    line.set_xy2(arrow, chart.right_visible_bar_time, close)
    line.set_color(arrow, arrowColor)
    // Draw percentage label once, then modify it.
    var label percentage = label.new(na, na, na, xloc.bar_time, yloc.price, #00000000, label.style_label_down, size = size.huge)
    int midTime = int(math.avg(chart.left_visible_bar_time, chart.right_visible_bar_time))
    label.set_xy(percentage, midTime, math.avg(chartOpen, close))
    label.set_text(percentage, str.tostring((close - chartOpen) / chartOpen * 100, format.percent))
    label.set_textcolor(percentage, arrowColor)

Lưu ý rằng vì các tập lệnh sử dụng tính năng này sẽ thực thi lại thường xuyên hơn các tập lệnh bình thường, nên phải cẩn thận để sử dụng mã hiệu quả và giữ cho các phép tính nhẹ nhàng nếu muốn duy trì khả năng phản hồi thông thường của biểu đồ TradingView.

Chúng tôi đã xuất bản chỉ báo VWAP biểu đồ như một ví dụ về cách có thể sử dụng tính năng mới này. Tự động neo trên các thanh có thể nhìn thấy:

Tài khoản PineCoders cũng đã xuất bản thư viện VisibleChart để giúp các lập trình viên Pine Script™ tận dụng tối đa tính năng mới này.

Để được cập nhật về các tính năng mới của Pine Script™, hãy theo dõi các Ghi chú phát hành Sách hướng dẫn sử dụng. Tài khoản PineCoders cũng phát các thông tin cập nhật từ Squawk Box trên Telegram, tài khoản Twitter và từ cuộc trò chuyện công khai “Pine Script™ Q&A” trên TradingView.

Chúng tôi hy vọng bạn thấy những tính năng được yêu cầu cao này hữu ích. Hãy tiếp tục gửi cho chúng tôi phản hồi và đề xuất của bạn để cải thiện. Chúng tôi xây dựng TradingView cho bạn và luôn mong muốn được lắng nghe ý kiến của bạn.

Look first Then leap

TradingView được xây dựng dành cho bạn, vì vậy nhớ đảm bảo bạn tận dụng hiệu quả nhất các tính năng tuyệt vời của chúng tôi
Khởi chạy Biểu đồ