Hola,
Llevo varios meses con la idea de poder filtrar valores que cumplan con un tipo de estrategia (por ejemplo: un cruce de medias) con ProScreener pero en el pasado.
Roberto me ayudo hace un año y me dio este código:
Timeframe(Daily)
Sma20 = average[20,0](close)
Cond= 0
FOR i = 0 TO 250
IF OpenDate[i] = 20220831 THEN
IF close[i] CROSSES OVER Sma20[i] THEN
Cond = 1
break
ENDIF
ENDIF
NEXT
SCREENER[Cond]
Me ha servido de mucho pero me encuentro limitado a un valor.
Mi intención es buscar todos los valores que cumplan con la condición en un periodo de tiempo en el pasado. Por ejemplo: buscar todas las acciones que cruzaron la media de 20 en octubre del 2023.
Lo que busco con esto es poder analizar a modo de backtest si mi estrategia había funcionado.
El backtest que tiene la plataforma es muy bueno, pero tienes que ir valor a valor, mi intención con esto es ir más rápido ya que lo que necesito es analizar el gráfico.
Agradecería que alguien me eche una mano.
Un saludo y gracias.
¡Hola!
Entiendo tu necesidad de buscar valores que cumplieron con ciertas condiciones en un período específico en el pasado, como el cruce de una media móvil. El código que Roberto te proporcionó es un buen punto de partida, pero como mencionas, está limitado a una fecha específica.
Para extender esta lógica a un rango de fechas, como todo el mes de octubre de 2023, necesitamos modificar el código para que itere a través de las fechas del rango deseado y verifique la condición de cruce de medias para cada una de ellas. Aquí te dejo un ejemplo de cómo podrías hacer esto:
Timeframe(Daily)
Sma20 = average[20,0](close)
Cond = 0
// Define el rango de fechas
FechaInicio = 20231001
FechaFin = 20231031
FOR i = 0 TO 250
IF OpenDate[i] >= FechaInicio AND OpenDate[i] <= FechaFin THEN
IF close[i] CROSSES OVER Sma20[i] THEN
Cond = 1
break
ENDIF
ENDIF
NEXT
SCREENER[Cond]
Este código revisará todos los valores en el rango de fechas desde el 1 hasta el 31 de octubre de 2023. Si encuentra un valor que cumpla con la condición (en este caso, el cruce de la media móvil de 20 días), Cond se establecerá en 1, indicando que ese valor cumple con la condición de tu estrategia.
Espero que este código te sea útil para tu análisis y backtesting. Si tienes más preguntas o necesitas asistencia adicional, no dudes en preguntar. ¡Suerte con tu estrategia de trading!
Hola Nicolas,
Muchas gracias por tu ayuda. Lo probaré pero seguro que irá bien.
Un saludo y gracias de nuevo.