Come usare le variabili negli alert

Puoi usare delle sigle particolari (in gergo definite placeholder) per accedere ai valori delle variabili nei messaggi di alert. Ad esempio, puoi creare un alert su NASDAQ:AAPL ed inserire il seguente messaggio:

{{exchange}}:{{ticker}}, prezzo = {{close}}, volume = {{volume}}

Se l'alert sarà attivato, riceverai il seguente messaggio con i valori corrispondenti:


Ecco la lista delle sigle disponibili:

1. {{ticker}} — restituisce il codice identificativo (ticker), es. AAPL o BTCUSD.

2. {{exchange}} — la borsa dove viene scambiato lo strumento o il fornitore del dato (come NASDAQ, NYSE o AMEX). Se il dato è in differita viene incluso il parametro DL o DLY,  es. NYMEX_DL.

3. {{close}}, {{open}}, {{high}}, {{low}}, {{time}}, {{volume}} — i valori corrispondenti ai dati della candela che ha attivato l’alert. Gli alert per gli indicatori, gli strumenti di disegno e i grafici non convenzionali dipendono dal timeframe, mentre gli alert di prezzo sono sempre calcolati sul grafico ad 1 minuto. {{time}} corrisponde al valore di tempo UTC della barra nel formato yyyy-MM-ddTHH: mm: ssZ. Ad esempio, 2019-08-27T09: 56: 00Z. Tutti gli altri valori sono in formato decimale, ma con il punto al posto della virgola (formato americano), es. 1245.25.

4. {{timenow}} — il momento esatto in cui l’alert è stato attivato. Viene formattato nello stesso modo già spiegato qui sopra con {{time}}. É preciso al secondo, indipendentemente dal timeframe scelto.

5. {{plot_0}}, {{plot_1}}, ... {{plot_19}} - i valori corrispondenti alla serie di dati dell’indicatore scelto per impostare un alert. N.B.: l'elenco parte da zero. Il numero più alto è dunque 19 (si può accedere ad un massimo di 20 serie di dati). Una serie è composta dai valori che vedete nel grafico. Ad esempio, l’indicatore integrato del volume ha due serie di dati – Volume e MA Volume (MA sta per media mobile). Puoi creare un alert sull’indicatore con il seguente messaggio: 

Volume: {{plot_0}}, Volume medio: {{plot_1}}

6. {{interval}} — restituisce il timeframe/intervallo temporale del grafico in cui è stato creato l'alert. Tieni a mente che, per motivi tecnici, in alcune circostanze questa variabile risulterà uguale a "1" invece del timeframe del grafico. Gli alert tradizionali basati sul movimento di prezzo, con condizioni come "AAPL supera i 120" o "AMZN più grande di 3600", sono tutti basati sull'ultimo valore del prezzo, quindi il timeframe non è rilevante per il loro risultato. Per questo motivo, tutti gli alert di prezzo sono effettivamente calcolati sul grafico ad un minuto, e la variabile restituirà tale valore. Inoltre, anche i grafici Range sono calcolati sui dati ad 1 minuto, quindi il risultato sarà lo stesso. Per gli alert basati su indicatori o disegni, {{interval}} funzionerà come previsto.

7. {{syminfo.currency}} — restituisce il codice della valuta del simbolo corrente ("EUR", "USD", ecc.).

8. {{syminfo.basecurrency}}   restituisce il codice della valuta base del simbolo corrente se il simbolo si riferisce a una coppia di valute. Altrimenti, restituisce n/a. Ad esempio, restituisce "EUR" se il simbolo è "EURUSD".

Le sigle con il prefisso "strategy" possono essere usate solo per gli alert nelle strategie:

  • {{strategy.position_size}} - restituisce il valore della parola chiave su Pine (in questo caso, la dimensione della posizione corrente).
  • {{strategy.order.action}} - restituisce la stringa “buy” o “sell”  per l'ordine eseguito.
  • {{strategy.order.contracts}} - restituisce il numero dei contratti per l'ordine eseguito.
  • {{strategy.order.price}} - restituisce il livello di prezzo a cui l'ordine è stato eseguito.
  • {{strategy.order.id}} - restituisce l'ID dell'ordine eseguito (la stringa usata come primo parametro in una delle funzioni che generano gli ordini: strategy.entry, strategy.exit o strategy.order).
  • {{strategy.order.comment}} - restituisce il commento per l'ordine eseguito (la stringa usata nel parametro comment in una delle funzioni che genera ordini: strategy.entry, strategy.exit o strategy.order). Se non c'è alcun commento, viene usato il valore di strategy.order.id.
  • {{strategy.order.alert_message}} - restituisce il valore del parametro alert_message, che può essere usato nel codice Pine della strategia quando si invoca una delle funzioni per generare ordini: strategy.entry, strategy.exit o strategy.order. Questa funzionalità è supportata solo su Pine v4.
  • {{strategy.market_position}} - restituisce la posizione corrente della strategia in formato stringa: “long”, “flat”, o “short”.
  • {{strategy.market_position_size}} - restituisce la dimensione della posizione corrente in valore assoluto (es. come numero non negativo).
  • {{strategy.prev_market_position}} - restituisce la posizione precedente della strategia in formato stringa: “long”, “flat”, o “short”.
  • {{strategy.prev_market_position_size}} - restituisce la dimensione della posizione precedente in valore assoluto (es. come numero non negativo).

Quando l’alert viene attivato, vedrai i valori corrispondenti:

Per le funzioni di plot sugli script scritti in Pine Script:

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

oltre a usare i placeholder {{plot_0}}, {{plot_1}}, ... {{plot_19}}, è possibile riconoscerli per nome. A tale scopo, utilizzare il placeholder {{plot(“Name”)}}, dove Name è il nome della serie. Ad esempio, per la funzione plotarrow:

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

Aggiungere {{plot(“arrow”)}} al testo della notifica

Per le funzioni plotcandle e plotbar, l'accesso a una serie per nome non è supportato poiché ogni funzione visualizza 4 serie (apertura, massimo, minimo e chiusura). Per ogni serie è possibile utilizzare un placeholder con la numerazione appropriata.

Per gli indicatori integrati è possibile utilizzare solo placeholder con nomi di serie in inglese. Ad esempio, per l'indicatore volume:

Volume: {{plot(“Volume”)}}, Volume average: {{plot(“Volume MA”)}}

Se nell'alert vengono utilizzati più indicatori, solo i valori del primo verranno sostituiti nei placeholder {{plot}}:

Nell'esempio precedente, i valori delle serie dell'indicatore “My script1” verranno sostituiti nei placeholder. Per visualizzare i valori dell'indicatore “My script2”, selezionarlo nel primo menù a tendina.

I placeholder possono essere specificati anche nell'argomento messaggio della funzione alertcondition. Quando si crea un alert, il valore di questo argomento viene automaticamente inserito nella casella di testo dell'alert.

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

Si noti che quando si crea un alert con una condizione dalla funzione alertcondition, la sostituzione del valore funzionerà negli script scritti sulla quarta versione (Pine v4) o superiore.

I valori degli alert attivati possono essere utilizzati insieme ai webhook inviando i valori delle variabili da un messaggio agli indirizzi desiderati. Oppure utilizzando applicazioni esterne di terze parti come TradingView Alerts to MT4/MT5, che già utilizza valori dinamici. Alcuni casi d'uso della sintassi sono riportati in questo esempio di script. Questo apre ulteriori possibilità per coloro che utilizzano gli alert.