PRINT mostra i valori delle variabili per ogni bar in una finestra di debug separata in ProRealTime™, con etichette e colori opzionali, per esaminare il codice ProBuilder.
Sintassi
PRINT(variable) AS "Label" COLOURED(R, G, B) FILLCOLOR(bgR, bgG, bgB)Parametri
| Nome | Tipo | Predefinito | Descrizione |
|---|---|---|---|
variable | numerico | obbligatorio | La variabile o espressione i cui valori per bar vengono mostrati. |
"Label" | stringa | nome della variabile | Intestazione di colonna mostrata nella tabella di output, impostata con AS. |
COLOURED(R, G, B) | Valori RGB | nessuno | Colore del testo dei valori stampati, ogni componente da 0 a 255. |
FILLCOLOR(bgR, bgG, bgB) | Valori RGB | nessuno | Colore di sfondo delle celle stampate, ogni componente da 0 a 255. |
Come funziona
PRINT è un'istruzione diagnostica. Per ogni candela elaborata dallo script, aggiunge il valore corrente della variabile indicata a una tabella che si apre in una finestra propria, una riga per bar e una colonna per ogni istruzione PRINT. Questo permette di osservare come i valori intermedi evolvono bar per bar senza tracciarli, cosa spesso più chiara della lettura di una curva quando interagiscono più variabili.
Il AS la clausola nomina la colonna, cosa che conta appena viene stampato più di un valore. COLOURED e FILLCOLOR controllano i colori del testo e dello sfondo della cella, così colonne specifiche o stati di valore possono essere resi visivamente distinti.
PRINT appartiene al codice degli indicatori scritto in ProBuilder. Il codice delle strategie ha i propri output di debug, GRAPH e GRAPHONPRICE, che tracciano i valori durante un backtest invece di tabularli. Per il testo posizionato direttamente sul grafico, DRAWTEXT è l'alternativa.
Poiché costruire la tabella costa tempo e memoria su ogni bar, le istruzioni PRINT dovrebbero essere rimosse o commentate una volta terminato il debug. Non aggiungono valore a un indicatore rilasciato e rallentano il ricalcolo su storici ampi.
Esempi
Esempio 1, Esaminare il calcolo del corpo di una candela (Indicatore)
// Difference between close and open, shown in a debug table
VarA = close - open
R = 255
B = 255
PRINT(VarA) AS "A" COLOURED(R, 0, 0) FILLCOLOR(0, 0, B)
RETURNOgni bar aggiunge una riga alla tabella sotto l'intestazione "A", con testo rosso su sfondo blu. L'indicatore in sé non restituisce nulla, il punto è la tabella.
Esempio 2, Confrontare due valori intermedi affiancati (Indicatore)
// Watch both moving averages while debugging a crossover
fastMA = average[10](close)
slowMA = average[40](close)
PRINT(fastMA) AS "Fast MA"
PRINT(slowMA) AS "Slow MA"
RETURN fastMA - slowMA AS "MA spread"Due istruzioni PRINT producono due colonne etichettate, permettendo di verificare la logica di incrocio bar per bar mentre lo spread viene tracciato normalmente.
Esempio 3, Evidenziare i valori fuori intervallo (Indicatore)
// Print RSI and flag extreme readings with a distinct background
myRSI = RSI[14](close)
IF myRSI > 70 OR myRSI < 30 THEN
PRINT(myRSI) AS "RSI14" COLOURED(255, 255, 255) FILLCOLOR(200, 0, 0)
ELSE
PRINT(myRSI) AS "RSI14"
ENDIF
RETURN myRSI AS "RSI14"La formattazione condizionale all'interno del blocco IF fa risaltare nella tabella le righe di ipercomprato e ipervenduto senza modificare l'output tracciato.
Errori e insidie comuni
- Lasciato nel codice di produzione. PRINT è solo per lo sviluppo. Le istruzioni dimenticate continuano a generare la tabella di debug a ogni ricalcolo e peggiorano le prestazioni su storici lunghi.
- Colonne senza etichetta. Diverse chiamate PRINT senza
ASetichette producono una tabella difficile da leggere. Dai un nome a ogni colonna quando stampi più di una variabile. - Strumento sbagliato per le strategie. PRINT è un'istruzione di debug per indicatori. All'interno del codice ProBacktest o ProOrder, usa
GRAPHoGRAPHONPRICEper ispezionare i valori durante un backtest. - Componenti RGB fuori intervallo.
COLOUREDeFILLCOLORsi aspettano ogni componente tra 0 e 255. Valori fuori da quell'intervallo non producono il colore previsto.
Istruzioni correlate
GRAPH, traccia un valore in una finestra separata durante un backtest.GRAPHONPRICE, traccia un valore del backtest direttamente sul grafico dei prezzi.RETURN, restituisce il valore finale dell'indicatore sul grafico.DRAWTEXT, scrive testo alle coordinate del grafico.COLOURED, applica il colore alle curve restituite e al testo stampato.FILLCOLOR, imposta il colore di sfondo per le celle stampate e i disegni.