Nos nouvelles alertes permettent des messages dynamiques

Jan 25, 2021

Nos nouvelles alertes script utilisent une fonction “alert()`” qui fonctionne à la fois dans les stratégies et les études, et permet de générer un message entièrement dynamique lorsque l’alerte se déclenche.

Les nouvelles alertes fonctionnent selon un modèle similaire à celui des récentes alertes de stratégie, où une seule alerte créée dans l’interface utilisateur du graphique peut agréger tous les déclencheurs générés par un nombre quelconque d’appels `alert()` dans le script, de la même manière qu’une seule alerte de stratégie agrégerait tous les déclencheurs d’événements de courtiers.

Pour créer les nouvelles alertes :

Incluez autant d’appels `alert()` dans votre script que vous le souhaitez, en incluant chacun d’entre eux dans un bloc `if` définissant la ou les condition(s) de déclenchement.


Créez une alerte pour le script en utilisant la boîte de dialogue ” Créer une alerte ” du graphique et sélectionnez un type d’alerte comprenant un ” appel de fonction alert() “.
Lorsqu’ils sont utilisés dans des stratégies, les utilisateurs peuvent choisir de créer des alertes qui se déclenchent uniquement sur des événements `alert()`, sur des événements de remplissage d’ordre, ou sur les deux. Il convient également de rappeler que le nombre de variables pouvant être utilisées dans le message d’alerte dynamique n’est pas limité et que les caractères de remplissage ne sont plus nécessaires, car toute variable utilisée dans un script peut également être utilisée dans les nouveaux appels de fonction `alert()`, à condition qu’elle soit au format chaîne.

Vous trouverez ci-dessous trois exemples de la fonction `alert()` :

1) L’alerte script est déclenchée sur chaque barre, et le message contient le prix de clôture de la barre :

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

2) Les valeurs de trois indicateurs sont vérifiées : RSI, SMA et Momentum. L’alerte script sera déclenchée si l’un des indicateurs franchit un niveau (ou un prix) spécifié, et le message contiendra le nom de l’indicateur et sa valeur actuelle.

//@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) Dans cet exemple, les valeurs d’un indicateur RSI sont vérifiées, mais sur cinq symboles à la fois. L’alerte script sera déclenchée si le RSI franchit un niveau déterminé pour l’un des symboles, et le message contiendra le symbole et la valeur de l’indicateur au moment du franchissement.

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

Les utilisateurs de scripts peuvent en savoir plus sur la création d’alertes dans le Centre d’aide. Les codeurs Pine peuvent se renseigner sur les nouvelles alertes dans le Manuel d’utilisateur Pine et le Manuel de Référence.

Lisez toutes les mises à jour de Pine dans les Notes de lancement de notre manuel d’utilisation.

Look first Then leap

TradingView est conçu pour vous, assurez-vous donc de profiter au maximum de nos fonctionnalités exceptionnelles
Ouvrir le graphique