Word nu lid
ProScreener/proscreener

SCREENER

SCREENER in ProScreener geeft de instrumenten terug die aan de filtercondities voldoen, met een optioneel sorteercriterium. Syntaxis, voorbeelden en veelvoorkomende fouten uitgelegd.

Syntaxis

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

Parameters

NaamTypeStandaardBeschrijving
conditionsbooleaanse expressieverplichtEen of meer voorwaarden waaraan een instrument moet voldoen om in de resultaten te verschijnen. Combineer met AND, OR, en haakjes.
criterionnumerieke expressiegeenOptionele waarde die naast elk overeenkomend instrument wordt weergegeven en die wordt gebruikt om de resultatenlijst te sorteren.
AS "label"stringexpressietekstOptionele kolomkop voor het criterium in de resultatentabel.

Hoe het werkt

Een ProScreener-programma loopt eenmaal per instrument in de geselecteerde lijst. Alle code boven de SCREENER-aanroep berekent indicatorwaarden en booleaanse vlaggen voor dat instrument; de SCREENER-aanroep beslist daarna of het instrument in de resultaten terechtkomt. Wanneer conditions waar is op de meest recente bar, wordt het instrument vermeld.

De optionele criterion geeft elke match een numerieke score. ProRealTime™ toont de score in een aparte kolom en sorteert de resultatenlijst daarop, wat de manier is waarop een screener kandidaten rangschikt in plaats van ze alleen te filteren. De AS "label" suffix hernoemt die kolom.

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.

Voorbeelden

Voorbeeld 1, Multi-tijdframe MACD- en Stochastic-filter (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)

Drie vlaggen worden gecombineerd in één SCREENER-aanroep, en de matches worden gerangschikt op hun afstand tot de high van de vorige dag. Dit is het voorbeeld uit de officiële referentie.

Voorbeeld 2, Oversold RSI met een liquiditeitsfilter (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")

Alleen instrumenten die zowel oversold als actief verhandeld zijn worden vermeld, gesorteerd op hun RSI-waarde onder een eigen kolomkop.

Voorbeeld 3, Nabijheid van de 52-weeks high (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")

De screener haalt instrumenten naar boven die dicht bij hun 52-weeks high handelen en rangschikt ze op hoe dichtbij ze zijn, uitgedrukt in procent.

Veelvoorkomende fouten en valkuilen

  • Meer dan één SCREENER-aanroep. Een programma accepteert precies één SCREENER-instructie, aan het eind geplaatst. Uitvoer over twee aanroepen splitsen compileert niet; voeg de voorwaarden samen met AND of OR in plaats daarvan.
  • 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.
  • Niet-numeriek criterium. Het sorteercriterium moet herleidbaar zijn tot een getal. Een booleaanse vlag doorgeven werkt technisch als 0 of 1, maar levert een zinloze rangschikking op; bereken in plaats daarvan een expliciete score.
  • Verkeerd bereik. SCREENER die in indicator- of strategiecode wordt geplakt compileert niet, en strategie-instructies zoals BUY of SELL werken niet binnen een screener. Signaallogica is overdraagbaar tussen de talen, output- en orderinstructies niet.
  • TIMEFRAME (PS), de ProScreener-variant van TIMEFRAME voor multi-tijdframecondities.
  • EQUITYFRAME, beperkt welke instrumenten een screener scant.
  • EstimatedVolume, geprojecteerd volume aan het einde van de periode, nuttig in liquiditeitsfilters.
  • NUMBERFORMAT, formatteert de criteriumkolom als een getal.
  • PERCENTFORMAT, formatteert de criteriumkolom als een percentage.
  • STRINGFORMAT, koppelt criteriumwaarden aan tekstlabels.
  • DATEFORMAT, formatteert de criteriumkolom als een datum.