Ayuda en Screener con zigzag

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #253592 quote
    Maricarmen
    Participant
    Junior

    Buenas:

    Me podrían ayudar a reprogramar, pues tengo un fallo y no se me ejecuta, lo que deseaba es lo siguiente:

    • Rotura de precio en la linea superior.
    • La linea superior que tocase en tres puntos
    • Y en la linea inferior que tocase 2 puntos, siendo el primero mayor o igual al segundo punto.
    • Gracias.
    longitud = 50
    zigzagHigh = ZigZag[longitud](High)
    zigzagLow  = ZigZag[longitud](Low)
    max1 = zigzagHigh[4]
    max2 = zigzagHigh[2]
    max3 = zigzagHigh[0]
    min1 = zigzagLow[2]
    min2 = zigzagLow[0]
    tendenciaDesc = (max1 > max2) AND (max2 > max3)
    baseApoyo = (min2 >= min1)
    esCunaDesc = tendenciaDesc AND baseApoyo
    pendienteSup = (max3 – max1) / 4.0
    pendienteInf = (min2 – min1) / 2.0
    lineaSup = max3 + pendienteSup * 2.0
    lineaInf = min2 + pendienteInf * 1.0
    rupturaAlcista = 0
    IF esCunaDesc THEN
        rupturaAlcista = close > lineaSup
    ENDIF
    SCREENER[rupturaAlcista](close)
    #253632 quote
    Iván González
    Moderator
    Master

    Buenas. Revisando tu código veo que estás utilizando zigzag pero estás cogiendo la opción %.

    zigzagHigh = ZigZag[longitud](high) // longitud es porcentaje
    zigzagHigh = ZigZagpoint[longitud](high)// longitud son puntos

    Ya de primeras no te saldría nada porque estás calculando un zigzag con variaciones de 50%.

    Una cosa que yo personalmente hago siempre antes de crear un screener es programar un indicador para que visualmente me muestre las señales y lo que estoy buscando.
    Otro error o posible error que veo en tu código, no sé si es lo que quieres, es que zigzagLow[0] y zigzagHigh[0] son realmente el minimo y el máximo de esta barra.

    Si lo que buscas son los puntos pivote que se generan cuando tienes un zigzag entonces tendrás que calcular las coordenadas x,y del zigzag en el momento que hay un pivote. Esto se hace así:

    longitud = 50
    
    zigzagHigh = ZigZagpoint[longitud](high)
    zigzagLow  = ZigZagpoint[longitud](Low)
    
    // Calcular x,y del pivote High
    if zigzagHigh<zigzagHigh[1] and zigzagHigh[1]>zigzagHigh[2] then
       ispivotHigh=1
       max1=max2
       max1idx=max2idx
       max2=max3
       max2idx=max3idx
       max3=high[1]
       max3idx=barindex[1]
       drawpoint(max3idx,max3,2)coloured("blue")
    endif
    
    // Calcular x,y del pivote Low
    if zigzagLow>zigzagLow[1] and zigzagLow[1]<zigzagLow[2] then
       ispivotLow=1
       min1=min2
       min1idx=min2idx
       min2=low[1]
       min2idx=barindex[1]
       drawpoint(min2idx,min2,2)coloured("red")
    endif
    
    return zigzagHigh coloured("blue"), zigzagLow coloured("red")

    Ahora con esto ya podrías empezar a calcular las rectas de tendencia y mostrarlas cuando se cumplan las condiciones que buscas.

    robertogozzi thanked this post
Viewing 2 posts - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.

Ayuda en Screener con zigzag


ProScreener: Buscadores de Mercado y Rastreo

New Reply
Author
author-avatar
Maricarmen @maricarmen Participant
Summary

This topic contains 1 reply,
has 2 voices, and was last updated by Iván González
3 months, 2 weeks ago.

Topic Details
Forum: ProScreener: Buscadores de Mercado y Rastreo
Language: Spanish
Started: 11/13/2025
Status: Active
Attachments: No files
Logo Logo
Loading...