Número de días consecutivos a la baja

Viewing 14 posts - 1 through 14 (of 14 total)
  • Author
    Posts
  • #165883 quote
    nautilus23
    Participant
    Average

    Hola necesito un indicador que cuente el número de días consecutivos a la baja del cierre de una barra. ¿Alguien me puede ayudar?
    Muchas gracias.

    #165886 quote
    robertogozzi
    Moderator
    Master

    Creo que no lo he entendido correctamente. Hay 1 días consecutivos entre una barra diaria y otra.

    #165890 quote
    nautilus23
    Participant
    Average

    Ejemplo, una acción ha cerrado a la baja cada uno de los nueve días anteriores. Adjunto tabla excel.

    dias-consecutivos-a-la-baja.xlsx
    #165899 quote
    robertogozzi
    Moderator
    Master

    Tome un ejemplo con precios reales, incluso sin eXcel, se necesitan de 4 a 5 días para comprenderlo bien.

    ¿Qué quieres saber HOY?  ¿Cuántos días CONSECUTIVOS ha habido velas alcistas o bajistas?

    #165910 quote
    Mestor
    Participant
    Senior

    Mira si algo de esto puede servir…

    TimeFrame(Daily)
    Once DiasBajistas = 0
    
    If DOpen(0) > DClose(0) and DOpen(1) > DClose(1) then
    DiasBajistas = DiasBajistas + 1
    Elsif Dopen(0) <= DClose(0) then
    DiasBajistas = 0
    Endif
    
    Return DiasBajistas as "Dias Bajistas Consecutivos"
    nautilus23 thanked this post
    #165925 quote
    nautilus23
    Participant
    Average

    Si me sirve tal como está , lo que ocurre es que el indicador parece contar siempre un día de menos. Me explico, como puedes ver en el gráfico el último día hay tres cierres consecutivos a la baja porque el cierre es inferior al cierre del día anterior y en cambio el resultado del indicador es solo dos cuando según mi cómputo serían tres. ¿Se podría corregir esto?. Muchas gracias Mestor. Ricardo, espero que esta explicación te sirva a ti también.

    ScreenShot00040.png ScreenShot00040.png
    #165928 quote
    pableitor
    Participant
    Master

    Hola, este codigo te devuelve la variable “updown” con un recuento positivo cuando los dias son alcistas y negativo cuando son bajistas (los dias neutros no hace nada):

    if close < close[1] then
    updown = updown*(updown<0) - 1
    elsif close > close[1] then
    updown = updown*(updown >0) + 1 
    endif
    return  0, updown as "updown"

    Si solo quieres contar los dias bajistas quedaría asi:

    if close < close[1] then 
    updown = updown - 1 
    elsif close > close[1] then 
    updown = 0 
    endif 
    return 0, updown as "updown"
    nautilus23 thanked this post
    #165940 quote
    nautilus23
    Participant
    Average

    Muchas gracias pableitor. Es lo que buscaba.

    #166005 quote
    Mestor
    Participant
    Senior

    Si me sirve tal como está , lo que ocurre es que el indicador parece contar siempre un día de menos. Me explico, como puedes ver en el gráfico el último día hay tres cierres consecutivos a la baja porque el cierre es inferior al cierre del día anterior y en cambio el resultado del indicador es solo dos cuando según mi cómputo serían tres. ¿Se podría corregir esto?. Muchas gracias Mestor. Ricardo, espero que esta explicación te sirva a ti también.

    En las líneas 2 y 7 puedes poner DiasBajistas = 1 (en vez de 0)…

    nautilus23 thanked this post
    #166214 quote
    nautilus23
    Participant
    Average

    Buenas tardes, he preparado  un proscreener basado en el código “updown” que me ha indicado pableitor y no consigo que funcione, no me sale error de programación pero  no me devuelve ningún valor cuando lo cierto es que debería haber valores que cumplen esa condición envío una toma de pantalla del proscreener que he preparado. ¿Que estoy haciendo mal para que no salga ningún resultado?. El  indicador  en cambio funciona perfectamente.

    Muchas gracias.

    #166215 quote
    nautilus23
    Participant
    Average

    Añado la imagen.

    ScreenShot00042.png ScreenShot00042.png
    #166222 quote
    Mestor
    Participant
    Senior

    Hola, ¿Has probado a no usar CALL e indicar el código completo?

    Algo como esto:

    if close < close[1] then
    updown = updown - 1
    elsif close > close[1] then
    updown = 0
    endif
    
    c1 = (updown = -3)
    
    SCREENER[c1] (Variation as "% Var Barra Ant")
    nautilus23 thanked this post
    #166236 quote
    pableitor
    Participant
    Master

    Hola, he simplificado un poco el codigo y ahora ha quedado reducido a una linea, como dice Mestor no es necesario usar CALL :

    updown =( updown *( updown < 0) - 1)* (close < close[1])
    
    c1 = (updown = -3)
    SCREENER[c1] (Variation as "% Var Barra Ant")

    Yo no opero acciones del Nasdaq pero lo he probado en el Nasdaq y si me da resultados (ver adjunto)

    nautilus23 thanked this post
    Screenshot_1.png Screenshot_1.png
    #166271 quote
    nautilus23
    Participant
    Average

    Muchas gracias  pableitor y Mestor, Mestor y pableitor . Me habéis ayudado mucho el proscreener ya funciona y con vuestra ayuda he comprendido algo de programación, yo no lo había hecho así porque no sé programar nada más que con la creación simplificada.

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

Número de días consecutivos a la baja


ProBuilder: Indicadores y Herramientas

New Reply
Author
author-avatar
nautilus23 @nautilus23 Participant
Summary

This topic contains 13 replies,
has 4 voices, and was last updated by nautilus23
4 years, 12 months ago.

Topic Details
Forum: ProBuilder: Indicadores y Herramientas
Language: Spanish
Started: 03/31/2021
Status: Active
Attachments: 4 files
Logo Logo
Loading...