DATEFORMAT
DATEFORMAT es un modificador de visualización de ProScreener que convierte un valor numérico YYYYMMDD en una fecha legible en una columna de resultados de SCREENER, como 2 Dec 2022.
Sintaxis
SCREENER(value AS "Column name" DATEFORMAT)Cómo funciona
A SCREENER la columna de resultados muestra normalmente el valor numérico bruto de la expresión que se le haya dado. Cuando la expresión codifica una fecha, ese número bruto es difícil de leer. Colocar DATEFORMAT después del AS "Column name" cláusula indica a la tabla de resultados que interprete el número como una fecha en YYYYMMDD y mostrarlo en un formato legible para humanos.
El modificador cambia solo la presentación. El valor subyacente sigue siendo numérico, por lo que ordenar la columna continúa funcionando sobre el propio número. Como YYYYMMDD los valores se ordenan en el mismo orden que las fechas que representan, la ordenación cronológica funciona como se espera.
DATEFORMAT combina de forma natural con las constantes de fecha y hora del lenguaje. Valores como Today, Yesterday, y OpenDate ya devuelven números en YYYYMMDD forma, por lo que pueden pasarse directamente a una columna formateada. Se acepta cualquier otra expresión numérica, pero solo los valores que codifican una fecha de calendario válida producen un resultado significativo.
Ejemplos
Ejemplo 1, Mostrar una fecha numérica fija (ProScreener)
// A numeric value in YYYYMMDD form, here 2 December 2022
number = 20221202
SCREENER(number AS "Formatted Date" DATEFORMAT)La columna etiquetada Formatted Date muestra 2 Dec 2022 en lugar del número bruto 20221202. Este es el ejemplo canónico de la referencia oficial.
Ejemplo 2, Mostrar la fecha del bar para acciones sobrevendidas (ProScreener)
// List oversold instruments together with the date of the scanned bar
myRSI = RSI[14](close)
oversold = myRSI < 30
barDate = OpenDate
SCREENER[oversold](barDate AS "Bar date" DATEFORMAT)Cada instrumento coincidente aparece con la fecha de apertura de su bar más reciente representada como una fecha legible, lo que resulta útil al escanear mercados cuya última sesión puede diferir.
Ejemplo 3, Adjuntar la fecha del escaneo a los nuevos máximos (ProScreener)
// Stamp each result with the date the scan was run
newHigh = close >= Highest[250](close)
SCREENER[newHigh](Today AS "Scan date" DATEFORMAT)Los instrumentos que marcan un máximo de cierre de 250 bars se listan con la fecha actual como columna formateada, lo que ayuda al exportar o archivar los resultados del screener.
Errores y trampas habituales
- El valor debe codificar YYYYMMDD.
DATEFORMATno convierte marcas de tiempo, recuentos de días ni números arbitrarios en fechas. Un valor como1670000000(una marca de tiempo tipo Unix) o45123se representa como una fecha sin sentido. Construye el valor como el año por 10000 más el mes por 100 más el día, o usa constantes comoTodayque ya devuelven esa forma. - Sin validación de la fecha. El modificador formatea los dígitos que recibe. Un valor como
20221399(mes 13, día 99) no se rechaza en tiempo de compilación y produce una salida sin sentido. Verifica la expresión que alimenta la columna. - Un modificador de formato por columna.
DATEFORMATno se puede combinar conNUMBERFORMAT,PERCENTFORMAT, oSTRINGFORMATen la misma columna. Elige el único modificador que coincida con los datos. - Solo en ProScreener. La palabra clave no compila en ningún otro sitio. En un indicador, la visualización de fechas se gestiona de otra forma, normalmente con
DRAWTEXTsalida de estilo, no conDATEFORMAT.
Instrucciones relacionadas
NUMBERFORMAT, abrevia valores numéricos grandes en una columna de screener.PERCENTFORMAT, muestra el valor de una columna de screener como porcentaje.STRINGFORMAT, muestra el valor de una columna de screener exactamente como está almacenado.SCREENER, define la condición de filtro y la columna de resultado de un screener.TIMEFRAME (PS), define el marco temporal que usa el código de screener posterior.Today, la fecha actual en formato YYYYMMDD.Yesterday, la fecha de calendario anterior en formato YYYYMMDD.OpenDate, la fecha de apertura de un bar en formato YYYYMMDD.