تسمح تنبيهاتنا الجديدة بالرسائل الديناميكية

Jan 25, 2021

تستخدم تنبيهات البرنامج النصي الجديدة وظيفة `alert ()` التي تعمل في كل من الاستراتيجيات والدراسات ، وتسمح بإنشاء رسالة ديناميكية بالكامل عند تشغيل التنبيه.

تعمل التنبيهات الجديدة باستخدام نموذج مشابه لتنبيهات الإستراتيجية الحديثة ، حيث يمكن لتنبيه واحد فقط تم إنشاؤه في واجهة مستخدم الرسم البياني تجميع جميع المشغلات التي تم إنشاؤها بواسطة أي عدد `alert()` في البرنامج النصي ، بنفس الطريقة التي يستخدمها سيجمع تنبيه إستراتيجية واحدة جميع مشغلات أحداث الوسيط.

لإنشاء التنبيهات الجديدة:

1- قم بتضمين العديد من استدعاءات `alert ()` في البرنامج النصي الخاص بك كما يحلو لك ، مع تضمين كل واحد في كتلة “if” التي تحدد الشرط (الشروط) المشغلة.
2- أنشئ تنبيهًا واحدًا للبرنامج النصي باستخدام مربع الحوار “إنشاء تنبيه” في الرسم البياني وحدد نوع التنبيه بما في ذلك استدعاء دالة alert()
عند استخدامها في الإستراتيجيات ، يمكن للمستخدمين اختيار إنشاء تنبيهات يتم تشغيلها فقط في أحداث `alert ()` أو أحداث تعبئة الطلب أو كليهما. وتجدر الإشارة أيضًا إلى أنه لا يوجد حد لعدد المتغيرات التي يمكن استخدامها في رسالة التنبيه الديناميكي وأن العناصر النائبة لم تعد ضرورية ، حيث يمكن أيضًا استخدام أي متغير مستخدم في البرنامج النصي في  استدعاء دالة `alert ()`  الجديدة ، طالما أنها بتنسيق سلسلة.
فيما يلي ثلاثة أمثلة لدالة  `alert()`:
1) يتم تشغيل تنبيه البرنامج النصي على كل عمود بياني ، وتحتوي الرسالة على سعر إغلاق العمود:
//@version=4
study("Simple alert() example")
plot(close)
alert("Close = " + tostring(close), alert.freq_once_per_bar_close)
2) يتم فحص قيم المؤشرات الثلاثة: 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 ، ولكن على خمسة رموز في وقت واحد. سيتم تشغيل تنبيه البرنامج النصي إذا تجاوز مؤشر القوة النسبية مستوى محددًا لأي من الرموز ، وستحتوي الرسالة على الرمز وقيمة المؤشر في لحظة الكسر أو عبور المؤشر.
//@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 والدليل المرجعي.
اقرأ عن كافة التحديثات التي تم إجراؤها على Pine في ملاحظات الإصدار الخاصة بدليل المستخدم.

Look first Then leap

تم إنشاء TradingView خصيصًا لك، لذا تأكد من حصولك على أقصى استفادة من خدماتنا الرائعة
فتح الرسم البياني