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
Para no ser infundado, he simulado la situación de la que hablaba más arriba (no puedo citarlo porque no puedo salir del quote :) ).
He ejecutado el siguiente código en M15:
Mientras se ejecutaba el script me conecté y desconecté de Internet. Las imágenes muestran el resultado.
¿Está en servicedesk o es un error en el código?
El indicador debe construir niveles de 5 puntos desde el precio de cierre hacia abajo en rojo.
Pero sólo se muestran dos buffers (aunque los cuenta todos) y no en rojo, sino en verde (después de la compilación en negro).
Por favor, compruebe si es sólo yo o si es sólo yo en general...
¿Está en servicedesk o es un error en el código?
El indicador debe construir niveles de 5 puntos desde el precio de cierre hacia abajo en rojo.
Pero sólo se muestran dos buffers (aunque los cuenta todos) y no en rojo, sino en verde (después de la compilación en negro).
Por favor, compruebe si es sólo yo o si es sólo yo en general...
#property indicator_type2 DRAW_ARROW
#property indicator_type3 DRAW_ARROW
#property indicator_type4 DRAW_ARROW
#property indicator_type5 DRAW_ARROW
...creo que las bibliotecas estándar son un código ideal que debería servir de modelo para los demás.
Sólo puedo decir que sería deseable deshacerse de esas nociones lo antes posible.
No tengo nada en contra de las bibliotecas estándar, pero ¿confiar en el código de otra persona "para facilitar la escritura de programas" sin verificarlo? - Salvo en la fase de redacción inicial de un peritaje. Para acelerar los procesos rutinarios, por así decirlo.
En mi cuaderno de bitácora aparece con bastante frecuencia el mensaje: Terminación anormal. ¿Alguien se ha dado cuenta de cuándo puede haber un conflicto de este tipo?
Todavía no puedo encontrar la causa. Lo único que puedo decir es que si dejo el terminal inactivo durante un rato o simplemente utilizo otro programa en ese momento (por ejemplo, Excel), el Asesor Experto que estoy probando empieza a funcionar incorrectamente después de volver al terminal. Es decir, las operaciones comerciales se realizan sin problemas. El único problema está en la interacción con los paneles de comercio e información. Parece que OnChartEvent() tiene fallos. El cambio entre los paneles empieza a ser muy lento, como si el proceso estuviera muy ocupado con otra cosa. No uso bucles eternos. También la carga de la CPU en este momento no indica que algo se utilice activamente. La recompilación del Asesor Experto ayuda. En el momento de la recompilación, antes de que se desinicialice el EA, aparece en el diario el mensajeTerminación anormal. Entonces el programa se inicializa con éxito y todo empieza a funcionar como un reloj.
En mi cuaderno de bitácora aparece con bastante frecuencia el mensaje: Terminación anormal. ¿Alguien se ha dado cuenta de cuándo puede haber un conflicto de este tipo?
Todavía no puedo encontrar la causa. Lo único que puedo decir es que si dejo el terminal inactivo durante un rato o simplemente utilizo otro programa en ese momento (por ejemplo, Excel), el Asesor Experto que estoy probando empieza a funcionar incorrectamente después de volver al terminal. Es decir, las operaciones comerciales se realizan sin problemas. El único problema está en la interacción con los paneles de comercio e información. Parece que OnChartEvent() tiene fallos. El cambio entre los paneles empieza a ser muy lento, como si el proceso estuviera muy ocupado con otra cosa. No uso bucles eternos. También la carga de la CPU en este momento no indica que algo se utilice activamente. La recompilación del Asesor Experto ayuda. En el momento de la recompilación, antes de que se desinicialice el EA, aparece en el diario el mensajeTerminación anormal. Entonces el programa se inicializa con éxito y todo empieza a funcionar como un reloj.
¿Utilizamos IsStopped() en los bucles?
Puede leer sobre estos problemas aquí, aquí y aquí. También hay que pensar en qué parte del código hay "cuellos de botella"...
Según tengo entendido, este error se produce en caso de terminación "temprana" del programa (cuando se cierra el gráfico/terminal o cuando se recompila EA), y durante este proceso se realiza algún trabajo por parte de EA.
¿Utilizamos IsStopped() en los bucles?
Lea sobre problemas similares aquí, aquí y aquí. Piensa también en los cuellos de botella del código...
Según tengo entendido, este error se produce en el caso de la terminación "temprana" de un programa (cuando se cierra el gráfico/terminal o se recompila el Asesor Experto), mientras el Asesor Experto realiza algún trabajo.
Gracias. Los enlaces muestran la misma situación. Nunca uso IsStopped() en los bucles, sólo break, continue y return.
Hasta ahora, no he visto ninguna conexión entreIsStopped() y la ralentización del programa. Al fin y al cabo, si el programa se congelara, no se realizaría ninguna otra operación. ¿O me equivoco?
Una cosa más.IsStopped() es útil cuando se necesita detener la ejecución de un programa a la fuerza, por ejemplo, para cerrar el terminal o eliminar el Asesor Experto del gráfico. Y necesito seguir usando el Asesor Experto.
Gracias. Los enlaces muestran la misma situación. No uso IsStopped() en los bucles en ninguna parte, sólo break, continue y return.
Hasta ahora, no he visto ninguna relación entreIsStopped() y la ralentización del programa. Si el programa se congelara, no se realizaría ninguna otra operación. ¿O me equivoco?
Una cosa más.IsStopped() es útil cuando se necesita detener la ejecución de un programa a la fuerza, por ejemplo, para cerrar el terminal o eliminar el Asesor Experto del gráfico. Y necesito seguir utilizando el Asesor Experto.
En mi cuaderno de bitácora aparece con bastante frecuencia el mensaje: Terminación anormal. ¿Alguien se ha dado cuenta de cuándo puede haber un conflicto de este tipo?
Todavía no puedo encontrar la causa. Lo único que puedo decir es que si dejo el terminal inactivo durante un rato o simplemente utilizo otro programa en ese momento (por ejemplo, Excel), el Asesor Experto que estoy probando empieza a funcionar incorrectamente después de volver al terminal. Es decir, las operaciones comerciales se realizan sin problemas. El único problema está en la interacción con los paneles de comercio e información. Parece que OnChartEvent() tiene fallos. El cambio entre los paneles empieza a ser muy lento, como si el proceso estuviera muy ocupado con otra cosa. No uso bucles eternos. También la carga de la CPU en este momento no indica que algo se utilice activamente. La recompilación del Asesor Experto ayuda. En el momento de la recompilación, antes de que se desinicialice el EA, aparece en el diario el mensajeTerminación anormal. Entonces el programa se inicializa con éxito y todo empieza a funcionar como un reloj.
Laterminación anormal significa que se ha interferido con el programa de forma no natural, es decir, recompilándolo en tiempo de ejecución, lo que lleva a la interrupción y reinicialización del programa.
Lo mismo ocurre si se produce una división por cero o se interrumpe el programa en tiempo de ejecución, pero si el programa se vuelve a poner en marcha, no se producirá dicha entrada. Por eso se aconseja comprobar IsStopped para que el programa pueda salir por su propio retorno en lugar de ser forzado a hacerlo.
¿Hay algún plan para añadir los siguientes elementos?
Haga doble clic en una posición del gráfico para que aparezca el menú de gestión de posiciones.
Resaltar varias posiciones para cerrarlas a la vez
????
Gracias.