Jetzt beitreten
ProScreener/proscreener

SCREENER

SCREENER in ProScreener liefert die Instrumente, die den Filterbedingungen entsprechen, mit einem optionalen Sortierkriterium. Syntax, Beispiele und häufige Fehler erklärt.

Syntax

probuilder
SCREENER[conditions]
probuilder
SCREENER[conditions](criterion AS "Column name")

Parameter

NameTypStandardBeschreibung
conditionsboolescher AusdruckerforderlichEine oder mehrere Bedingungen, die ein Instrument erfüllen muss, um in den Ergebnissen zu erscheinen. Kombinieren mit AND, OR, und Klammern.
criterionnumerischer AusdruckkeineOptionaler Wert, der neben jedem passenden Instrument angezeigt und zum Sortieren der Ergebnisliste verwendet wird.
AS "label"ZeichenketteAusdruckstextOptionale Spaltenüberschrift für das Kriterium in der Ergebnistabelle.

So funktioniert es

Ein ProScreener-Programm läuft einmal pro Instrument in der ausgewählten Liste. Der gesamte Code über dem SCREENER-Aufruf berechnet Indikatorwerte und boolesche Flags für dieses Instrument; der SCREENER-Aufruf entscheidet dann, ob das Instrument in die Ergebnisse kommt. Wenn conditions auf dem jüngsten Bar wahr ist, wird das Instrument aufgeführt.

Der optionale criterion gibt jedem Treffer eine numerische Bewertung. ProRealTime™ zeigt die Bewertung in einer eigenen Spalte und sortiert die Ergebnisliste danach, so ordnet ein Screener Kandidaten nach Rang, statt sie nur zu filtern. Der AS "label" Suffix benennt diese Spalte um.

A screener contains exactly one SCREENER instruction, and it replaces RETURN as the program's terminal statement. Conditions built on other timeframes are declared with the ProScreener variant of TIMEFRAME before the flags are computed, as in the first example.

Beispiele

Beispiel 1, Multi-Timeframe-Filter mit MACD und Stochastic (ProScreener)

probuilder
REM Flag 1: weekly MACD below zero but rising
TIMEFRAME(weekly)
MyMACD = MACD[12,26,9](Close)
c1 = MyMACD < 0 AND MyMACD > MyMACD[1]

REM Flag 2: daily Stochastic under 30
TIMEFRAME(daily)
MySTO = Stochastic[14,3](Close)
c2 = MySTO < 30

REM Reference level: yesterday's high
MyStop = High[1]

REM Score: distance from yesterday's high, in percent
Criteria = (Close / MyStop - 1) * 100

REM Flag 3: price no more than 5 percent above that high
c3 = Criteria < 5

SCREENER[c1 AND c2 AND c3](Criteria)

Drei Flags werden in einem einzigen SCREENER-Aufruf kombiniert, und die Treffer werden nach ihrem Abstand zum Hoch des Vortages geordnet. Dies ist das Beispiel aus der offiziellen Referenz.

Beispiel 2, Überverkaufter RSI mit einem Liquiditätsfilter (ProScreener)

probuilder
// Momentum condition: 14-period RSI in oversold territory
myRSI = RSI[14](close)
oversold = myRSI < 30

// Liquidity condition: 20-bar average volume above a floor
liquid = Average[20](volume) > 500000

SCREENER[oversold AND liquid](myRSI AS "RSI 14")

Es werden nur Instrumente aufgeführt, die sowohl überverkauft als auch aktiv gehandelt sind, sortiert nach ihrem RSI-Wert unter einer eigenen Spaltenüberschrift.

Beispiel 3, Nähe zum 52-Wochen-Hoch (ProScreener)

probuilder
// Highest weekly high over the past 52 weeks
TIMEFRAME(weekly)
yearHigh = Highest[52](high)

// Compare the daily close against that level
TIMEFRAME(daily)
distance = (close / yearHigh - 1) * 100

// Keep instruments within 3 percent of the high
near = distance > -3

SCREENER[near](distance AS "Pct vs 52w high")

Der Screener zeigt Instrumente, die nahe ihrem 52-Wochen-Hoch handeln, und ordnet sie danach, wie nah sie sind, ausgedrückt in Prozent.

Häufige Fehler und Stolperfallen

  • Mehr als ein SCREENER-Aufruf. Ein Programm akzeptiert genau einen SCREENER-Befehl, platziert am Ende. Die Ausgabe auf zwei Aufrufe zu verteilen kompiliert nicht; führen Sie die Bedingungen zusammen mit AND oder OR stattdessen.
  • RETURN in a screener. ProScreener has no RETURN. Code ported from an indicator must replace its RETURN line with a SCREENER call, moving plotted values into the criterion slot if they should stay visible.
  • Nicht-numerisches Kriterium. Das Sortierkriterium muss sich auf eine Zahl reduzieren lassen. Die Übergabe eines booleschen Flags funktioniert technisch als 0 oder 1, erzeugt aber eine bedeutungslose Rangfolge; berechnen Sie stattdessen einen expliziten Score.
  • Falscher Gültigkeitsbereich. In Indikator- oder Strategiecode eingefügtes SCREENER lässt sich nicht kompilieren, und Strategiebefehle wie BUY oder SELL schlagen innerhalb eines Screeners fehl. Die Signallogik lässt sich zwischen den Sprachen übertragen, Ausgabe- und Orderbefehle nicht.
  • TIMEFRAME (PS), die ProScreener-Variante von TIMEFRAME für Multi-Timeframe-Bedingungen.
  • EQUITYFRAME, schränkt ein, welche Instrumente ein Screener durchsucht.
  • EstimatedVolume, projiziertes Volumen am Periodenende, nützlich in Liquiditätsfiltern.
  • NUMBERFORMAT, formatiert die Kriteriumsspalte als Zahl.
  • PERCENTFORMAT, formatiert die Kriteriumsspalte als Prozentwert.
  • STRINGFORMAT, ordnet Kriteriumswerten Textbeschriftungen zu.
  • DATEFORMAT, formatiert die Kriteriumsspalte als Datum.