Errores, fallos, preguntas - página 3153

 

Bug- Indicador de código fantasma

Hay un indicador, hay un espert trabajando en ello. Se cambia el código del indicador. Se vuelve a compilar y los cambios en los indicadores se pueden ver claramente en el gráfico. El Asesor Experto se ejecuta en el probador, pero parece que el código no fue cambiado. El resultado es el mismo.

Incluso puede eliminar el ex5 del indicador. Puedes seguir ejecutando el experto en el probador (este ex5 borrado está claramente marcado en él) como si no hubiera pasado nada. ¿De dónde obtiene el archivo para su ejecución, de ether????

Si reinicia el terminal y ejecuta el probador después de eso verá el nuevo código. (y arroja un error si falta ex5)


Intenté diferentes maneras de hacer que viera el nuevo código - volví a entrar en la terminal (sin reiniciar) y recompilé el espert mismo. Modificación de los parámetros de los expertos en el probador. Nada ayuda, excepto reiniciar el terminal

 
Max B #:

Bug- Indicador de código fantasma

Hay un indicador, hay un espert trabajando en ello. Se cambia el código del indicador. Se vuelve a compilar y los cambios en los indicadores se pueden ver claramente en el gráfico. El Asesor Experto se ejecuta en el probador, pero parece que el código no fue cambiado. El resultado es el mismo.

Incluso puede eliminar el ex5 del indicador. Puedes seguir ejecutando el experto en el probador (este ex5 borrado está claramente marcado en él) como si no hubiera pasado nada. ¿De dónde obtiene el archivo para su ejecución, de ether????

Si reinicia el terminal y ejecuta el probador después de eso verá el nuevo código. (y arroja un error si falta ex5)


Intenté diferentes maneras de hacer que viera el nuevo código: volví a iniciar la sesión en la terminal (sin reiniciar) y recompilé el propio espert. Modificación de los parámetros de los expertos en el probador. Nada ayuda excepto reiniciar el terminal.

Ya has respondido a tu propia pregunta. Si borras algo y aparece, significa que se está guardando en algún sitio)). Al arrancar el terminal, todo el entorno se extrae del perfil del último estado. Es como si hubiera restablecido todos los Asesores Expertos e indicadores en la ventana de la terminal con parámetros preestablecidos. En su caso, el Asesor Experto necesita ser recompilado o puede ser eliminado y vuelto a cargar. Este (el EA) ya ha sacado las asas y los datos de la versión antigua y no los recalcula.

 
Valeriy Yastremskiy #:

Usted mismo ha respondido a su propia pregunta. Si borras algo y aparece, debe estar almacenado en algún sitio). Cuando se carga el terminal, todo el entorno se extrae del perfil del último estado. Es como si hubiera restablecido todos los Asesores Expertos e indicadores en la ventana de la terminal con parámetros preestablecidos. En su caso, el Asesor Experto necesita ser recompilado o puede ser eliminado y vuelto a cargar. El EA ya ha sacado las asas y los datos de la versión antigua y no los recalcula.

El Asesor Experto en el terminal no se cuelga de nada, es sólo el probador de estrategias el que lo deja entrar. El propio Asesor Experto tiene un deinit donde tengo IndicatorRelease(handle_mtf_Sys); he intentado recompilar el EA - no ayuda. Sigue de alguna manera tomando el código fantasma

 
Max B #:

El Asesor Experto en el terminal no se cuelga de nada, sólo lo permite el probador de estrategias. El propio Asesor Experto tiene un deinit en el que IndicatorRelease(handle_mtf_Sys); he intentado recompilarlo - no ayuda. Sigue de alguna manera tomando código fantasma

En el probador, además de la pestaña de Configuración, también hay una pestaña de Ajustes. Compruébalos, quizás haya valores antiguos por defecto. Si no es eso también, entonces sí, es un bug, a mí me pasó lo mismo hace unos 2 meses, luego se me fue, no sé de qué se trataba.
 
Max B #:

El Asesor Experto en el terminal no se cuelga de nada, sólo lo permite el probador de estrategias. El propio Asesor Experto tiene un deinit donde tengo IndicatorRelease(handle_mtf_Sys); he intentado recompilar el EA - no ayuda. Sigue de alguna manera tomando código fantasma

¿Primero compilas el indicador y luego el EA? ¿Y el EA toma los datos del antiguo indicador? Si es así, debe ser un error. El Asesor Experto no se cuelga, funciona en la ventana del gráfico del terminal. Y el cierre normal recuerda y almacena en caché el estado de todos los gráficos. Tal vez incluso con archivos físicos. No lo sé. Pero a juzgar por el bicho es posible.

