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}}
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 :

Les mêmes règles s'appliquent aux scénarios écrits en pine. Les séries sont comptées en fonction de leur ordre d'appel dans le code. Voir la liste des fonctions ci-dessous. Leurs séries peuvent être utilisées dans les messages de notification :

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

Si l'argument de série de ces fonctions contient une valeur booléenne, 0 ou 1 sera substitué dans le message de notification. N'oubliez pas que certaines fonctions - plotcandle et plotbar - affichent chacune 4 séries, et que chacune d'entre elles sera prise en compte dans la logique de numérotation.

Toutefois, cette méthode d'accès aux tracés n'est pas toujours pratique. Pour faciliter les choses, nous avons ajouté une aide pour appeler les tracés à l'aide de leur nom. Pour ce faire, utilisez le caractère de remplissage {{plot("Name")}}, où Name est le nom de la série.

Pour les indicateurs intégrés, les seuls noms pris en charge sont ceux qui sont utilisés dans la version anglaise. Dans l'exemple avec l'indicateur de volume pour l'accès aux séries en utilisant leurs noms, vous devez inclure ce qui suit dans le message :

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

De même, pour que Pine Script puisse accéder à la série, vous devez spécifier le nom des fonctions correspondantes à partir de l'argument du titre, (supporté pour toutes les fonctions d'intrigue sauf plotcandle et plotbar), et la langue n'aura plus d'importance. Si vous n'avez pas accès au code, le nom peut être vu dans les paramètres de style.

Par exemple, pour accéder aux valeurs de ce script :

//@version=4study("My script")plot(close, title="series")
Generic

Inclure {{plot("series")}} dans le message d'alerte.

Le même nom est affiché dans les paramètres du script :

Lorsque vous utilisez plusieurs indicateurs dans une même alerte, vous pouvez vous référer aux valeurs du premier - celui indiqué dans la première liste déroulante. Voir l'exemple ci-dessous.

Lorsqu'une alerte inclut ces paramètres, vous ne pouvez vous référer qu'aux valeurs MA. Pour accéder aux valeurs du script "Mon script", vous devez le sélectionner dans la première liste déroulante.

Vous pouvez également spécifier de nouveaux paramètres dans l'argument message de la fonction de condition d'alerte. Par exemple :

//@version=4study("My script")alertcondition(close>open, message="price {{ticker}} = {{close}}")
Generic

Le message de l'argument est automatiquement tiré dans la fenêtre de message dans le dialogue de création d'alerte.

Veuillez noter que lors de la création d'une alerte avec une condition à partir de la fonction alertcondition, la substitution de valeur ne fonctionnera que pour les scripts v4 ou supérieurs.

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