Jetzt beitreten
ProScreener/proscreener

DATEFORMAT

DATEFORMAT ist ein Anzeige-Modifikator in ProScreener, der einen numerischen YYYYMMDD-Wert in einer SCREENER-Ergebnisspalte als lesbares Datum darstellt, zum Beispiel 2 Dec 2022.

Syntax

probuilder
SCREENER(value AS "Column name" DATEFORMAT)

So funktioniert es

A SCREENER Ergebnisspalte zeigt normalerweise den rohen numerischen Wert des übergebenen Ausdrucks. Wenn der Ausdruck ein Datum kodiert, ist diese rohe Zahl schwer zu lesen. Das Setzen von DATEFORMAT nach dem AS "Column name" Klausel weist die Ergebnistabelle an, die Zahl als Datum zu interpretieren, im YYYYMMDD Form und stellen sie in einem menschenlesbaren Format dar.

Der Modifikator ändert nur die Darstellung. Der zugrunde liegende Wert bleibt numerisch, sodass die Sortierung der Spalte weiterhin auf der Zahl selbst arbeitet. Da YYYYMMDD Werte in derselben Reihenfolge sortieren wie die Daten, die sie darstellen, verhält sich die chronologische Sortierung wie erwartet.

DATEFORMAT passt natürlich zu den Datums- und Zeitkonstanten der Sprache. Werte wie Today, Yesterday, und OpenDate geben bereits Zahlen in YYYYMMDD Form, sodass sie direkt an eine formatierte Spalte übergeben werden können. Jeder andere numerische Ausdruck wird akzeptiert, aber nur Werte, die ein gültiges Kalenderdatum kodieren, liefern ein sinnvolles Ergebnis.

Beispiele

Beispiel 1, Ein festes numerisches Datum anzeigen (ProScreener)

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

Die Spalte mit der Bezeichnung Formatted Date zeigt 2 Dec 2022 anstelle der reinen Zahl 20221202. Dies ist das kanonische Beispiel aus der offiziellen Referenz.

Beispiel 2, Das Bar-Datum für überverkaufte Aktien anzeigen (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)

Jedes passende Instrument erscheint mit dem Eröffnungsdatum seines aktuellsten Bars als lesbares Datum, was beim Scannen von Märkten nützlich ist, deren letzte Sitzung abweichen kann.

Beispiel 3, Das Scan-Datum an neue Hochs anfügen (ProScreener)

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

Instrumente, die ein Schlusskurshoch über 250 Bars erreichen, werden mit dem aktuellen Datum als formatierte Spalte aufgeführt, was beim Exportieren oder Archivieren von Screener-Ergebnissen hilft.

Häufige Fehler und Stolperfallen

  • Der Wert muss YYYYMMDD codieren. DATEFORMAT wandelt keine Zeitstempel, Tageszähler oder beliebigen Zahlen in Datumswerte um. Ein Wert wie 1670000000 (ein Zeitstempel im Unix-Stil) oder 45123 wird als unsinniges Datum dargestellt. Bilden Sie den Wert als Jahr mal 10000 plus Monat mal 100 plus Tag, oder verwenden Sie Konstanten wie Today die diese Form bereits zurückgeben.
  • Keine Validierung des Datums. Der Modifikator formatiert die Ziffern, die er erhält. Ein Wert wie 20221399 (Monat 13, Tag 99) wird zur Compile-Zeit nicht abgewiesen und erzeugt eine bedeutungslose Ausgabe. Prüfen Sie den Ausdruck, der die Spalte speist.
  • Ein Formatmodifikator pro Spalte. DATEFORMAT kann nicht kombiniert werden mit NUMBERFORMAT, PERCENTFORMAT, oder STRINGFORMAT auf dieselbe Spalte. Wählen Sie den einen Modifikator, der zu den Daten passt.
  • Nur ProScreener. Der Befehl kompiliert nirgendwo sonst. In einem Indikator wird die Datumsanzeige anders gehandhabt, typischerweise mit DRAWTEXT Stil-Ausgabe, nicht mit DATEFORMAT.
  • NUMBERFORMAT, kürzt große Zahlenwerte in einer Screener-Spalte ab.
  • PERCENTFORMAT, stellt einen Wert einer Screener-Spalte als Prozentsatz dar.
  • STRINGFORMAT, zeigt einen Wert einer Screener-Spalte genau so, wie er gespeichert ist.
  • SCREENER, definiert die Filterbedingung und die Ergebnisspalte eines Screeners.
  • TIMEFRAME (PS), legt die Zeiteinheit fest, die der folgende Screener-Code verwendet.
  • Today, das aktuelle Datum in der Form YYYYMMDD.
  • Yesterday, das vorherige Kalenderdatum in der Form YYYYMMDD.
  • OpenDate, das Eröffnungsdatum eines Bars in der Form YYYYMMDD.