January 25, 2021
Cảnh báo mới của chúng tôi cho phép gửi tin nhắn động

Tập lệnh cảnh báo mới của chúng tôi sử dụng tính năng `alert()` hoạt động trong cả chiến lược và nghiên cứu, đồng thời cho phép tạo ra một thông báo động hoàn toàn khi cảnh báo kích hoạt.

Cảnh báo mới này hoạt động giống với mô hình cảnh báo chiến lược, trong đó chỉ một cảnh báo được tạo trong giao diện người dùng biểu đồ có thể tổng hợp tất cả các trình kích hoạt được tạo bởi bất kỳ số lượng lệnh gọi `alert () ‘nào trong tập lệnh, giống như cách mà một cảnh báo chiến lược duy nhất sẽ tổng hợp tất cả các trình kích hoạt sự kiện của nhà môi giới.

Để tạo cảnh báo mới này:

  1. Bao gồm các `alert()` trong tập lệnh, sử dụng xung quanh các khối `if` để xác định các điều kiện kích hoạt.
  2. Tạo một cảnh báo cho tập lệnh bằng cách sử dụng hộp thoại “Tạo cảnh báo” của biểu đồ và chọn một loại cảnh báo bao gồm “lệnh gọi hàm alert ()”.

Khi được sử dụng trong các chiến lược, người dùng có thể chọn tạo cảnh báo chỉ kích hoạt trên các sự kiện `alert ()`, các sự kiện vào lệnh hoặc trên cả hai. Ngoài ra, cần nhớ rằng không có giới hạn về số lượng biến có thể được sử dụng trong thông báo cảnh báo động và trình giữ chỗ không còn cần thiết nữa, vì bất kỳ biến nào được sử dụng trong tập lệnh cũng có thể được sử dụng trong hàm `alert ()` mới, miễn là nó ở định dạng chuỗi.

Dưới đây là 3 ví dụ của tính năng `alert()`:

1) Cảnh báo tập lệnh được kích hoạt trên mỗi thanh và thông báo chứa giá đóng cửa của thanh:

//@version=4
study("Simple alert() example")
plot(close)
alert("Close = " + tostring(close), alert.freq_once_per_bar_close)

2) Giá trị của ba chỉ số được kiểm tra: RSI, SMA và Momentum. Cảnh báo tập lệnh sẽ được kích hoạt nếu bất kỳ chỉ báo nào vượt qua một mức (hoặc giá) cụ thể và thông báo sẽ chứa tên của chỉ báo và giá trị hiện tại của nó.

//@version=4
study("alert() with multiple indicators", overlay=true)
f_triggerSma()=>
    _s  = sma(close, 14)
    _co = crossover(close, _s)
    _cu = crossunder(close, _s)
    if _co
        alert("Price (" + tostring(close) + ") crossing up SMA (" + tostring(_s) + ")", alert.freq_once_per_bar)
    else if _cu
        alert("Price (" + tostring(close) + ") crossing down SMA (" + tostring(_s) + ")", alert.freq_once_per_bar)
f_triggerRsi()=>
    _r  = rsi(close, 7)
    _co = crossover(_r, 70)
    _cu = crossunder(_r, 30)
    if _co
        alert("RSI (" + tostring(_r) + ") crossing up 70 level", alert.freq_once_per_bar)
    else if _cu
        alert("RSI (" + tostring(_r) + ") crossing down 30 level", alert.freq_once_per_bar)
f_triggerMom()=>
    _m  = mom(close, 14)
    _co = crossover(_m, 0)
    _cu = crossunder(_m, 0)
    if _co
        alert("Momentum (" + tostring(_m) + ")  crossing up 0 level", alert.freq_once_per_bar)
    else if _cu
        alert("Momentum (" + tostring(_m) + ")  crossing down 0 level", alert.freq_once_per_bar)

plot(sma(close, 14), "SMA")
f_triggerSma()
f_triggerRsi()
f_triggerMom()

3) Trong ví dụ này, các giá trị của một chỉ báo RSI được kiểm tra, nhưng trên năm mã giao dịch cùng một lúc. Cảnh báo tập lệnh sẽ được kích hoạt nếu RSI vượt qua một mức được chỉ định cho bất kỳ ký hiệu nào và thông báo sẽ chứa ký hiệu và giá trị chỉ báo tại thời điểm giao nhau.

//@version=4
study("alert() with multiple symbols")
f_triggerRsi(_ticker)=>
    _r = rsi(close, 7)
    _x = crossover(_r,70)
    _y = crossunder(_r,30)
    [_co, _cu] = security(_ticker, timeframe.period, [_x, _y])
    _msg = _ticker + ", " + timeframe.period + ": "
    if _co
        _msg := _msg + "RSI (" + tostring(_r) + ") crossing up 70 level"
        alert(_msg,  alert.freq_once_per_bar_close)
    else if _cu
        _msg := _msg + "RSI (" + tostring(_r) + ")  crossing down 30 level"
        alert(_msg,  alert.freq_once_per_bar_close)

plot(rsi(close, 7), "RSI", color=#8E1599)
band1 = hline(70, "Upper Band", color=#C0C0C0)
band0 = hline(30, "Lower Band", color=#C0C0C0)
fill(band1, band0, color=#9915FF, transp=90, title="Background")

f_triggerRsi(syminfo.tickerid)
f_triggerRsi("NASDAQ:MSFT")
f_triggerRsi("FX:EURUSD")
f_triggerRsi("NASDAQ:TSLA")
f_triggerRsi("NASDAQ:PYPL")

Tập lệnh này cho biết cách bạn có thể sử dụng `alert () ‘trong một chiến lược, để tạo các thông báo cảnh báo chứa các lệnh cho công cụ thực thi của bên thứ ba.

Người dùng tập lệnh có thể học thêm về cách tạo cảnh báo trong Trung tâm Trợ giúp. Pine coders có thể đọc thêm về cảnh báo mới trong Hướng dẫn sử dụng Pine User và Tài liệu Tham khảo.

Đọc thêm về tất cả các cập nhật về Pine trong hướng dẫn sử dụng với Ghi chú Phát hành.

Cách nhanh nhất để theo dõi thị trường

Khởi chạy Biểu đồ