Pine Script®: debug più semplice con Pine Logs

Aug 29, 2023

Portate il debug di Pine Script® a un altro livello con le nuove funzioni log.*(), che sfruttano il nuovo riquadro Log di Pine per darvi un feedback durante l’esecuzione dello script. Ne esistono tre:

  • log.error() crea messaggi di tipo “Error”, evidenziati in rosso.
  • log.info() crea messaggi di tipo “Info”, evidenziati in verde.
  • log.warning() crea messaggi di tipo “Warning”, evidenziati in arancione.

È possibile visualizzare i log di Pine selezionando “Log di Pine…” dal menù “Altro” dell’editor o dal menù “Altro” di uno script caricato sul grafico se utilizza le funzioni log.*().

I log di Pine funzionano ovunque: sulle barre storiche, in tempo reale e in modalità Replay. Le funzioni di registro possono essere richiamate da qualsiasi tipo di script (indicatore, strategia o libreria) e in qualsiasi punto dello script, compresi blocchi locali, loop e dall’interno di request.security() e funzioni simili. È possibile chiamare le funzioni di log in due modi: utilizzando solo un argomento stringa, oppure utilizzando una stringa di formattazione e un elenco di valori alla maniera di str.format().

Gli script che utilizzano i log devono essere script ad uso personale; gli script pubblicati privatamente o pubblicamente non possono generare log, anche se contengono chiamate alle funzioni log.*().

Il seguente esempio di codice utilizza tutte e tre le funzioni di log:

//@version=5
indicator("Pine Logs")
if barstate.ishistory
    if bar_index % 100 == 0
        log.warning("\nBar index: {0,number,#}", bar_index)
else
    // Realtime bar processing.
    varip lastTime = timenow
    varip updateNo = 0
    if barstate.isnew
        updateNo := 0
        log.error("\nNew bar")
    else
        log.info("\nUpdate no: {0}\nclose: {1}\nSeconds elapsed: {2}", updateNo, close, (timenow - lastTime) / 1000)
        updateNo += 1
    lastTime := timenow
plot(timenow)

L’esempio visualizza l’indice di barra ogni centesima barra storica con un messaggio di avviso arancione. In tempo reale, visualizza un messaggio di errore in rosso per ogni nuova barra e per ogni aggiornamento in tempo reale crea un messaggio informativo in grigio che mostra il numero di aggiornamento, il prezzo di chiusura e il tempo trascorso dall’ultimo aggiornamento del grafico.

Per vedere i log di Pine in azione:

  1. Salvate l’esempio di codice sopra riportato in uno script personale e aggiungetelo a un grafico con un mercato attivo.
  2. Aprite il riquadro “Log di Pine” utilizzando il menù “Altro” dell’editor o il menù “Altro” dell’indicatore sul grafico.

Un timestamp precede ogni voce di log. Si tratta del tempo di apertura della barra per le barre storiche e del tempo corrente per i messaggi in tempo reale. I messaggi più recenti appaiono nella parte inferiore del riquadro. Per le barre storiche vengono visualizzati solo gli ultimi 10.000 messaggi; i messaggi in tempo reale vengono aggiunti a quelli.

Nella parte superiore del riquadro sono presenti le icone che consentono di avviare/arrestare la registrazione, specificare una data di inizio, filtrare i log per tipo di messaggio e fare una ricerca. Il campo di ricerca contiene un sottomenù che consente di eseguire la ricerca per casi, per parole intere e di usare il regex.

Quando si passa il mouse su un messaggio di log, appaiono delle icone che consentono di visualizzare il codice sorgente che ha generato il messaggio o di passare alla barra del grafico corrispondente:

Quando più script del grafico utilizzano i log, ognuno di essi mantiene il proprio insieme di messaggi. È possibile passare da uno script all’altro utilizzando il menù a tendina nella parte superiore del riquadro Log di Pine:

Per rimanere informati sulle nuove funzionalità di Pine Script®, tenete d’occhio le Note di rilascio del Manuale utente. Anche l’account PineCoders trasmette gli aggiornamenti dalla sua Squawk Box su Telegram, dal suo account su Twitter e dalla chat pubblica Pine Script® Q&A.

Riteniamo che queste funzioni, molto richieste, vi siano utili e vi invitiamo a continuare a inviarci feedback e suggerimenti, in modo da poter rendere la piattaforma la migliore possibile. Costruiamo TradingView per voi e siamo sempre desiderosi di ascoltare le vostre opinioni.

Team TradingView

Look first Then leap

TradingView è realizzato per te. Assicurati di sfruttare al massimo tutte le sue funzionalità
Apri grafico