Únete hoy
ProScreener/proscreener

SCREENER

SCREENER en ProScreener devuelve los instrumentos que cumplen las condiciones de filtrado, con un criterio de ordenación opcional. Sintaxis, ejemplos y errores habituales explicados.

Sintaxis

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

Parámetros

NombreTipoPor defectoDescripción
conditionsexpresión booleanaobligatorioUna o más condiciones que un instrumento debe cumplir para aparecer en los resultados. Combínalas con AND, OR, y paréntesis.
criterionexpresión numéricaningunoValor opcional que se muestra junto a cada instrumento coincidente y que se usa para ordenar la lista de resultados.
AS "label"cadenatexto de la expresiónEncabezado de columna opcional para el criterio en la tabla de resultados.

Cómo funciona

Un programa ProScreener se ejecuta una vez por cada instrumento de la lista seleccionada. Todo el código situado por encima de la llamada a SCREENER calcula valores de indicadores y marcadores booleanos para ese instrumento; la llamada a SCREENER decide después si el instrumento entra en los resultados. Cuando conditions se evalúa como cierto en el bar más reciente, el instrumento aparece listado.

El opcional criterion asigna a cada coincidencia una puntuación numérica. ProRealTime™ muestra la puntuación en una columna propia y ordena la lista de resultados por ella, que es la forma en que un screener clasifica candidatos en lugar de solo filtrarlos. El AS "label" sufijo renombra esa columna.

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.

Ejemplos

Ejemplo 1, Filtro MACD y Stochastic multi-marco temporal (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)

Se combinan tres condiciones en una sola llamada a SCREENER, y las coincidencias se clasifican por su distancia al máximo del día anterior. Este es el ejemplo de la referencia oficial.

Ejemplo 2, RSI en sobreventa con un filtro de liquidez (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")

Solo se listan los instrumentos que están a la vez en sobreventa y activamente negociados, ordenados por su valor de RSI bajo un encabezado de columna personalizado.

Ejemplo 3, Proximidad al máximo de 52 semanas (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")

El screener muestra los instrumentos que cotizan cerca de su máximo de 52 semanas y los clasifica según lo cerca que están, expresado en porcentaje.

Errores y trampas habituales

  • Más de una llamada a SCREENER. Un programa acepta exactamente una instrucción SCREENER, colocada al final. Repartir la salida entre dos llamadas no compila; combina las condiciones con AND o OR en su lugar.
  • 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.
  • Criterio no numérico. El criterio de ordenación debe reducirse a un número. Pasar un indicador booleano funciona técnicamente como 0 o 1, pero produce una clasificación sin sentido; calcula en su lugar una puntuación explícita.
  • Ámbito incorrecto. SCREENER pegado en el código de un indicador o de una estrategia no compila, y las instrucciones de estrategia como BUY o SELL fallan dentro de un screener. La lógica de señales se traslada entre los lenguajes, las instrucciones de salida y de órdenes no.
  • TIMEFRAME (PS), la variante de TIMEFRAME en ProScreener para condiciones multi-marco temporal.
  • EQUITYFRAME, restringe qué instrumentos analiza un screener.
  • EstimatedVolume, volumen proyectado al final del periodo, útil en filtros de liquidez.
  • NUMBERFORMAT, formatea la columna del criterio como número.
  • PERCENTFORMAT, formatea la columna del criterio como porcentaje.
  • STRINGFORMAT, asigna etiquetas de texto a los valores del criterio.
  • DATEFORMAT, formatea la columna del criterio como fecha.