Comment utiliser une valeur variable dans une alerte

Vous pouvez utiliser des espaces réservés spéciaux pour accéder aux valeurs des variables dans le message d'alerte. Par exemple, vous pouvez créer une alerte sur NASDAQ: AAPL et taper dans une boîte de message:{{exchange}}:{{ticker}}, price = {{close}}, volume = {{volume}}
{{exchange}}:{{ticker}}, price = {{close}}, volume = {{volume}}Une fois l'alerte déclenchée, vous obtiendrez les valeurs correspondantes:

Voici une liste des espaces réservés disponibles:

1. {{ticker}} - ticker du symbole utilisé dans l'alerte (AAPL, BTCUSD, etc.).

2. {{exchange}} - échange du symbole utilisé dans l'alerte (NASDAQ, NYSE, MOEX, etc.). Notez que pour les symboles différés, l'échange se terminera par «_DL» ou «_DLY». Par exemple, «NYMEX_DL».

3. {{close}}, {{open}}, {{high}}, {{low}}, {{time}}, {{volume}} - valeurs correspondantes de la barre sur laquelle l'alerte a été déclenchée . Notez que les alertes sur les indicateurs, les graphiques et les dessins non standard dépendent d'une résolution, tandis que les alertes de prix simples (par exemple, le prix traversant une certaine valeur) sont toujours calculées sur des barres d'une minute. {{time}} est en UTC, au format aaaa-MM-jjTHH: mm: ssZ. Par exemple, 2019-08-27T09: 56: 00Z. Les autres valeurs sont des nombres à virgule fixe avec un point décimal séparant les parties intégrales et fractionnaires. Par exemple, 1245,25.

4. {{timenow}} - heure de déclenchement actuelle de l'alerte, formatée de la même manière que {{time}}. Renvoie le temps à la seconde près, quelle que soit la résolution.

5. {{plot_0}}, {{plot_1}}, ... {{plot_19}} - série de sortie correspondante d'un indicateur utilisé dans l'alerte. Notez que les tracés sont numérotés à partir de zéro. L'ID de tracé le plus élevé est 19 (vous ne pouvez accéder qu'à 20 premières séries de sortie). Les séries en sortie sont les valeurs d'un indicateur que vous pouvez voir sur un graphique. Par exemple, l'indicateur de volume intégré a deux séries de sortie: Volume et Volume MA. Vous pouvez créer une alerte dessus et taper dans une boîte de message quelque chose comme ceci:

Volume: {{plot_0}}, moyenne du volume: {{plot_1}}

6. {{interval}}- renvoie l'intervalle (c'est-à-dire le délai/la résolution) du graphique sur lequel l'alerte est créée. Notez que, pour des raisons techniques, dans certains cas, ce paramètre renvoie "1" au lieu de la durée indiquée sur le graphique. Les alertes classiques basées sur le prix (avec des conditions telles que "AAPL Crossing 120" ou "AMZN Greater Than 3600") sont toutes basées sur la dernière valeur du symbole, de sorte que la période du graphique n'est pas pertinente pour l'alerte. De ce fait, toutes les alertes basées sur le prix sont en fait calculées sur la période de 1 m et le caractère d'alerte renvoie toujours "1" en conséquence. En outre, les graphiques de gamme sont également calculés sur la base de données de 1 m, de sorte que le caractère générique {{intervalle}} renvoie toujours un "1" pour toute alerte créée sur un graphique de gamme. Avec les alertes créées sur les dessins et les indicateurs, ce caractère de remplacement fonctionnera comme prévu.

7. {{syminfo.currency}} - renvoie le code de la devise du symbole actuel ("EUR", "USD", etc.).

8. {{syminfo.basecurrency}} - renvoie le code de la devise de base du symbole actuel si le symbole fait référence à une paire de devises. Dans le cas contraire, il renvoie na. Par exemple, il renvoie "EUR" lorsque le symbole est "EURUSD".

