Computo de velas desde una fecha pasada

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

    Buenas tardes. ¿Es posible hacer un indicador que cuente las velas que han pasado por ejemplo desde el 1 de enero del año 2020 hasta la fecha de hoy?. He estado buscando en el foro y no he encontrado nada que me sirva y yo no sé programarlo. Muchas gracias de antemano por la ayuda que me podáis prestar.

    Cómputo de velas desde una fecha pasada.

    #174212 quote
    robertogozzi
    Moderator
    Master

    Ahi esta:

    Once MyDate = 20200101
    Once Count  = 0
    If OpenDate >= MyDate then
       Count = Count + 1
    Endif
    Return Count as “Velas”
    nautilus23 and anjoloro thanked this post
    #174264 quote
    nautilus23
    Participant
    Average
    Roberto muchísimas gracias, como en ocasiones anteriores lo has resuelto.
    ¿Se puede hacer otro indicador similar pero complementario  a este que cuente las velas entre dos fechas por ejemplo entre el 1 de enero 2020 y el 16 de agosto de 2020?.
    Un saludo.
    anjoloro thanked this post
    #174267 quote
    robertogozzi
    Moderator
    Master

    Ahi esta:

    Once MyDate1 = 20200101
    Once MyDate2 = 20201231
    Once Count  = 0
    If OpenDate >= MyDate1 AND OpenDate <= MyDate2 then
       Count = Count + 1
    Endif
    Return Count as “Velas”
    nautilus23 and anjoloro thanked this post
    #174288 quote
    nautilus23
    Participant
    Average

    Muchas gracias.

    Un saludo.

    #196746 quote
    Josep007
    Participant
    New

    Buenas tardes.

    Buscando en el foro he encontrado este tema que me ha parecido interesante, y me preguntaba si es posible obtener el precio de un activo a una fecha determinada, o incluso la varaicion porcentual edel activo entre dos fechas, previamente establecidas.

    Muchas gracias.

    Saludos,

    #196817 quote
    robertogozzi
    Moderator
    Master

    Ahi esta:

    DEFPARAM DrawOnLastBarOnly = True
    //FromDate = 20220101   //from Jan. 1st  2022
    //TillDate = 20220630   //to   Jun. 30th 2022   (0=till today, included)
    IF (TillDate <> 0) AND (TillDate < FromDate) THEN
    tempDate = TillDate
    TillDate = FromDate
    FromDate = tempDate
    ENDIF
    IF IsLastBarUpdate THEN
    ToDate = TillDate
    IF ToDate = 0 THEN
    ToDate = OpenDate
    ENDIF
    LastPrice     = 0
    PreviousPrice = 0
    FOR i = BarIndex DOWNTO 1
    j = BarIndex - i
    IF (OpenDate[j] <= ToDate AND LastPrice = 0) THEN
    LastPrice = close[j]
    ENDIF
    IF (OpenDate[j] <= FromDate AND PreviousPrice = 0) OR (i = 1) THEN
    PreviousPrice = close[j - 1]
    IF LastPrice = 0 THEN
    LastPrice = close[j]
    ENDIF
    break
    ENDIF
    NEXT
    Difference = floor((LastPrice * 100 / PreviousPrice) - 100,2)
    DrawText("Current #LastPrice#, Previous #PreviousPrice#, Variation% #Difference#",BarIndex+10,highest[50](high))
    ENDIF
    RETURN
    MyInd2.itf
    #196912 quote
    Josep007
    Participant
    New

    Muchas gracias Roberto. Lo he probado y funciona perfecto, pero no es exactamente lo que queria, y la culpa ha sido mia por no expresar correctamente la consulta que solicitaba. Yo necesitaria un screener -esto es lo que no habia indicado y que precisaba- que indicandole la fechas de inicio y final, pudiera obtener como resultado, la serie de activos, de una lista, con la indicación porcentual de la variacion producida, de tal manera que pudiera ver los valores que han subido y bajado más.

    Disculpa de nuevo, y gracias anticipadas,

    Saludos,

    José Miguel.

    #196938 quote
    robertogozzi
    Moderator
    Master

    Moví su solicitud al foro de soporte de ProScreener.

    Aquí está, pero sin ningún filtro encontrará TODOS los activos elegidos, pero solo le mostrará 50 o 100:

    FromDate = 20220101   //from Jan. 1st  2022
    TillDate = 20220630   //to   Jun. 30th 2022   (0=till today, included)
    IF (TillDate <> 0) AND (TillDate < FromDate) THEN
    tempDate = TillDate
    TillDate = FromDate
    FromDate = tempDate
    ENDIF
    ToDate = TillDate
    IF ToDate = 0 THEN
    ToDate = OpenDate
    ENDIF
    LastPrice     = 0
    PreviousPrice = 0
    FOR i = BarIndex DOWNTO 1
    j = BarIndex - i
    IF (OpenDate[j] <= ToDate AND LastPrice = 0) THEN
    LastPrice = close[j]
    ENDIF
    IF (OpenDate[j] <= FromDate AND PreviousPrice = 0) OR (i = 1) THEN
    PreviousPrice = close[j - 1]
    IF LastPrice = 0 THEN
    LastPrice = close[j]
    ENDIF
    break
    ENDIF
    NEXT
    Difference = floor((LastPrice * 100 / PreviousPrice) - 100,2)
    SCREENER[Difference](Difference AS "Var.%")
    #196988 quote
    Josep007
    Participant
    New

    Saludos de nuevo, Roberto y gracias por su tiempo.

    Esta vez he encontrado un preblema, y es que el screener me da un error que dice asi “Este proscreener no puede ejecutarse. Una de las instrucciones contiene un offset negativo o un valor excesivo. Los valores de offset han de ser numeros enteros comprendidos entre 0 y 254.

    A que puede ser debido este problema?. Aparentemente, aunque no entienda mucho, a primera vista estaria bien.

    Gracis de nuevo,

    Saludos, José Miguel.

    #197048 quote
    robertogozzi
    Moderator
    Master

    Intenta reemplazar la línea 15 con esto:

    j = max(0,BarIndex - i)
    #197052 quote
    Josep007
    Participant
    New

    Buenos dias y saludos de nuevo, Roberto.

    A pesar de haber sustituido la linea que indicas con la nueva setencia, desgraciadamente persiste el mismo error.

    Saludos,

    José Miguel.

    #197053 quote
    robertogozzi
    Moderator
    Master

    Me funciona muy bien, sin errores. no se que sugerir Prueba a ponerte en contacto con ProRealTime.

    #197069 quote
    Josep007
    Participant
    New

    Hola Roberto. Saludos de nuevo.

    Gracias por tu respuesta. Tay y como sugieres, al persistir el error, mañana lunes me pondre en contacto con el ST de Prorelatime para ver de solucionar este problema. Muchas gracias por tu interes y soluciones.

    Saludos,

    José Miguel.

    #204849 quote
    nautilus23
    Participant
    Average
    Buenas tardes.
    Tomando como base estas instrucciones he preparado un indicador, cuyo código adjunto, para calcular la variación porcentual del precio desde una fecha determinada en este caso desde 20220301. Cuando lo aplico al gráfico aparece un mensaje de error indicando que se espera un campo entero positivo con ROC. Y no entiendo por qué teóricamente count debería ser un número entero positivo.
    ¿Cómo lo puedo corregir?

    Muchas gracias.

    Saludos,

    Once MyDate = 20220301
    Once Count  = 0
    If OpenDate >= MyDate then
    Count = Count + 1
    Endif
    variacionporcentual = ROC[count](close)
    
    Return variacionporcentual as "%"

     

     

     

     

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

Computo de velas desde una fecha pasada


ProScreener: Buscadores de Mercado y Rastreo

New Reply
Author
author-avatar
nautilus23 @nautilus23 Participant
Summary

This topic contains 18 replies,
has 3 voices, and was last updated by nautilus23
3 years, 3 months ago.

Topic Details
Forum: ProScreener: Buscadores de Mercado y Rastreo
Language: Spanish
Started: 07/26/2021
Status: Active
Attachments: 2 files
Logo Logo
Loading...