Rejoignez-nous
ProScreener/proscreener

DATEFORMAT

DATEFORMAT est un modificateur d'affichage ProScreener qui restitue une valeur numérique YYYYMMDD sous forme de date lisible dans une colonne de résultats SCREENER, par exemple 2 Dec 2022.

Syntaxe

probuilder
SCREENER(value AS "Column name" DATEFORMAT)

Comment ça marche

A SCREENER colonne de résultats affiche normalement la valeur numérique brute de l'expression qui lui a été fournie. Lorsque l'expression encode une date, ce nombre brut est difficile à lire. Placer DATEFORMAT après le AS "Column name" clause indique au tableau de résultats d'interpréter le nombre comme une date au YYYYMMDD forme et de l'afficher dans un format lisible par l'homme.

Le modificateur ne change que la présentation. La valeur sous-jacente reste numérique, le tri de la colonne porte donc toujours sur le nombre lui-même. Comme YYYYMMDD valeurs se trient dans le même ordre que les dates qu'elles représentent, le tri chronologique se comporte comme prévu.

DATEFORMAT s'associe naturellement aux constantes de date et d'heure du langage. Des valeurs telles que Today, Yesterday, et OpenDate renvoient déjà des nombres en YYYYMMDD forme, ce qui permet de les transmettre directement à une colonne formatée. Toute autre expression numérique est acceptée, mais seules les valeurs qui encodent une date calendaire valide produisent un résultat exploitable.

Exemples

Exemple 1, Afficher une date numérique fixe (ProScreener)

probuilder
// A numeric value in YYYYMMDD form, here 2 December 2022
number = 20221202
SCREENER(number AS "Formatted Date" DATEFORMAT)

La colonne intitulée Formatted Date affiche 2 Dec 2022 au lieu du nombre brut 20221202. C'est l'exemple canonique de la référence officielle.

Exemple 2, Afficher la date du bar pour les actions survendues (ProScreener)

probuilder
// 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)

Chaque instrument correspondant apparaît avec la date d'ouverture de son bar le plus récent restituée sous forme de date lisible, ce qui est utile lors de l'analyse de marchés dont la dernière séance peut différer.

Exemple 3, Joindre la date du scan aux nouveaux plus hauts (ProScreener)

probuilder
// Stamp each result with the date the scan was run
newHigh = close >= Highest[250](close)
SCREENER[newHigh](Today AS "Scan date" DATEFORMAT)

Les instruments inscrivant un plus haut de clôture sur 250 bars sont listés avec la date courante dans une colonne formatée, ce qui aide lors de l'export ou de l'archivage des résultats du screener.

Erreurs et pièges courants

  • La valeur doit coder YYYYMMDD. DATEFORMAT ne convertit pas les horodatages, les compteurs de jours ou les nombres arbitraires en dates. Une valeur comme 1670000000 (un timestamp de type Unix) ou 45123 donne une date absurde. Construisez la valeur comme année fois 10000 plus mois fois 100 plus jour, ou utilisez des constantes telles que Today qui renvoient déjà cette forme.
  • Aucune validation de la date. Le modificateur met en forme les chiffres qu'il reçoit. Une valeur comme 20221399 (mois 13, jour 99) n'est pas rejeté à la compilation et produit une sortie dénuée de sens. Vérifiez l'expression qui alimente la colonne.
  • Un seul modificateur de format par colonne. DATEFORMAT ne peut pas être combiné avec NUMBERFORMAT, PERCENTFORMAT, ou STRINGFORMAT sur la même colonne. Choisissez l'unique modificateur qui correspond aux données.
  • ProScreener uniquement. Le mot-clé ne compile nulle part ailleurs. Dans un indicateur, l'affichage de la date se gère différemment, généralement avec DRAWTEXT sortie de type style, non avec DATEFORMAT.
  • NUMBERFORMAT, abrège les grandes valeurs numériques dans une colonne de screener.
  • PERCENTFORMAT, affiche la valeur d'une colonne de screener en pourcentage.
  • STRINGFORMAT, affiche la valeur d'une colonne de screener exactement telle qu'elle est stockée.
  • SCREENER, définit la condition de filtre et la colonne de résultat d'un screener.
  • TIMEFRAME (PS), définit l'unité de temps utilisée par le code de screener qui suit.
  • Today, la date courante au format YYYYMMDD.
  • Yesterday, la date calendaire précédente au format YYYYMMDD.
  • OpenDate, la date d'ouverture d'un bar sous la forme YYYYMMDD.