Errores, fallos, preguntas - página 1516

 
zaskok3:

Deja de fingir que no entiendes nada: el fondo se puede arrastrar desde el pendrive. Hay muchas otras formas. Lo principal es alargarlo. Ni siquiera tienes que hacerlo en el propio ordenador de otra persona.

Has transferido tus contraseñas, has habilitado el guardado de contraseñas en el ordenador de otra persona y lo has llamado agujero. Has ocultado hasta el último momento el hecho de que has activado el ahorro de contraseñas.

La conclusión es lógica: una docena de sus clones ya han sido puestos en libertad por reincidencia.

 
Renat Fatkhullin:
¿Hay planes para hacer cambios en la funcionalidad del MetaEditor para resaltar las variables, en el depurador para crear automáticamente todas las variables utilizadas? Como en Qt Creator IDE o VS.
 
coderex:
¿Hay planes para hacer cambios en la funcionalidad del MetaEditor para resaltar las variables, en el depurador para crear automáticamente todas las variables utilizadas? Como en Qt Creator IDE o VS.
Sí, definitivamente.
 
Renat Fatkhullin:
Sí, lo haré.
Me pregunto cuán pronto...
[Eliminado]  
Slawa:
Por favor, compruebe la aplicación #1416121 sobre la inicialización de variables globales/estáticas.
 
Alexey Kozitsyn:
Por favor, revise la solicitud #1416121 sobre la inicialización de variables globales/estáticas.

En la cola. La aplicación sólo tiene dos horas.

Por lo general, estas preguntas deben hacerse en un foro. Porque puede afectar a mucha gente. Me tomaré la libertad de citarte y luego responderte.

Hola. Corrígeme si me equivoco. Las variables estáticas y globales se inicializan una vez antes de iniciar el programa (es decir, la función OnInit()). En consecuencia, si el programa se desinicializa (se llama a la función OnDeinit()), el programa debe "olvidar" los valores de las variables globales/estáticas y antes de la próxima ejecución OnInit() inicializarlas con los valores iniciales.

He encontrado un dato interesante en mql4 Expert Advisors. Si se declaran variables globales/estáticas, entonces, por ejemplo, al cambiar los parámetros de entrada, es decir, después de OnDeinit(), los valores de estas variables no se restablecen. Pero en los indicadores - lo son. ¿Qué hacer? Esto parece un error.

Lo he comprobado en mql5 (build 1241 x64) - similar. En los Asesores Expertos - no se reinicia, en los indicadores - se reinicia.

Se trata de un comportamiento planificado. Además, se describe claramente en la documentación

Carga y descarga de indicadores

Los indicadores se cargan en los siguientes casos:

-Acoplarun indicador a un gráfico;

-inicio del terminal(si un indicador se adjuntó a un gráfico antes del cierre anterior del terminal)

-Cargade una plantilla (si la plantilla contiene un indicador adjunto al gráfico)

-Cambiarel perfil (si un indicador está unido a uno de los gráficos del perfil);

-Cambiarel símbolo y/o el periodo del gráfico al que se adjunta el indicador;

-después de larecompilación exitosa de un indicador, si este indicador se ha adjuntado a un gráfico

-Cambio de los parámetros de entrada del indicador.

Los indicadores se descargan en los siguientes casos:

-alseparar un indicador de un gráfico;

-Cierredel terminal (si un indicador está unido a un gráfico);

-Cargade una plantilla, si se adjunta un indicador a un gráfico

Cerrar elgráfico al que se ha adjuntado un indicador; - Cerrar el terminal (si se ha adjuntado un indicador al gráfico)

-Cambiarun perfil, si un indicador está unido a uno de los gráficos del perfil que se va a cambiar;

-Cambiarel símbolo y/o el periodo del gráfico, al que está unidoel indicador;

-Cambiar losparámetros de entrada del indicador.

La descarga y la carga implican la reinicialización completa de todo.

En el Cinco, como usted ha señalado correctamente, la situación es similar.

Es cierto, históricamente era así, en MQL4 primero cambiamos este comportamiento (para hacerlo como en los expertos, es decir, el comportamiento que se espera). Pero surgieron muchas dudas con los antiguos indicadores, que se basaban en esta inicialización. Nos vimos obligados a volver

En los cinco, este fue el caso inmediatamente debido a la arquitectura. Cuando se cambian los parámetros, se destruye el antiguo indicador con los antiguos parámetros y se crea el nuevo indicador con los parámetros modificados.

Input переменные
Input переменные
  • docs.mql4.com
Input переменные
[Eliminado]  
Slawa:
En la cola. La aplicación sólo tiene dos horas.

Lo he duplicado aquí por si acaso.

Se trata de un comportamiento planificado. Además, estáclaramente descrito en la documentación.

Acabo de mirar aquí y aquí. Y creo que es lógico, ya que estoy trabajando con una clase de memoria estática. Y, de nuevo, tiene sentido que si hay una "trampa" en forma de técnicas establecidas en relación con diferentes tipos de programas, sería bueno describirlo también en la documentación de la clase de memoria estática (variables estáticas y globales).

Por favor, añada a los comentarios.

 
Alexey Kozitsyn:

Lo he duplicado aquí, por si acaso.

Es que he mirado aquí y aquí. Y creo que es lógico, ya que estoy trabajando con una clase de memoria estática. Y, de nuevo, tiene sentido que si hay una "trampa" en forma de técnicas establecidas en relación con diferentes tipos de programas, sería bueno describirlo también en la documentación de la clase de memoria estática (variables estáticas y globales).

Por favor, añada a los comentarios.

¿Qué comentarios? ¿Sobre la carga/descarga del programa?
[Eliminado]  
Slawa:
¿Qué comentario? ¿Sobre la carga/descarga de programas?
Sobre el hecho de que la inicialización de las variables estáticas y globales es causada por diferentes eventos en los indicadores y Asesores Expertos. Añadir, en consecuencia, en el párrafo sobre las variables globales y estáticas, en la subsección "observaciones".
 

Ayuda de MT5:

IsStopped
 
Проверяет принудительное завершение работы mql5-программы.
 
bool  IsStopped();
 
Возвращаемое значение
 
Возвращает true, если в системной переменной _StopFlag содержится значение, отличное от 0. Ненулевое значение записывается в переменную _StopFlag, если поступила команда завершить выполнение mql5-программы. 
В этом случае необходимо как можно быстрее завершить работу программы, в противном случае программа будет завершена принудительно извне через 3 секунды.

Acabo de comprobarlo: el indicador se retira del gráfico pero sigue funcionando durante 3 segundos, 10 segundos, 3 minutos...(IsStopped no se comprobó allí, esta no es la cuestión)

1) ¿Por qué dice "terminación forzada durante 3 segundos" pero no funciona en la realidad?

2) ¿Por qué los procesos (scripts, indicadores, Asesores Expertos, agentes probadores) no terminan forzosamente cuando se eliminan de un gráfico, un usuario detiene una prueba, etc.?