Veo que solo quieres actualizar el gráfico cuando ya ha pasado una hora completa:
datetime currentTime = TimeCurrent(); if (currentTime - lastUpdate < updateInterval)return prev_calculated; // Verificar si ya se actualizó en la última hora //Dado que mantienes los nombres, el borrado no sería necesario: Volviendo a crearlo se borran las anteriores // OnDeinit(0); // Reiniciar el indicador eliminando las líneas antes de la nueva actualización
Es normal que así ocurra, y así lo veo:
Mañana, con el mercado abierto, probaré lo que comentas en vivo.Veo que solo quieres actualizar el gráfico cuando ya ha pasado una hora completa:
Es normal que así ocurra, y así lo veo:
Sí, quiero actualizar el gráfico cuando la hora del terminar cambie, como está actualmente solo logré que se actualice cuando transcurra una hora de haber inicializado el indicador, es decir que si son las 08:53 el indicador se actualizará a las 09:53 cuando en realidad debería actualizar todo a las 09:00.
Como las líneas se actualizan al cambiar de temporalidad significa que los precios obtenidos si se actualizan al cambiar de hora en el terminal pero las líneas se quedan en los mismo precios a menos que cambie de temporalidad.
A lo que me refiero es que cuando la hora cambia no se actualizan las líneas automáticamente a menos que cambie de temporalidad, si te fijas en la imagen que enviaste cuando vuelvas abrir el gráfico las líneas seguirán en el mismo lugar (precios) y si cambias de temporalidad entonces las líneas se actualizaran en los nuevos precios obtenidos.
Si lo he entendido bien, lo tuyo se arreglaría manteniendo siempre la hora de actualización al final de la hora:
// Actualizar el tiempo de la última actualización lastUpdate = iTime(NULL, PERIOD_H1, 0)+updateInterval;
y cambiando:
if (currentTime < lastUpdate)return prev_calculated; // Verificar si ya se actualizó en la última hora //Dado que mantienes los nombres, el borrado no sería necesario // OnDeinit(0); // Reiniciar el indicador eliminando las líneas antes de la nueva actualización
Aunque ahora el dilema estaría en ver si hay intención de que updateInterval sea distinto de 1 hora.
Si lo he entendido bien, lo tuyo se arreglaría manteniendo siempre la hora de actualización al final de la hora:
y cambiando:
Aunque ahora el dilema estaría en ver si hay intención de que updateInterval sea distinto de 1 hora.
Lo integré al código y ni siquiera mostró las líneas, al parecer estos es un poco mas complejo de lo que parece, intenté obtener la hora del terminal para reiniciar el indicador utilizando "if" "else" pero no pude dar con la solución.

- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Acabo de crear un indicador que muestras líneas en los niveles comerciales de la última hora en cualquier activo financiero, pero tengo un problema a medida que pasan las horas y es que cuando inicia la siguiente hora el indicador no actualiza las líneas que se deben marcar en los nuevos precios obtenidos a menos que cambie de temporalidad. ¿Alguien tiene alguna idea de que podría hacer para que las líneas en los precios obtenidos cada hora se actualicen automáticamente sin necesidad de cambiar de temporalidad o cargarlo de nuevo?
Acá les dejo el código en caso de que necesiten echarle un vistazo: