Porcentaje correccion-retroceso desde maximos

Viewing 15 posts - 1 through 15 (of 26 total)
  • Author
    Posts
  • #206052 quote
    nautilus23
    Participant
    Average

    Buenos días, quisiera por favor ayuda para un screener que calcule el porcentaje de retroceso desde el punto A al punto B tal como se observa en el gráfico. El punto A es el máximo alcanzado en 250 sesiones– A = highest[250](HIGH)–, a partir de ahí se produce una corrección-retroceso hasta el punto B y lo que me interesa calcular es ese porcentaje de retroceso que tal como se observa en el caso de la imagen adjunta es del 61%.

    ¿Alguien me puede ayudar?
    Muchas gracias.

    2022-12-20_00h55_52.png 2022-12-20_00h55_52.png
    #206059 quote
    robertogozzi
    Moderator
    Master

    ¿Puedes adjuntar el gráfico con el botón “Select File“?

    nautilus23 thanked this post
    #206065 quote
    nautilus23
    Participant
    Average

    Claro que si Roberto, ha sido un error por mi parte.

    Muchas gracias

    2022-12-20_00h55_52-1.png 2022-12-20_00h55_52-1.png
    #206082 quote
    nautilus23
    Participant
    Average

    Roberto, adjunto un nuevo gráfico con datos actuales qué tal vez sea más útil ya que la anterior es de hace dos años. En este caso se observa que el porcentaje de corrección-retroceso es de -22,90%.

    También quiero quiero añadir una condición que se me ha olvidado incluir en el primer mensaje y es que el máximo del día del cálculo del screener tiene que ser inferior al máximo de 250 sesiones es decir:

    cond = High < highest[250](High)

     

    Un saludo

    2022-12-20_11h48_24.png 2022-12-20_11h48_24.png
    #206322 quote
    nautilus23
    Participant
    Average

    Roberto, no sé si ha quedado bien adjuntado el gráfico, si es necesario lo intento otra vez.

    Un saludo.

    #206338 quote
    robertogozzi
    Moderator
    Master

    Ahi està:

    p           = 250              //250 periods
    PerCent     = 22.9             //22.90%
    HH          = highest[p](high)
    LL          = lowest[p](low)
    Diff        = HH - LL
    Retracement = HH - round(Diff * PerCent / 100,1)
    Trend       = 0
    FOR i = 0 TO (p - 1)
       IF high[i] = HH THEN
          Trend = 1
          BREAK
       ENDIF
       IF low[i] = LL THEN
          Trend = -1
          BREAK
       ENDIF
    NEXT
    Signal = 0
    IF Trend = 1 THEN
       Signal = (close <= Retracement)
    ENDIF
    SCREENER[Signal]
    nautilus23 thanked this post
    #206356 quote
    nautilus23
    Participant
    Average
    Muchas gracias Roberto.
    Lo he probado y me salen resultados extraños que en mi opinion son debidos a la línea cuatro del código.
    LL  = lowest[p](low)
    Esta línea calcula el mínimo de 250 periodos, sin embargo el punto B es el mínimo alcanzado en la corrección que como se aprecia en el último gráfico insertado (DTW) no es el mínimo de las 250 periodos que estaría alrededor de 10 sino que su valor  estaría alrededor de 28 tal como se ve en el gráfico.
    Por tanto si cambiamos esta línea saldrían los resultados correctos. Esta es mi opinión pero dados mis escasos conocimientos de programación es posible que la solución sea otra, en cualquier caso lo importante es que haya quedado clara la idea de lo que busco.
    Es decir, cronológicamente primero tendríamos el mínimo de 250 periodos más tarde el punto A que es el máximo de 256 periodos y finalmente el punto B que sería el mínimo alcanzado después del máximo de 250 periodos.
    Un saludo.
    #207396 quote
    robertogozzi
    Moderator
    Master

    Pido disculpas por la demora.
    Releo todo y creo que entiendo lo que quieres.
    Me parece que esto está bien. Indica el % de retroceso:

    p           = 250                //250 periods
    HH          = highest[p](high)
    LL          = lowest[p](low)
    Diff1       = abs(HH - LL)
    Trend       = 0
    FOR i = 0 TO (p - 1)
       IF high[i] = HH THEN
          Trend = 1
          MyBar = BarIndex[i]
          BREAK
       ENDIF
       IF low[i] = LL THEN
          Trend = -1
          MyBar = BarIndex[i]
          BREAK
       ENDIF
    NEXT
    PerCent = 0
    IF Trend = 1 THEN
       Retracement = lowest[max(1,BarIndex - MyBar)](low)
       Diff2       = HH - Retracement
       PerCent     = round(Diff2 * 100 / Diff1,1)
    ENDIF
    SCREENER[PerCent](Percent AS "%Pullback")
    nautilus23 thanked this post
    #210949 quote
    nautilus23
    Participant
    Average
    Buenas noches Roberto.
    Muchas gracias por tu contestación. No la había visto hasta esta tarde.
    La he puesto en práctica y los resultados que me salen no son los que buscaba. No puedo valorar el código porque no lo entiendo ya que  prácticamente no sé nada de programación. Te envío nuevas imágenes explicativas.
    El porcentaje del retroceso se debería obtener entre el punto HH = highest[p](high) (linea 2 del codigo ) que es el máximo y el punto LL   = lowest[p](low) (linea 3 del codigo) que es la mínima obtenida después del máximo hasta el día de hoy. Si se repite el cálculo en los próximos días el porcentaje de retroceso no debería variar siempre y cuando el precio no alcanzará ni una nueva máxima ni una nueva mínima.
    Para el ticker EPSN, como se aprecia en la imagen 1, se obtiene un %pullback de 95,8 que según la imagen 2 es el 31,65. En este caso los datos para el calculo deben ser para HH el 7,77 y para  LL  5,29 como se aprecia en la imagen 3. Desconozco que datos ha tomado el proscreener para obtener el %pullback de 98,8.
    Espero que con los las imágenes y las explicaciones se haya clarificado la idea y te ayuden en la solución.
    Te reitero mi agradecimiento por tu ayuda.
    Un saludo.
    imagen1.png imagen1.png imagen2.png imagen2.png imagen-3.png imagen-3.png imagen4.png imagen4.png
    #210976 quote
    nautilus23
    Participant
    Average
    Buenos días Roberto.
    En mi opinión el valor p de la Línea 1 ,es decir 250, se debe utilizar solo para el cálculo del HH de la línea 2 pero no para el LL de la línea tres. El valor p de la línea 3 tiene que ser por fuerza inferior al valor p de la linea 2.
    Como continuación de lo que indique ayer, estos son los pasos que según mi opinión debería seguir el programa para calcular el resultado.
    1º- cálculo de la máxima del 250 sesiones en el caso de la imagen 3 es 7,77.
    2º- calculo del número de velas que han pasado desde que se alcanzó ese máximo. Según la imagen 4 son 209 velas.
    3º- cálculo del mínimo alcanzado después de alcanzar ese máximo, tomando como valor p de la linea 3 el resultado del calculo del apartado anterior. En el caso de la imagen 3 ese mínimo es 7,77. Para ello la formula a utilizar en la linea 3 seria LL = lowest[p](low) y el valor de p en esta linea seria 209 como se aprecia en la imagen 4 que adjunto hoy y no los 250 utilizados para el calculo de la linea 2.
    Creo que si se hace el calculo así saldría el retroceso de 31,65 de la imagen 2.
    Los calculos son de EE.UU. US Nasdaq energia (imagen 5)
    Muchas gracias.
    Un saludo.
    imagen4-1.png imagen4-1.png imagen5.png imagen5.png
    #211000 quote
    robertogozzi
    Moderator
    Master

    El código hace exactamente lo que está en su imagen.
    Agregue este indicador en su gráfico (lo probé en BUND, 5 minutos):

    DEFPARAM DrawOnLastBarOnly = True
    p           = 250                //250 periods
    HH          = highest[p](high)
    LL          = lowest[p](low)
    Diff1       = abs(HH - LL)
    Trend       = 0
    FOR i = 0 TO (p - 1)
    IF high[i] = HH THEN
    Trend = 1
    MyBar = BarIndex[i]
    BREAK
    ENDIF
    IF low[i] = LL THEN
    Trend = -1
    MyBar = BarIndex[i]
    BREAK
    ENDIF
    NEXT
    PerCent = 0
    IF Trend = 1 THEN
    Retracement = lowest[max(1,BarIndex - MyBar)](low)
    Diff2       = HH - Retracement
    PerCent     = round(Diff2 * 100 / Diff1,1)
    ENDIF
    DrawSegment(BarIndex[p - 1],HH,BarIndex,HH) coloured("Blue")
    DrawSegment(BarIndex[p - 1],LL,BarIndex,LL) coloured("Blue")
    DrawText("PullBack % #PerCent#",BarIndex,HH + range) coloured("Blue",255)
    RETURN
    x-2.jpg x-2.jpg
    #211035 quote
    nautilus23
    Participant
    Average

    He agregado el indicador en el gráfico y adjunto la imagen con el resultado.

    El indicador marca el resultado que figura en el proscreener (imagen 1 ), en cambio no marca el porcentaje de retroceso correcto que a mí me interesa  que esta calculado con la regla del propio programa y qué es el treinta y uno sesenta y cinco por ciento como señalo con la flecha roja en la imagen 6.

    Por otra parte le sugiero que aplique la regla entre los puntos 2 y 3 (imagen 7) a la imagen que ha añadido para ver si el porcentaje de la regla se corresponde con el que indica el indicador.

    Yo no puedo hacerlo porque solo tengo la versión de fin de día.

    Un saludo

    imagen-6.png imagen-6.png imagen-7.jpg imagen-7.jpg
    #211093 quote
    robertogozzi
    Moderator
    Master

    Solo hice esto para una tendencia alcista, ya que interpreté su primera imagen a la baja como un retroceso.

    ¿Está interesado en saber si el screener se aplica a una tendencia bajista, una tendencia alcista o ambas?

    nautilus23 thanked this post
    #211146 quote
    nautilus23
    Participant
    Average

    Solo me interesa el pullback dentro de una tendencia alcista, el decir el porcentaje de retroceso del punto 3 despues de descender del punto 2 de la imagen que  adjunto a continuacion.

    Muchas gracias.

    Un saludo.

    imagen-7-1.jpg imagen-7-1.jpg
    #211259 quote
    robertogozzi
    Moderator
    Master

    Es exactamente lo que hace ahora, entre el punto 1 y el punto 2 están los valores MÁXIMO y MÍNIMO, después en el punto 3 indica que ha habido un retroceso del 93,4%.

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

Porcentaje correccion-retroceso desde maximos


ProScreener: Buscadores de Mercado y Rastreo

New Reply
Author
author-avatar
nautilus23 @nautilus23 Participant
Summary

This topic contains 25 replies,
has 2 voices, and was last updated by nautilus23
2 years, 11 months ago.

Topic Details
Forum: ProScreener: Buscadores de Mercado y Rastreo
Language: Spanish
Started: 12/20/2022
Status: Active
Attachments: 16 files
Logo Logo
Loading...