การแจ้งเตือนใหม่ของเราสามารถใช้ข้อความแบบไดนามิก

Jan 25, 2021

การแจ้งเตือนสคริปต์ใหม่ของเราใช้ฟังก์ชัน `alert()` ซึ่งใช้ได้ทั้งในกลยุทธ์และการศึกษาและอนุญาตให้สร้างข้อความแบบไดนามิกอย่างแท้จริงเมื่อการแจ้งเตือนเกิดขึ้น

การแจ้งเตือนใหม่ทำงานโดยใช้โมเดลที่คล้ายกับ การแจ้งเตือนกลยุทธ์ ล่าสุด โดยที่การแจ้งเตือนเพียงรายการเดียวที่สร้างขึ้นในหน้าจออินเทอร์เฟซชาร์ตกับผู้ใช้งานสามารถรวมทริกเกอร์ทั้งหมดที่สร้างขึ้นได้โดยการเรียก `alert()’ จำนวนเท่าใดก็ได้ในสคริปต์ ในลักษณะเดียวกับที่การแจ้งเตือนกลยุทธ์เดียวสามารถรวมทริกเกอร์เหตุการณ์จากโบรกเกอร์ทั้งหมดได้

ในการสร้างการแจ้งเตือนใหม่:

  1. รวมการเรียกใช้  `alert()` ให้มากที่สุดในสคริปต์ของคุณตามที่คุณต้องการโดยใส่แต่ละคำสั่งไว้ใน `if` บล็อกที่กำหนดเงื่อนไขการทริกเกอร์
  2. สร้างการแจ้งเตือนหนึ่งรายการสำหรับสคริปต์โดยใช้กล่องโต้ตอบ“ สร้างการแจ้งเตือน” ของแผนภูมิและเลือกประเภทการแจ้งเตือนรวมถึง “alert() function call”

เมื่อใช้งานในกลยุทธ์ ผู้ใช้สามารถเลือกที่จะสร้างการแจ้งเตือนที่เรียกเฉพาะในเหตุการณ์ `alert ()` ในเหตุการณ์เติมคำสั่งซื้อหรือทั้งสองอย่าง นอกจากนี้ควรจำไว้ว่าไม่มีการ จำกัด จำนวนตัวแปรที่สามารถใช้ในข้อความแจ้งเตือนแบบไดนามิกและ placeholders  ก็ไม่จำเป็นอีกต่อไป เนื่องจากตัวแปรใดๆ ที่ใช้ในสคริปต์สามารถใช้ในการเรียกฟังก์ชัน `alert()` ใหม่ได้ ตราบเท่าที่ยังอยู่ในรูปแบบสตริง

ด้านล่างนี้คือสามตัวอย่างของฟังก์ชัน `alert ()`:

1) การแจ้งเตือนสคริปต์จะเรียกใช้ในแต่ละแท่งและข้อความจะมีราคาปิดของแท่ง:

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

2) มีการตรวจสอบค่าของอินดิเคเตอร์ 3 ตัว ได้แก่ RSI, SMA และ Momentum การแจ้งเตือนสคริปต์จะถูกเรียกใช้หากอินดิเคเตอร์ใด ๆ ข้ามระดับ (หรือราคา) ที่ระบุ และข้อความจะมีชื่อของอินดิเคเตอร์และค่าปัจจุบันของมัน

//@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) ในตัวอย่างนี้จะมีการตรวจสอบค่าของอินดิเคเตอร์ RSI หนึ่งตัว แต่ใช้สัญลักษณ์ห้าตัวพร้อมกัน การแจ้งเตือนสคริปต์จะถูกทริกเกอร์หาก RSI ข้ามระดับที่กำหนดสำหรับสัญลักษณ์ใด ๆ และข้อความจะมีสัญลักษณ์นั้นๆ และค่าของอินดิเคเตอร์ในช่วงเวลาของการข้าม

//@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")

ผู้ใช้สคริปต์สามารถเรียนรู้เพิ่มเติมเกี่ยวกับการสร้างการแจ้งเตือนใน ศูนย์ช่วยเหลือ Pine coders สามารถอ่านเกี่ยวกับการแจ้งเตือนใหม่ได้ใน คู่มือผู้ใช้ Pine และ คู่มืออ้างอิง

อ่านเกี่ยวกับการอัปเดตทั้งหมดของ Pine ในบันทึกประจำรุ่นของ คู่มือผู้ใช้ ของเรา


ติดตาม TradingView ประเทศไทย ได้ทาง Line ID: @tradingview_th และทวิตเตอร์ (Twitter) ค้นหา “TradingView Thailand

Look first Then leap

TradingView is built for you, so make sure you're getting the most of our awesome features
เปิดชาร์ต