Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Este asunto se resuelve como dos dedos... sabes que...
En OnDeinit es necesario condicionar el motivo de desinicialización antes de borrar el objeto... Si no es un cambio de periodo, el objeto se elimina. Y ESO ES TODO...
Sí, no puedo eliminar algún objeto o recurso en el cambio de TF, puedo guardar incluso algunas pequeñas matrices a través de objeto-recurso, y escribir en la información de recursos sobre el cambio de TF, pero el punto es¿Cómo debo informar a la unidad de que el marco temporal ha cambiado y los datos antiguos deben ser leídos? ¿No está mal?
¿Qué tipo de lógica se echa a perder?
Cuando se cambia de marco temporal, se crea una nueva copia del indicador que no sabe nada de la copia anterior. Durante un cierto periodo de tiempo (muy corto) ambas copias del indicador existen en paralelo. Entonces se descarga la copia anterior.
Lea la documentación https://www.mql5.com/ru/docs/runtime/running
He leído la descripción del enlace, pero no he encontrado esa información, como la que has dado. Y si realmente es así, es un gran problema para los desarrolladores de indicadores. Es muy extraño y muy malo que se adopte esa lógica para recargar los indicadores cuando se cambia de timeframe. ¿Por qué necesitamos la existencia de dos copias del mismo indicador en la memoria? ¿Quién se beneficia de ello? ¿Qué es lo que da? Sería más lógico completar la ejecución de una copia del indicador, descargarla y sólo entonces cargar la siguiente copia.
¿Y eso es todo?
He estado experimentando y utilizando este código de razón (REASON_CHARTCHANGE) tanto como sea posible. Y de qué sirve si todas las variables vuelven a su estado original, y OnDeinit puede ejecutarse después de OnInit de un nuevo TF
Slava ha respondido a esta pregunta, nuevo indicador, nuevos cálculos. Y esto es justo.
Y aparentemente este problema nunca se resolverá.
Y tengo fe en el equipo de desarrollo, son grandes tipos y han hecho una cantidad increíble y harán más. Todavía no me he puesto a ello. Es cierto, siempre hay que recibir información de ellos con campanas y silbatos. :))
Mi tarea es convencerles de que hay que hacerlo. Aunque no excluyo que me convenzan de que es mejor no hacerlo, quizás no entiendo algo.
Y tengo fe en el equipo de desarrollo, son grandes tipos y han hecho una cantidad increíble y harán más. Todavía no me he puesto a ello. Pero siempre tengo que pedirles opinión también con las panderetas. :))
Mi tarea es convencerles de que hay que hacerlo. Aunque no excluyo que me convenzan de que es mejor no hacerlo, quizás no entiendo algo.
Slawa, ¿qué significa la frase de la documentación"Las bibliotecasno manejan ningún evento"?
Muy vago
- Cuando Inite establece el color del gráfico principal como transparente.
Dibujo mi propio gráfico (según mis parámetros)
Quiero que se restaure el color del gráfico principal después de la eliminación de mi indicador
- En DeInit restauro el color del gráfico principal
Al cambiar el TF me refiero primero a DeInit (restaurar el color), y luego a Init (volver a ser transparente)
La ejecución de los comandos no es secuencial; periódicamente, al cambiar el TF
periódicamente el gráfico principal (con el color restaurado) se superpone a mi indicador.
He aquí, por ejemplo, un "desglose lógico".
Tal vez para intentar asignar a los objetos gráficos el periodo TF como componente de su prefijo de nombre,
y luego aplicar algo como esto:
- Cuando Inite establece el color del gráfico principal como transparente.
Dibujo mi propio gráfico (según mis parámetros)
Quiero que se restaure el color del gráfico principal después de la eliminación de mi indicador
- En DeInit restauro el color del gráfico principal
Al cambiar el TF me refiero primero a DeInit (restaurar el color), y luego a Init (volver a ser transparente)
La ejecución de los comandos no es secuencial; periódicamente, al cambiar el TF
periódicamente el gráfico principal (con el color restaurado) se superpone a mi indicador.
He aquí, por ejemplo, un "desglose lógico".
¿Y eso es todo?
He estado experimentando y utilizando este código de razón (REASON_CHARTCHANGE) tanto como sea posible. Y de qué sirve si todas las variables vuelven a tener el estado original, y OnDeinit puede ejecutarse después de OnInit del nuevo TF
Intenta actualizar el terminal a la versión 1065. En las versiones anteriores se producía un error de reinicialización justo durante el cambio de horario. Puede ayudar :)
https://www.mql5.com/ru/forum/187690
Intenta actualizar el terminal a la versión 1065. En las versiones anteriores se producía un error de reinicialización con sólo cambiar el marco temporal. Podría ayudar :)
https://www.mql5.com/ru/forum/187690