Peringatan Baru Kami Memungkinkan Pembuatan Pesan Dinamis

Jan 25, 2021

Peringatan skrip baru kami menggunakan fungsi `alert()`yang dapat bekerja baik pada strategi juga studi, dan memungkinkan sebuah pesan yang sepenuhnya dinamis untuk dihasilkan saat peringatannya terpicu.

Peringatan baru ini bekerja menggunakan model yang menyerupai peringatan strategi, dimana hanya satu peringatan yang diciptakan pada interface pengguna chart dapat meng-agregasi seluruh pemicu yang diciptakan oleh sejumlah panggilan `alert()`pada skrip, dengan cara yang sama seperti sebuah peringatan strategi tunggal akan meng-agregasi seluruh pemicu peristiwa broker.

Cara membuat peringatan yang baru:

  1. Masukkan panggilan `alert()` sebanyak yang anda inginkan didalam skrip anda.  Mengurung masing-masingnya didalam sebuah blok `if` akan menentukan kondisi pemicunya.
  2. Buat satu peringatan untuk skripnya dengan menggunakan kotak dialog “Buat Peringatan” pada chart dan pilih tipe peringatan yang mencakup “panggilan fungsi alert()”.

Saat digunakan didalam strategi, pengguna dapat memilih untuk membuat peringatan yang hanya terpicu pada peristiwa `alert()`, pada saat pemenuhan order, atau keduanya. Juga, perlu diingat bahwa tidak terdapat batasan akan jumlah variabel yang dapat digunakan didalam pesan peringatan dinamis dan placeholder tidak lagi diperlukan karena setiap variabel yang digunakan di dalam skrip juga dapat digunakan pada panggilan fungsi `alert()` selama itu berada dalam format string.

Berikut adalah tiga contoh dari fungsi `alert()`:

1) Peringatan skrip terpicu pada setiap bar, dan pesannya mengandung harga penutupan dari bar:

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

2) Nilai dari tiga indikator diperiksa: RSI, SMA dan Momentum. Peringatan skrip akan terpicu jika salah satu dari indikator tersebut memotong suatu level (atau harga) tertentu, dan pesannya akan mengandung nama dari indikator serta nilainya saat ini.

//@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) Dalam contoh ini, nilai dari indikator RSI yang diperiksa, tetapi pada lima simbol secara bersamaan. Peringatan skrip akan terpicu jika RSI memotong suatu level tertentu untuk simbol manapun, dan pesannya akan mengandung simbol dan nilai indikatornya saat perpotongannya terjadi.

//@version=4
study("alert() with multiple symbols")
f_triggerRsi(_ticker)=>
    _r = rsi(close, 7)
    _x = crossover(_r,70)
    _y = crossunder(_r,30)
    _rt = barstate.isrealtime
    [_rsi, _co, _cu, _rt_bar] = security(_ticker, timeframe.period, [_r, _x, _y, _rt])
    _msg = _ticker + ", " + timeframe.period + ": "
    if _co and _rt_bar
        _msg := _msg + "RSI (" + tostring(_rsi) + ") crossing up 70 level"
        alert(_msg,  alert.freq_once_per_bar_close)
    else if _cu and _rt_bar
        _msg := _msg + "RSI (" + tostring(_rsi) + ")  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=color.new(#9915FF,90), title="Background")

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

Pengguna skrip dapat mempelajari lebih lanjut mengenai cara membuat peringatan di Pusat Bantuan. Pine coders dapat membaca mengenai peringatan baru ini di Manual Pengguna Pine dan juga Manual Referensi.

Baca mengenai seluruh update akan Pine di Catatan Rilis Manual Pengguna kami..

Look first Then leap

TradingView dibangun untuk anda, karenanya manfaatkan fitur-fitur luar biasa kami semaksimal mungkin
Luncurkan Chart