TIMEFRAME (PS)
TIMEFRAME in ProScreener legt die Zeiteinheit fest, die von allen folgenden Codezeilen verwendet wird, und ermöglicht Screens, die tägliche, wöchentliche und Intraday-Bedingungen kombinieren.
Syntax
TIMEFRAME(time_period)Parameter
| Name | Typ | Beschreibung |
|---|---|---|
time_period | Schlüsselwort | Die Zeiteinheit, die auf die folgenden Zeilen angewendet wird, zum Beispiel 15 minutes, 1 hour, daily, weekly, oder monthly. |
So funktioniert es
Ein ProScreener bewertet normalerweise jeden Ausdruck auf der in den Screener-Einstellungen gewählten Zeiteinheit. Ein TIMEFRAME Aufruf ändert diesen Kontext, sodass Kurskonstanten und Indikatoraufrufe in den folgenden Zeilen auf der neuen Zeiteinheit berechnet werden. Der Wechsel bleibt wirksam, bis ein weiterer TIMEFRAME Aufruf erscheint, wodurch ein einzelner Screener Bedingungen aus mehreren Zeiteinheiten mischen kann.
Das Standardmuster berechnet die Bedingungen jeder Zeiteinheit in boolesche Variablen und kombiniert diese Variablen dann im abschließenden SCREENER Aufruf. Variablen behalten die ihnen zugewiesenen Werte, unabhängig davon, welche Zeiteinheit bei der Zuweisung aktiv war, ein wöchentliches Kreuzungs-Flag kann daher frei mit einem täglichen Überverkauft-Flag kombiniert werden.
Das Schlüsselwort wird genauso geschrieben wie der Multi-Zeiteinheiten-Befehl in automatisierten Strategien, aber die beiden sind getrennte Funktionen. Die Strategie-Variante, behandelt unter TIMEFRAME (PB/PO), steuert, wie ein laufendes System Daten abtastet, und unterstützt die UPDATEONCLOSE und DEFAULT Modifikatoren. Die ProScreener-Variante ist einfacher, sie leitet lediglich den Datenkontext der folgenden Codezeilen um. Code kann nicht ohne Prüfung zwischen den beiden Umgebungen kopiert werden.
Beispiele
Beispiel 1, Wöchentliche MACD-Kreuzung mit täglich überverkaufter Stochastik (ProScreener)
// Compute MACD on the weekly timeframe
TIMEFRAME(weekly)
weeklyMACD = MACD[12,26,9](Close)
bullishCrossover = weeklyMACD crosses over weeklyMACD[1]
// Compute the Stochastic on the daily timeframe
TIMEFRAME(daily)
dailySto = Stochastic[14,3](Close)
oversold = dailySto < 30
// Combine both timeframes in the screener condition
SCREENER[bullishCrossover AND oversold]Zwei Indikatoren werden auf verschiedenen Zeiteinheiten ausgewertet und zu einer Bedingung zusammengeführt. Dies ist das kanonische Beispiel aus der offiziellen Referenz.
Beispiel 2, Wöchentlicher Trendfilter mit einem täglichen Pullback (ProScreener)
// Weekly uptrend qualifier
TIMEFRAME(weekly)
weeklyTrend = close > Average[30](close)
// Daily pullback that holds above the 20-bar average
TIMEFRAME(daily)
dailyMA = Average[20](close)
pullback = low <= dailyMA AND close > dailyMA
SCREENER[weeklyTrend AND pullback](close AS "Close")Es werden nur Instrumente zurückgegeben, die sich in einem wöchentlichen Aufwärtstrend befinden, auf ihren täglichen 20-Bar-Durchschnitt zurückgefallen sind und wieder darüber geschlossen haben.
Beispiel 3, Intraday-Volumenspitze innerhalb eines täglichen Aufwärtstrends (ProScreener)
// Volume spike on the 15-minute timeframe
TIMEFRAME(15 minutes)
volSpike = Volume > 3 * Average[20](Volume)
// Daily trend qualifier
TIMEFRAME(daily)
uptrend = close > Average[50](close)
SCREENER[volSpike AND uptrend](close AS "Last price")Ein kurzfristiger Aktivitätsschub wird nur gemeldet, wenn die höhere Zeiteinheit einen Aufwärtstrend bestätigt, eine übliche Methode, um Rauschen in Intraday-Scans zu reduzieren.
Häufige Fehler und Stolperfallen
- Die Umschaltung bleibt bestehen. Jede Zeile nach einem
TIMEFRAMEAufruf läuft bis zum nächsten Aufruf in dieser Zeiteinheit. Eine Bedingung, die unter einem Wochenblock ohne Zurückschalten geschrieben wird, wird stillschweigend auf Wochendaten berechnet, eine häufige Ursache für Screens, die zu wenige oder falsche Ergebnisse liefern. - Nicht austauschbar mit der Strategievariante.
UPDATEONCLOSEundDEFAULTgehören zuTIMEFRAME (PB/PO)und werden in ProScreener nicht akzeptiert. Strategiecode in einen Screener einzufügen lässt sich nicht kompilieren oder verhält sich anders. - Begrenzte Historie auf kleinen Zeiteinheiten. ProScreener hält eine begrenzte Menge an Historie pro Zeiteinheit. Tiefe Rückblicke wie
Average[200]auf einer Minuten-Zeiteinheit kann die verfügbaren Daten überschreiten und verhindern, dass die Bedingung wie erwartet ausgewertet wird. - Vor dem Kombinieren berechnen. Speichern Sie das Ergebnis jeder Zeiteinheit in einer Variablen und kombinieren Sie die Variablen im abschließenden
SCREENERAufruf. Wird ein Indikator direkt in der Screener-Bedingung referenziert, verwendet er die zuletzt aktive Zeiteinheit, was leicht falsch gerät.
Verwandte Befehle
TIMEFRAME (PB/PO), die ProBacktest- und ProOrder-Variante dieses Befehls.SCREENER, definiert die Filterbedingung und die Ergebnisspalte eines Screeners.EQUITYFRAME, schaltet einen Screener auf Daten eines anderen Wertpapiers um.MACD, Moving Average Convergence Divergence Indikator.Stochastic, der %K-Stochastik-Oszillator.Average, gleitender Durchschnitt über eine gewählte Periode.EstimatedVolume, projiziertes Endvolumen des aktuellen Bars in ProScreener.RSI, Relative Strength Index Oszillator.