CÓDIGO COMO PARTE DE UN SCREENER

Forums ProRealTime foro Español Soporte ProScreener CÓDIGO COMO PARTE DE UN SCREENER

  • This topic has 3 replies, 2 voices, and was last updated 3 weeks ago by avatarJEA.
Viewing 4 posts - 1 through 4 (of 4 total)
  • #240704
    JEA

    Hola.

    Estoy intentando hacer un screener en el cual una de las condiciones sea que el volumen en cualquiera de las 5 últimas sesiones sea 2 veces mayor que la media móvil simple del volumen de las últimas 4 sesiones. El código que estoy empleando es el siguiente:

    // Volumen > 2*MM4
    p=5
    vol=volume>2*(average[4](volume))
    c1=0
    For i=0 to p
    If vol[i] then
    c1=vol
    break
    endif
    next
    Cond1=volume>c1

    Cuando ejecuto el screener con este código me da volúmenes en las últimas 5 sesiones tanto que cumplen la condición (ser mayores que 2 veces la media de las 4 últimas sesiones) como que no. Hay algo que se me escapa o que no sé codificar y agradecería una ayuda.

    Un saludo.

    JEA

     

     

     

     

     

    #240707
    JS

    Hola

    Pruebe este screener…

    SMAVol=Average[4](Volume)
    HighVol=Summation[5](Volume>2*SMAVol)>=1
    HighestVol=Highest[5](Volume)

    Screener[HighVol](SMAVol as “SMAVol”,HighestVol as “HighestVol”)

    1 user thanked author for this post.
    #240711
    JEA

    Hola y muchas gracias por la rapidez en contestar.

    El screener “per se” funciona perfectamente. No obstante, como lo tengo con otras condiciones estoy probando cuál sería la condición que le tengo que poner en el screener junto con las otras condiciones y no me funciona.

    He probado lo siguiente:

    Cond5=SMAVol o bien

    Cond5=HighVol o bien

    Cond5=HighestVol, y luego

    Setup=Cond1 and Cond2 and Cond3 and Cond4 and Cond5 (esta Cond5 es la que me has mandado y he probado con las otras 4 condiciones sin éxito).

    Screener [setup]

    Cuando lanzo el screener me da error. No acierto a entender por qué falla.

    He probado incluso a suprimir el comando HighestVol=Highest[5](Volume) porque no me interesa tanto saber qué valor presenta la mayor subida de volumen respecto a la media sino lo que quiero es que me filtre, de acuerdo con todas las condiciones anteriores (Cond1 a Cond4) más esta del volumen, aquellos y sólo aquellos valores cuyo volumen en los días previos tienen el volumen exigido.

    En la prueba anterior de supresión de HighstestVol, con la Cond5=volume>HighVol sí funciona el screener pero de nuevo no filtra los valores cuyo volumen sea superior a 2 veces la media de los últimos días.

    Quizás no me he explicado bien en mi anterior correo porque aunque no sé gran cosa de programación tengo entendido que “summation” agrega valores y no los discrimina. En fin, que sea lo que sea no va.

    Nuevamente gracias por tu ayuda y a ver si le damos una vuelta a ésto.

     

     

     

     

     

    #240712
    JEA

    Hola de nuevo.

    Trasteando he encontrado la siguiente solución:

    vol=volume>2*(average[4](volume))
    Cond5=summation[5](vol)

    Con ésto me funciona perfectamente.  Gracias por tu ayuda y un saludo.

    1 user thanked author for this post.
Viewing 4 posts - 1 through 4 (of 4 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login