Discusión sobre el artículo "Guía práctica de MQL5: Controles de la subventana del indicador: Botones" - página 6
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
No necesariamente cada segundo, hay una alternativa en otro evento allí (ya discutido). Por favor, dame un ejemplo de cómo lo hice aquí. ) A partir de la condición de que el Asesor de Expertos necesita este evento, pero el indicador no. Así será más claro.
P.D. Corrección. He cometido un error. )) Tu variante no es más correcta. No encaja en absoluto. Así que es mejor dar un ejemplo basado en la condición anterior.
Si el indicador no necesita este evento, simplemente no lo procesa. Además, el Asesor Experto no debe desactivar los eventos que no necesita. Puede activarlos, pero no desactivarlos. Porque no es asunto suyo qué eventos pasan por su ventana y quién puede necesitarlos.
Si el indicador no necesita este evento, simplemente no lo procesa. Además, el Asesor Experto no debe desactivar eventos que no necesita. Puede activarlos, pero no desactivarlos. Porque no es asunto suyo qué eventos pasan por su ventana y quién puede necesitarlos.
La cuestión es que este evento puede no procesarse (simplemente olvidarse de él). Pero esto no significa que la cola de eventos de la función OnChartEvent() no se llene de cosas que no se necesitan en un momento dado.
Y esto significa miles de eventos innecesarios por minuto. ¿Y si hay varios programas en el gráfico? ¿Ni un argumento?
Se desperdician muchos menos recursos si incluso se hace una comprobación cada segundo para ver si un evento está habilitado, y habilitarlo si no lo está en ese momento pero es necesario. ¿Tampoco es un argumento? Entonces hazlo a tu manera.
Yo no tengo más argumentos. ) Mantendré mi opinión, ya que no he oído nada que me haga cambiar de opinión.
Bien. Entonces tengo una pregunta para aquellos que piensan que este evento no necesita ser desactivado por el programa que lo habilitó.
¿Por qué? )
Es decir
1. ¿Por qué dejar algo que no es necesario (miles de eventos por minuto)?
2. (en otra formulación) ¿Por qué gastar más recursos cuando se puede gastar menos?
Opciones como "si un evento no es necesario, simplemente no lo proceses" personalmente no me gustan nada. No puedes desactivar uno, no puedes desactivar el otro, ¿y qué vas a conseguir con ello?
Estimado autor del artículo, en vano no explica las contradicciones internas de sus productos, que intenta combatir y enseñar a los "principiantes".
Así, el autor ha mostrado los momentos resbaladizos que pueden trastornar el trabajo correcto de su indicador. Genial, ahora está claro para el "principiante" que:
1. ¿Por qué dejar lo que no se necesita (miles de eventos por minuto)?
2. (en otra formulación) ¿Por qué gastar más recursos cuando se puede gastar menos?
Opciones como "si un evento no es necesario, simplemente no lo proceses" personalmente no me gustan nada. No puedes deshabilitar uno, no puedes deshabilitar el otro y ¿qué conseguirás con ello?
Obtendrás un código completamente controlado.
Haces hincapié en el rendimiento, pero ¿cae tanto con este evento habilitado? Para responder a esta pregunta, he escrito especialmente un simple Asesor Experto probando este evento. Habiendo probado diferentes combinaciones, obtuve la siguiente tabla:
Como se puede ver, la carga real aumenta sólo cuando el procesamiento real de este evento se lleva a cabo. Cabe destacar que, a juzgar por la carga de la CPU, MetaTrader rastrea la posición del ratón independientemente de si la suscripción a este evento está activada o no. En general, resulta que no tiene sentido ahorrar recursos hipotéticos, porque el seguimiento del ratón se realizará de todos modos.
Código del Asesor Experto de prueba:
1. Siempre debes considerar el caso de que un evento se pierda en la pila. Si algo crítico puede suceder en el caso de que un evento se pierda, es muy malo.
2. 2. Personalizar el gráfico a tu gusto es malo. Es casi lo mismo que operar con una máquina de trading automatizada sin un magik.
Estimado autor del artículo, en vano no explica las contradicciones internas de sus productos, que intenta combatir y enseñar a los "principiantes".
Así, el autor ha mostrado los momentos resbaladizos que pueden trastornar el trabajo correcto de su indicador. Genial, ahora está claro para un "principiante" que:
...
Puede inventar 20 reglas más para justificar su sentido de autoimportancia y entonces se confundirá definitivamente y "ayudará" a los principiantes. Contradicciones y malentendidos en este caso fueron observados por usted. )
Usted obtendrá un código totalmente controlado.
...
Estará controlado cuando tú lo controles. En este caso, propones dejar todo sin controlar, es decir, dejar un evento que no es necesario en este momento y que puede reproducirse muy a menudo. En ejemplos sencillos puede que no se note. Quizás en programas más complejos veas la necesidad de desactivar todo lo que no sea necesario.
1. Siempre debes considerar el caso de que un evento se pierda en la pila. Si algo crítico puede suceder en el caso de que un evento se pierda, es muy malo.
...
tol64:
Perdona, ¿te estoy distrayendo por casualidad de escribir otro tutorial o receta?
Si no es así, vamos a seguir discutiendo su artículo sobre el control en la subventana del indicador. Por lo tanto, usted ofrece una solución masiva (o una idea) cómo hacer un menú conveniente en un indicador. Bien, ¡el propósito del artículo es muy digno! Pero, ¿cómo puede un programador "principiante" utilizar todo este arsenal? ¿Dónde colocar las funciones personalizadas? Demuéstrelo con un ejemplo. Y al mismo tiempo explicar lo que hay que arreglar en el código para utilizar, por ejemplo, 5 botones? Considéralo una pregunta de principiante.
¿Como cuando la cola de eventos se desborda?