Si ha eliminado un exechanger, pero tiene un archivo mcl, entonces todos los archivos mcl con exechangers que faltan se compilan cuando se carga el terminal. Esta es una de las formas de compilar y obtener exeshes de archivos mcl sin meta-editor - para recargar el terminal.

 
Wizard #:
En el Probador de Estrategias, además de la pestaña de Ajustes, también existe la pestaña de Ajustes. Compruébalos, puede que los valores antiguos estén ahí por defecto. Si no es lo mismo, entonces sí, se trata de un bug, hace 2 meses, estaba igual, luego desapareció, no sé de qué se trataba.

Los parámetros se memorizan allí, pero no cambian y no importan en este caso. Lo que cambia es el código dentro del indicador. En general, el error es desagradable - cada vez que se ejecuta el probador, el terminal tiene que ser recargado.

Valeriy Yastremskiy #:

¿Primero se compone el indicador, luego el Asesor Experto, y el Asesor Experto toma los datos del antiguo indicador? Si es así, debe ser un error. El Asesor Experto no se cuelga, funciona en la ventana del gráfico del terminal. Y el cierre normal recuerda y almacena en caché el estado de todos los gráficos. Tal vez incluso con archivos físicos. No lo sé. Pero a juzgar por el bicho, puede ser así.

La cuestión es que nuestro EA no se asienta en ningún gráfico. Sólo está en el probador de estrategias seleccionado. Me preocupa la depuración en el probador de estrategias, no en el terminal. No debería estar en la caché de ningún sitio.

Al iniciar el Probador de Estrategias, se debe cargar la última versión compilada del indicador y del EA, no el fantasma desconocido de fuentes desconocidas. ¿Tiene sentido?

 
Max B #:

Los parámetros se memorizan allí, pero no cambian y no importan en este caso. Lo que cambia es el código dentro del indicador. En general, este error es desagradable - cada vez antes de iniciar el probador tengo que reiniciar el terminal.

La cuestión es que nuestro EA no pertenece a ningún gráfico. Sólo está en el probador de estrategias. Me importa la depuración en el probador de estrategias, no en el terminal. No debería estar en la caché de ningún sitio.

Al iniciar el Probador de Estrategias, se debe cargar la última versión compilada del indicador y del EA, no el fantasma desconocido de fuentes desconocidas. ¿Tiene sentido?

Haz un ejemplo reproducible de un error y publícalo aquí con el código y la secuencia de acciones. Tal vez los desarrolladores presten atención).
 

Quiero hacer una lista desplegable de pares de divisas e instrumentos (pares propios) en la ventana de configuración de entrada del EA. ¿Cómo puedo hacerlo?

Segunda pregunta: ¿Cómo sería correcto escribir...

Así:

double stop = SymbolInfoDouble(_Symbol, SYMBOL_ASK) - NormalizeDouble(100*_Point, _Digits);

O así:

double stop = NormalizeDouble(SymbolInfoDouble(_Symbol, SYMBOL_ASK) - 100*_Point, _Digits);

???

Tercera pregunta. ¿Es posible normalizar los precios 2-3 veces seguidas? ¿No afectará al trabajo?

Sé que las preguntas son tontas, pero son las pequeñas cosas que me atormentan en este momento, aunque ambas opciones funcionen. Hay que saber cómo hacerlo bien.

 
Wizard #:

Quiero hacer una lista desplegable de pares de divisas e instrumentos (pares propios) en la ventana de configuración de entrada del EA. ¿Cómo puedo hacerlo?

Segunda pregunta: ¿Cómo sería correcto escribir...

Así:

O así:

???

Tercera pregunta. ¿Es posible normalizar los precios 2-3 veces seguidas? ¿No afectará al trabajo?

Sé que las preguntas son tontas, pero son las pequeñas cosas que me atormentan en este momento, aunque ambas opciones funcionen. Hay que saber cómo hacerlo bien.

Esta construcción NormalizeDouble debería evitarse si es posible, es pesada de manejar.

 
Vitaly Muzichenko #:

Esta construcción NormalizeDouble debería evitarse si es posible, es pesada de manejar.

Lo tengo. Y si no quiero usar la función NormalizePrice de la clase CSymbolInfo (trato de evitar las librerías si es posible), ¿hay alguna alternativa?

Документация по MQL5: Стандартная библиотека / Торговые классы / CSymbolInfo
Документация по MQL5: Стандартная библиотека / Торговые классы / CSymbolInfo
  • www.mql5.com
CSymbolInfo - Торговые классы - Стандартная библиотека - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5