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
Creo que TesterStop() yExpertRemove() deberían devolver true si no pueden pasar inmediatamente el control a OnTester(). Permitirá reaccionar de alguna manera, por ejemplo, así:
En este caso, podemos obtener exactamente el resultado que lógicamente se espera, en lugar de dar vueltas y prever todos los errores que teóricamente pueden producirse como consecuencia de la detención de la prueba.
Y esta es la opción que querías ver.
En este contexto, ¿no podemos hacer la comprobación?
¿Y cómo se evita/cancela la terminación forzada si ya está en marcha? Sus ejemplos son un poco diferentes.
No provoques un despido forzoso. Entonces no hay necesidad de cancelarlo.
Probablemente, forzar la finalización que ya se está ejecutando, la cancelación no tiene sentido debido a los posibles fallos de software.
Por esta razón, es probable que no exista tal posibilidad. No puedo asegurarlo.
Esto significa que debemos organizar lógicamente nuestro código de tal manera que no necesitemos volver al código en ejecución de nuevo después de forzar la terminación.
Si renunciamos, lo hacemos explícitamente.
Es poco probable que una terminación forzada que ya ha sido activada tenga sentido cancelarla debido a posibles fallos de software.
Por lo tanto, es probable que no exista tal opción. No puedo asegurarlo.
Esto significa que debemos organizar lógicamente nuestro código de tal manera que no necesitemos volver al código en ejecución de nuevo después de forzar la terminación.
Si renunciamos, lo hacemos explícitamente.
De alguna manera me da la impresión de que no has leído todo el tema. Hay algo que no coincide con tu opinión sobre el problema en cuestión.
ps; Aunque no. En tu primer post de este hilo parecías citar mis palabras exactas, pero no completamente. Tal vez por ello la idea del problema cambió.Y esta es la versión que querías ver.
Así es.
Pero no es
más sencillo y claro que...
?
Pero ahora he hecho exactamente lo que me aconsejaste.
Tales preguntas y tales respuestas. Podéis discutirlo con vosotros mismos. Intentas meterte en un problema y a la gente sigue sin gustarle. Buena suerte para encontrar el problema.
No deberías ofenderte. Había que leer toda la frase para entenderla.
Foro sobre comercio, sistemas de comercio automatizados y prueba de estrategias de comercio
Archivo de la versión MT.
Alexey Viktorov, 2019.06.16 15:25
Sergey, no hay nada inesperado. Por el contrario, todo es lógico y coherente. Hay diferentes casos. A veces hay que completar el procesamiento del evento antes de que el Asesor Experto termine su trabajo, a veces, como en su caso, hay que terminarlo urgentemente. Los desarrolladores se enfrentan a la pregunta de qué es lo correcto, si parar inmediatamente, provocando el descontento de los que necesitan terminar de procesar el evento, o parar después de la finalización del procesamiento del evento. Cualquier programador tiene el operador de retorno en su arsenal, mientras que no hay nada en caso de terminación forzada.
Y por qué necesitas cambiar el tipo void en el bool, pues de nuevo, en el arsenal del programador hay variables estáticas que se pueden cambiar antes o después de TesterStop (), y en principio, todo será como quieras. Pero lo has omitido en mi ejemplo por alguna razón.
Así es.
Pero, ¿no es
más sencillo y claro que...
?
Pero ahora he hecho exactamente lo que me aconsejaste.
Puede que sea más sencillo y claro, pero exigir a los desarrolladores algo que se puede escribir fácilmente uno mismo es un error. Por alguna razón no creo que se escriba ninguna adición al lenguaje sobre C++ y se demande. Y los comentarios, estoy seguro, son suficientes para muchos.
Puede ser más sencillo y claro, pero es un error exigir a los desarrolladores algo que pueden escribir fácilmente ellos mismos. Por alguna razón, no creo que se escriba ninguna adición al lenguaje sobre C++ y se demande. Y los comentarios, estoy seguro, son suficientes para muchos.
Aquí tienes una comprobación de tu opción. Terminó con un mensaje como este:
Es un callejón sin salida...
No deberías ofenderte. Había que tener la frase completa para entenderla.
Al poner un ejemplo con IsStopped(), intentaba responder a la primera parte.
A veces es necesario completar la tramitación del evento antes de completar una EA, a veces es urgente como en tu caso.
Lea la descripción de esta función IsStopped() en la documentación, tal vez le dé algunas ideas.
Pero a ti te parece que es desde otra dirección. Si es así, perdón por una posible suposición.
Pero como dicen en posibles sugerencias, y resuelve el problema.
La solución definitiva no se la dirá a nadie, porque nadie conoce toda la lógica de su código, y probablemente no profundizará en ella.