PRINT muestra los valores de las variables de cada bar en una ventana de depuración aparte en ProRealTime™, con etiquetas y colores opcionales, para inspeccionar código ProBuilder.
Sintaxis
PRINT(variable) AS "Label" COLOURED(R, G, B) FILLCOLOR(bgR, bgG, bgB)Parámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
variable | numérico | obligatorio | La variable o expresión cuyos valores por bar se muestran. |
"Label" | cadena | nombre de la variable | Encabezado de columna mostrado en la tabla de salida, definido con AS. |
COLOURED(R, G, B) | Valores RGB | ninguno | Color del texto de los valores impresos, cada componente de 0 a 255. |
FILLCOLOR(bgR, bgG, bgB) | Valores RGB | ninguno | Color de fondo de las celdas impresas, cada componente de 0 a 255. |
Cómo funciona
PRINT es una instrucción de diagnóstico. Por cada vela que procesa el script, añade el valor actual de la variable indicada a una tabla que se abre en su propia ventana, una fila por bar y una columna por sentencia PRINT. Esto permite observar cómo evolucionan los valores intermedios bar por bar sin representarlos, lo que a menudo resulta más claro que leer una curva cuando varias variables interactúan.
El AS la cláusula nombra la columna, lo que importa en cuanto se imprime más de un valor. COLOURED y FILLCOLOR controlan los colores del texto y del fondo de la celda, de modo que se pueden diferenciar visualmente columnas o estados de valor concretos.
PRINT pertenece al código de indicadores escrito en ProBuilder. El código de estrategia tiene sus propias salidas de depuración, GRAPH y GRAPHONPRICE, que representan valores durante un backtest en lugar de tabularlos. Para texto colocado directamente en el gráfico, DRAWTEXT es la alternativa.
Como construir la tabla cuesta tiempo y memoria en cada bar, las sentencias PRINT deben eliminarse o comentarse una vez terminada la depuración. No aportan ningún valor a un indicador publicado y ralentizan el recálculo en historiales grandes.
Ejemplos
Ejemplo 1, Inspeccionar el cálculo del cuerpo de una vela (Indicador)
// 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)
RETURNCada bar añade una fila a la tabla bajo el encabezado "A", con texto rojo sobre fondo azul. El indicador en sí no devuelve nada, lo importante es la tabla.
Ejemplo 2, Comparar dos valores intermedios uno al lado del otro (Indicador)
// 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"Dos sentencias PRINT producen dos columnas etiquetadas, lo que permite verificar la lógica del cruce bar por bar mientras el spread se representa con normalidad.
Ejemplo 3, Resaltar valores fuera de rango (Indicador)
// 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"El formato condicional dentro del bloque IF hace que las filas de sobrecompra y sobreventa destaquen en la tabla sin cambiar la salida representada.
Errores y trampas habituales
- Dejado en el código de producción. PRINT es solo para desarrollo. Las sentencias olvidadas siguen generando la tabla de depuración en cada recálculo y degradan el rendimiento en historiales largos.
- Columnas sin etiquetar. Varias llamadas PRINT sin
ASetiquetas producen una tabla difícil de leer. Nombra cada columna cuando imprimas más de una variable. - Herramienta inadecuada para estrategias. PRINT es una instrucción de depuración de indicadores. Dentro del código de ProBacktest o ProOrder, usa
GRAPHoGRAPHONPRICEpara inspeccionar valores durante un backtest. - Componentes RGB fuera de rango.
COLOUREDyFILLCOLOResperan cada componente entre 0 y 255. Los valores fuera de ese rango no producen el color deseado.
Instrucciones relacionadas
GRAPH, representa un valor en una ventana aparte durante un backtest.GRAPHONPRICE, representa un valor del backtest directamente en el gráfico de precio.RETURN, envía el valor final del indicador al gráfico.DRAWTEXT, escribe texto en coordenadas del gráfico.COLOURED, aplica color a las curvas devueltas y al texto impreso.FILLCOLOR, define el color de fondo de las celdas impresas y los dibujos.