Les caractères de remplacement avec le préfixe "stratégie" ne peuvent être utilisés que dans les alertes de stratégie : 

  • {{strategy.position_size}} - renvoie la valeur du même mot-clé en Pin, c'est-à-dire la taille de la position actuelle.
  • {{strategy.order.action}} - renvoie la chaîne "acheter" ou "vendre" pour l'ordre exécuté.
  • {{strategy.order.contracts}} - renvoie le nombre de contrats de l'ordre exécuté.
  • {{strategy.order.price}} - renvoie le prix auquel l'ordre a été exécuté.
  • {{{strategy.order.id}} - renvoie l'ID de l'ordre exécuté (la chaîne utilisée comme premier paramètre dans l'un des appels de fonction générant des ordres : strategy.entry, strategy.exit ou strategy.order).
  • {{strategy.order.comment}} - renvoie le commentaire de l'ordre exécuté (la chaîne utilisée dans le paramètre de commentaire dans l'un des appels de fonction générant des ordres : strategy.entry, strategy.exit ou strategy.order). Si aucun commentaire n'est spécifié, alors la valeur de strategy.order.id sera utilisée.
  • {{strategy.order.alert_message}} - renvoie la valeur du paramètre alert_message qui peut être utilisé dans le code Pine de la stratégie lors de l'appel d'une des fonctions utilisées pour passer des ordres : strategy.entry, strategy.exit ou strategy.order. Cette fonction n'est prise en charge que dans Pine v4 ou supérieure.
  • {{strategy.market_position}} - renvoie la position actuelle de la stratégie sous forme de chaîne : "long", "plat", ou "court".
  • {{strategy.market_position_size}} - renvoie la taille de la position actuelle en valeur absolue, c'est-à-dire un nombre non négatif.
  • {{strategy.prev_market_position}} - renvoie la position précédente de la stratégie sous forme de chaîne : "long", "plat", ou "court".
  • {{strategy.prev_market_position_size}} - renvoie la taille de la position précédente en valeur absolue, c'est-à-dire un nombre non négatif.
  • {{syminfo.currency}} - renvoie le code de la devise du symbole actuel ("EUR", "USD", etc.).
  • {{syminfo.basecurrency}} - renvoie le code de la devise de base du symbole actuel si le symbole fait référence à une paire de devises. Dans le cas contraire, il renvoie na. Par exemple, il renvoie "EUR" lorsque le symbole est "EURUSD".

Une fois l'alerte déclenchée, vous verrez les valeurs correspondantes :

Pour les fonctions de traçage des scripts écrits en Pine Script:

  • plot;
  • plotshape;
  • plotchar;
  • plotarrow;
  • plotbar;
  • plotcandle.

en plus d'utiliser les caractères génériques {{plot_0}}, {{plot_1}}, ... {{plot_19}}, il est possible de les reconnaître par leur nom. Pour ce faire, utilisez le caractère générique {{plot(«nom»)}}, où nom est le nom de la série. Par exemple, pour la fonction plotarrow:

//@version=6
indicator('My script')
plotarrow(close, colorup=color.new(color.teal,40), colordown=color.new(color.orange, 40) , title = 'arrow')
Generic

Ajoutez {{plot(«arrow»)}} au texte de la notification

Pour les fonctions plotcandle et plotbar, l'accès à une série par son nom n'est pas possible car chaque fonction affiche 4 séries (open, high, low et close). Pour chaque série, vous pouvez utiliser un espace réservé avec la numérotation appropriée.

Pour les indicateurs intégrés, vous ne pouvez utiliser que des caractères génériques avec des noms de série en anglais. Par exemple, pour l'indicateur de volume :


Volume: {{plot("Volume")}}, Volume average: {{plot("Volume MA")}}

Si plusieurs indicateurs sont utilisés dans l'alerte, seules les valeurs du premier seront substituées dans les espaces réservés {{plot}} :

Pour l'exemple ci-dessus, les valeurs des séries de l'indicateur « Mon script1 » seront substituées dans les espaces réservés. Pour afficher les valeurs de l'indicateur « Mon script2 », il faut le sélectionner dans le premier menu déroulant.

Les espaces réservés peuvent également être spécifiés dans l'argument message de la fonction alertcondition. Lors de la création d'une alerte, la valeur de cet argument est automatiquement reprise dans la zone de saisie du texte de l'alerte.

//@version=6
indicator("alertcondition", overlay=true)
alertcondition(close >= open, title='Alert', message='"price {{ticker}} = {{close}}"!')
Generic

Veuillez noter que lors de la création d'une alerte avec une condition à partir de la fonction alertcondition, le remplacement de la valeur fonctionnera dans les scripts écrits avec la quatrième version (Pine v4) ou une version plus récente.

Les valeurs des alertes déclenchées peuvent être utilisées avec les webhooks en envoyant les valeurs variables d'un message aux adresses souhaitées. Ou en utilisant des applications tierces externes comme TradingView Alerts to MT4/MT5, qui utilise déjà des valeurs dynamiques. Quelques cas d'utilisation de la syntaxe peuvent être trouvés dans ce script en exemple. Cela ouvre encore plus de possibilités pour ceux d'entre vous qui utilisent des alertes.