DATEFORMAT
DATEFORMAT is een ProScreener-weergavemodifier die een numerieke YYYYMMDD-waarde als een leesbare datum in een SCREENER-resultatenkolom weergeeft, zoals 2 Dec 2022.
Syntaxis
SCREENER(value AS "Column name" DATEFORMAT)Hoe het werkt
A SCREENER resultatenkolom toont normaal de ruwe numerieke waarde van de expressie die eraan is meegegeven. Wanneer de expressie een datum weergeeft, is dat ruwe getal moeilijk te lezen. Het plaatsen van DATEFORMAT na de AS "Column name" clausule vertelt de resultatentabel het getal te interpreteren als een datum in YYYYMMDD vorm en geef het in een leesbaar formaat weer.
De modifier verandert alleen de weergave. De onderliggende waarde blijft numeriek, dus sorteren op de kolom werkt nog steeds op het getal zelf. Omdat YYYYMMDD waarden in dezelfde volgorde sorteren als de datums die ze vertegenwoordigen, werkt chronologisch sorteren zoals verwacht.
DATEFORMAT past van nature bij de datum- en tijdconstanten van de taal. Waarden zoals Today, Yesterday, en OpenDate geven al getallen terug in YYYYMMDD vorm, zodat ze direct in een opgemaakte kolom kunnen worden doorgegeven. Elke andere numerieke expressie wordt geaccepteerd, maar alleen waarden die een geldige kalenderdatum weergeven leveren een zinvolle uitkomst.
Voorbeelden
Voorbeeld 1, Een vaste numerieke datum weergeven (ProScreener)
// A numeric value in YYYYMMDD form, here 2 December 2022
number = 20221202
SCREENER(number AS "Formatted Date" DATEFORMAT)De kolom met het label Formatted Date toont 2 Dec 2022 in plaats van het ruwe getal 20221202. Dit is het canonieke voorbeeld uit de officiële referentie.
Voorbeeld 2, De bardatum tonen voor oversold aandelen (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)Elk overeenkomend instrument verschijnt met de openingsdatum van zijn meest recente bar weergegeven als een leesbare datum, wat nuttig is bij het scannen van markten waarvan de laatste sessie kan verschillen.
Voorbeeld 3, De scandatum toevoegen aan nieuwe highs (ProScreener)
// Stamp each result with the date the scan was run
newHigh = close >= Highest[250](close)
SCREENER[newHigh](Today AS "Scan date" DATEFORMAT)Instrumenten die een slothoogste over 250 bars maken worden vermeld met de huidige datum als een opgemaakte kolom, wat helpt bij het exporteren of archiveren van screener-resultaten.
Veelvoorkomende fouten en valkuilen
- De waarde moet YYYYMMDD coderen.
DATEFORMATconverteert geen timestamps, dagtellingen of willekeurige getallen naar datums. Een waarde zoals1670000000(een Unix-achtige timestamp) of45123wordt weergegeven als een onzinnige datum. Bouw de waarde op als jaar maal 10000 plus maand maal 100 plus dag, of gebruik constanten zoalsTodaydie die vorm al retourneren. - Geen validatie van de datum. De modifier formatteert welke cijfers hij ook ontvangt. Een waarde als
20221399(maand 13, dag 99) wordt niet bij het compileren afgewezen en levert zinloze uitvoer. Controleer de expressie die de kolom vult. - Één format-modifier per kolom.
DATEFORMATkan niet gecombineerd worden metNUMBERFORMAT,PERCENTFORMAT, ofSTRINGFORMATop dezelfde kolom. Kies de enige modifier die bij de data past. - Alleen ProScreener. Het keyword compileert nergens anders. In een indicator wordt datumweergave anders aangepakt, meestal met
DRAWTEXTstijluitvoer, niet metDATEFORMAT.
Gerelateerde instructies
NUMBERFORMAT, kort grote numerieke waarden in een screenerkolom af.PERCENTFORMAT, geeft een waarde in een screenerkolom weer als percentage.STRINGFORMAT, toont een waarde in een screenerkolom precies zoals opgeslagen.SCREENER, definieert de filtervoorwaarde en de resultaatkolom van een screener.TIMEFRAME (PS), stelt het tijdframe in dat door de volgende screenercode wordt gebruikt.Today, de huidige datum in YYYYMMDD-vorm.Yesterday, de vorige kalenderdatum in YYYYMMDD-vorm.OpenDate, de openingsdatum van een bar in YYYYMMDD-vorm.