AYUDA CON CREAR NUEVA LISTA SCREENER

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #250023 quote
    Javier Suarez Vence
    Participant
    New
    Intento crear una lista con ciertas condiciones : -Rangos laterales , alta volatilidad, buenos fundamentales… Gemini me dice que tengo que hacer esto pero no tengo ni idea de cómo avanzar  . Solicito ayuda incluida la profesional para poder configurarlo . Gracias de antemano :
      ProRealTime no solo está capacitado para esto, sino que es una herramienta mucho más potente y personalizable que Finviz. Es como pasar de un coche de calle a un coche de Fórmula 1: requiere un poco más de configuración, pero los resultados son de un nivel superior. La herramienta que usarás dentro de ProRealTime es el ProScreener. La gran diferencia con Finviz es que en ProScreener, además de menús, puedes programar tus propias condiciones con un lenguaje muy sencillo. Aquí te ilustro cómo replicaríamos nuestro sistema de “caza” en ProRealTime.
     

    ## Guía Práctica: Usando el ProScreener de ProRealTime

      Abre la ventana de ProScreener (“Listas” -> “ProScreener”) y crea uno nuevo. Lo haremos en tres fases, igual que antes.  

    Fase 1: Configurar el Universo y los Fundamentales

      En la configuración del ProScreener, primero defines los mercados (ej. Nasdaq, NYSE). Luego, añades las condiciones fundamentales. En ProRealTime, esto se hace añadiendo “condiciones” a tu código. El sistema te ayuda a encontrarlas. El código para nuestros filtros de calidad sería algo así:
    // --- FASE 1: FILTROS FUNDAMENTALES ---
    // c1: Capitalización mayor a 10,000 millones
    c1 = MarketCap > 10000
    
    // c2: PER por debajo de 30
    c2 = PEratio < 30
    
    // c3: Crecimiento de beneficios en los últimos 5 años > 5%
    c3 = EPSGrowth5Y > 5
    
     

    Fase 2: Programar el Patrón de Rango Lateral

      Aquí es donde ProScreener brilla. Podemos traducir nuestras condiciones técnicas a código simple para que el screener las busque por nosotros.
    // --- FASE 2: FILTROS TÉCNICOS DE RANGO ---
    // Media Móvil Simple de 200 periodos
    sma200 = Average[200](close)
    
    // Media Móvil Simple de 50 periodos
    sma50 = Average[50](close)
    
    // c4: El precio está por encima de su media de 200 (tendencia a largo plazo sana)
    c4 = close > sma200
    
    // c5: El precio está cerca de su media de 50 (consolidando, en rango)
    // Por ejemplo, en un rango del +/- 5% alrededor de la media
    c5 = close > sma50 * 0.95 AND close < sma50 * 1.05
    
     

    Fase 3: La Volatilidad Implícita (El Reto y la Solución)

      Aquí nos encontramos con el punto más avanzado. ProRealTime, por defecto, no incluye el “IV Rank” como un indicador estándar que puedas llamar directamente en el ProScreener. Sin embargo, tienes dos caminos profesionales para solucionarlo: Camino A (El Ideal): Importar un Indicador Personalizado
    • La comunidad de ProRealTime es muy activa. En foros como ProRealCode.com, muchos programadores comparten indicadores personalizados de forma gratuita.
    • Tu tarea sería buscar e importar un indicador de “Implied Volatility Rank” o “IV Percentile”.
    • Una vez lo tienes en tu plataforma, puedes añadir la condición final a tu screener: // c6: El IV Rank es mayor de 30 c6 = CALL_INDICATOR[MiIVRank] > 30
    Camino B (El Manual, para empezar):
    • No incluyes el filtro de volatilidad en el ProScreener.
    • Ejecutas el screener solo con las Fases 1 y 2. Esto te dará una lista corta de empresas de calidad que están en un rango lateral.
    • Luego, haces el paso final a mano: revisas los 5-10 finalistas en tu bróker (IBKR) o en una web como Barchart para ver su IV Rank y elegir los que superen el nivel 30.
    Finalmente, tu código en ProScreener para ejecutar el escaneo completo (usando el Camino B) se vería así:
    // --- FASE 1: FILTROS FUNDAMENTALES ---
    c1 = MarketCap > 10000
    c2 = PEratio < 30
    c3 = EPSGrowth5Y > 5
    
    // --- FASE 2: FILTROS TÉCNICOS DE RANGO ---
    sma200 = Average[200](close)
    sma50 = Average[50](close)
    c4 = close > sma200
    c5 = close > sma50 * 0.95 AND close < sma50 * 1.05
    
    // --- EJECUTAR EL SCREENER ---
    // Devolver todos los valores que cumplen TODAS las condiciones
    SCREENER[c1 AND c2 AND c3 AND c4 AND c5]
    
    Como puedes ver, ProRealTime te exige un poco más de configuración inicial, pero a cambio te da un escáner 100% a tu medida, preciso y automatizado que trabaja para ti.
    #250032 quote
    Iván González
    Moderator
    Master
    Buenas! Creo que Gemini te la ha jugado un poquito… Realmente no se pueden obtener datos fundamentales con el screener de PRT. En concreto las condiciones 2 y 3 no son viables. Por otro lado el indicador IV percentile como bien dice la IAno está en la plataforma, pero se puede programar. Aquí tienes el indicador percentil.
    length = 252//input(title="Days Back", defval=252, minval=20, maxval=505)
    userDeviation = 1//input (title="Std Dev", defval=1, minval=1, maxval=3)
    
    // Calculate Historical IV
    priceReturns = (close-close[1])/close[1]
    deviation = std[30](priceReturns)
    annualizedVolatility = deviation * 16
    
    // Get the High and Low over the past # of days input
    lowovertimespan = lowest[length](annualizedVolatility)
    highovertimespan = highest[length](annualizedVolatility)
    
    //Calculate IV Rank
    ivRank = round((annualizedVolatility-lowovertimespan)/(highovertimespan-lowovertimespan)*100)
    
    //Calculate IV Percentile
    count = 0.0
    for i = 1 to length do
    if annualizedVolatility > annualizedVolatility[i] then
    count=count+1
    endif
    next   
    ivPercentile = round(count/length*100)
    
    return ivPercentile as "% of days below the IV" coloured("orange"), ivRank as "IV Rank Comp to High Low" coloured("Green")
    En cuanto al screener, aquí tienes:
    // --- FASE 1: FILTROS FUNDAMENTALES ---
    c1 = average[20](close*volume) > 10000000
     
    // --- FASE 2: FILTROS TÉCNICOS DE RANGO ---
    sma200 = Average[200](close)
    sma50 = Average[50](close)
    c2 = close > sma200
    c3 = close > sma50 * 0.95 AND close < sma50 * 1.05
    
    // Percentil
    length = 252
    // Calculate Historical IV
    priceReturns = (close-close[1])/close[1]
    deviation = std[30](priceReturns)
    annualizedVolatility = deviation * 16
    
    //Calculate IV Percentile
    count = 0.0
    for i = 1 to length do
    if annualizedVolatility > annualizedVolatility[i] then
    count=count+1
    endif
    next
    ivPercentile = round(count/length*100)
    
    c4 = ivPercentile > 30
    
    screener[c1 and c2 and c3 and c4]
    
    robertogozzi and Javier Suarez Vence thanked this post
    #250059 quote
    Javier Suarez Vence
    Participant
    New
    Jolines Iván, muchísimas gracias . Lamento no poder corresponderte en el área informática pero te quedo super agradecido y espero poderte corresponder de alguna otra forma en alguna ocasión.
Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.

AYUDA CON CREAR NUEVA LISTA SCREENER


Soporte ProScreener

New Reply
Summary

This topic contains 2 replies,
has 2 voices, and was last updated by Javier Suarez Vence
5 months ago.

Topic Details
Forum: Soporte ProScreener
Language: Spanish
Started: 08/24/2025
Status: Active
Attachments: No files
Logo Logo
Loading...