Hola. He creado un Screener y he visto que no se cumple siempre. Es este:
indicator1, ignored = CALL "Elder Impulse System"
c1 = (indicator1 = 2)
SCREENER[c1] ((close/DClose(1)-1)*100 AS "% Var ayer")
Del listado que sale, he comprobado que en algunos casos el Eder Impulse System es 0 y no 2 como pido. ¿Alguna sugerencia?
Gracias.
¿Está seguro de que tiene suscripciones en tiempo real de las acciones que está screen? Si no es así, su código de screener obtendrá el resultado del período anterior.
El indicador está para período semanal, pero aún así miré el Elder Impulse en el período anterior y también aparecen valores en los que no se cumple.
Bueno, sin el código completo no puedo reproducir el problema yo mismo para ayudarle! 🙂
El código completo es el siguiente:
// Este código se relaciona con la siguiente unidad de tiempo:weekly
TIMEFRAME(weekly)
indicator1, ignored = CALL "Elder Impulse System"
c1 = (indicator1 = 2)
// Este código se relaciona con la siguiente unidad de tiempo:daily
TIMEFRAME(daily)
indicator2 = low - ExponentialAverage[13](close)
c2 = (indicator2 < 0)
// Este código se relaciona con la siguiente unidad de tiempo:daily
TIMEFRAME(daily)
indicator3 = low - ExponentialAverage[13](close)
c3 = (indicator3 > indicator3[1])
// Este código se relaciona con la siguiente unidad de tiempo:DEFAULT
TIMEFRAME(DEFAULT)
SCREENER[c1 AND c2 AND c3] ((close/DClose(1)-1)*100 AS "% Var ayer")
Ejecutado ahora mismo en el Ibex35 aparecen 3 valores. Acciona tiene un Elder Impulse semanal de cero.
No tengo el indicador “Elder Impulse System”, por favor, suba aquí.
Este código funciona correctamente para mí. He cambiado un poco lo que ha hecho, algunas líneas no fueron útiles en absoluto y puede haber causado un cálculo equivocado ..
// Este código se relaciona con la siguiente unidad de tiempo:weekly
TIMEFRAME(weekly)
indicator1, ignored = CALL "Elder Impulse System"
c1 = (indicator1 = 2)
// Este código se relaciona con la siguiente unidad de tiempo:daily
TIMEFRAME(daily)
indicator2 = low - ExponentialAverage[13](close)
c2 = (indicator2 < 0)
c3 = (indicator2 > indicator2[1])
SCREENER[c1 AND c2 AND c3] ((close/DClose(1)-1)*100 AS "% Var ayer")
Yo sigo encontrando casos en los que no funciona. Adjunto pantallazo con el código con pone más arriba
Todos mis resultados son buenos para mí hoy con PRT-CFD.
El Elder Impulse necesita al menos 26 períodos para calcular un promedio móvil, tal vez los resultados equivocados que obtuvo son de acciones que no tienen suficientes datos?
Sigo encontrando algunos casos en los que da resultado erróneo. Hoy por ejemplo, en UK acciones, el valor CARADOR INCOME FUND ORD NPV, que tiene datos desde el año 2011, aparece en el listado de screener y sin embargo el Elder Impulse está en cero.
En todo caso, aunque no hubiera suficientes datos (que no es el caso en este ejemplo), entiendo que no debería salir en el listado de screener, ya que el listado se supone que saca los valores con Elder Impulse = 2 y no tiene por que sacar los que son igual a cero.
¿Has intentado enviar una consola debug a prorealtime? (CTRL + M)?
Me gustaría ayudar, pero no puedo reproducir el problema ya que todos los resultados son correctos en mi plataforma.
Si tus resultados son todos correctos y los míos no, obviamente se trata de un problema mío. De hecho tengo algunos problemas en el ordenador, no sé si tendrá algo que ver, pero me resulta raro que la mayoría de los valores del listado si salen bien, pero siempre hay alguno que otro que no.
En cuanto tenga tiempo voy a revisar a fondo el ordenador y si sigue todo igual hago lo de la consola que me comentas. Muchas gracias por todo.
¿Es usted un cliente de software prorealtime (IB) o un IG / PRT-CFD?