Errores, fallos, preguntas - página 1089

 
MoneyJinn:

Esta fue la inicialización completa estándar del indicador, que se realiza en su primer arranque y se hace a través de Oninit().

A veces, cuando se actualiza el historial, etc., también hay que hacerlo.

Nadie pensó nunca que la repetida inicialización del indicador a través de Oninit() provocaría que las matrices dejaran de responder.

¿Por qué?

"SetIndexBuffer Vincula el búfer indicador especificado a la matriz dinámica unidimensional"

¿Estás vinculando los buffers a otras matrices cuando actualizas el historial?

Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
  • 2010.10.25
  • Nikolay Kositsin
  • www.mql5.com
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
 
MoneyJinn:

Esta fue la inicialización completa estándar del indicador, que se realiza en su primer arranque y se hace a través de Oninit().

A veces, cuando se actualiza el historial, etc., también hay que hacerlo.

Nadie pensó nunca que la repetida inicialización del indicador a través de Oninit() provocaría que las matrices dejaran de responder.

Ya se le ha ofrecido mostrar el código fuente aquí, para al menos entender cuál es el problema.

Dos líneas de código (aunque el código fuente) no permiten determinar el problema.

 
MoneyJinn:

Esta fue la inicialización completa estándar del indicador, que se realiza en su primer arranque y se hace a través de Oninit().

A veces, cuando se actualiza el historial, etc., también hay que hacerlo.

Esto no es necesario.

Simplemente se vuelve a enlazar por error, y entonces se espera guardar los datos en el buffer y dirigirlos hasta que se recalcule el indicador. Por eso se obtiene un legítimo fuera de rango al acceder a datos inexistentes en el índice equivocado.

 
Renat:

No hay necesidad de eso.

Lo que ocurre es que se vuelve a enlazar por error, y luego se espera guardar los datos en el buffer y acceder a ellos hasta que llegue el recálculo del indicador. Por eso se obtiene un fuera de rango lógico al acceder a datos inexistentes en el índice equivocado.

Inicializo deliberadamente con la puesta a cero del búfer, por lo que en principio no cuento con guardar los datos.

El problema es que después de volver a enlazar el array no se llena y es cuando intento escribir cuando aparece el error especificado.

Si esto es la norma, entonces bien...

 

La memoria intermedia está vacía hasta que llega la petición de recalcular el indicador.

Y si lo reinicias/religas forzosamente, no tienes derecho a acceder a ninguno de sus elementos hasta que llegues al manejador del indicador OnCalculate.

 
En la página Módulos de señales de comercio en ruso, en la columna "Tipo de señal" dice "Para comprar" y "Para vender", o más correctamente "Para...". Lo más probable es que sea una traducción literal del inglés con "For...".
 

¡Buenas tardes!

Ayúdame a ordenar la actividad de la terminal.

Me inscribíen una señal, el terminal funcionó durante un tiempo - abrió y cerró órdenes. Entonces la cuenta fue bloqueada con el comentario "por alta carga del servidor". El soporte dijo que mi terminal estaba generando muchas peticiones al servidor (abriendo, cerrando, modificando, etc.). Puedo ver en los registros que metatrader intenta sincronizar su estado una vez cada dos minutos y no pasa nada más.

¿Hay alguna forma de llevar un control del número de peticiones del metatrader al servidor para que no se bloquee toda la cuenta?

 

1.Dime, ¿es fiable el uso de banderas y variables estáticas cuando se utiliza un servidor vps?

A veces, en condiciones complejas de EA es necesario utilizar hasta diez o más banderas, sin contar las variables estáticas.

2.¿Para restablecer todas las banderas y variables estáticas sería suficiente con eliminar el EA del gráfico?

3.¿Qué pasa si se reinicia el servidor, se mantendrán las banderas y las variables estáticas?

4. Si el servidor se cae repentinamente, ¿se reiniciarán las banderas y las variables de estadísticas cuando se encienda el servidor?

Las preguntas se refieren a MQL4 y MQL5.

 
forexman77:

1.Dime, ¿es fiable el uso de banderas y variables estáticas cuando se utiliza un servidor vps?

A veces, en condiciones complejas de EA es necesario utilizar hasta diez o más banderas, sin contar las variables estáticas.

2.¿Para restablecer todas las banderas y variables estáticas sería suficiente con eliminar el EA del gráfico?

3.¿Qué pasa si se reinicia el servidor, se mantendrán las banderas y las variables estáticas?

4. Si el servidor se cae repentinamente, ¿se reiniciarán las banderas y las variables de estadísticas cuando se encienda el servidor?

Estas preguntas están relacionadas con MQL4 y MQL5.

1. No importa si tienes VPS o tu propio PC; lo principal es que MQL4/5 funcione.

2. Sí.

3. No se guarda.

4. Sí, lo harán.

Si quieres que las banderas se guarden, escribe sus valores en un archivo y luego léelos. Prueba a quitar las funciones de trading del Asesor Experto, deja las que ponen banderas, ponlas en el comentario, escribe sus valores, recarga MT4/5 y mira qué pasa.

 
paladin800:

1. Sí, no importa si es un VPS o tu propio ordenador, siempre que MT4/5 funcione.

2. Sí.

3. No guardar.

4. Sí, lo harán.

Si quieres que las banderas se guarden, escribe sus valores en un archivo y luego léelos. Prueba a quitar las funciones de trading del Asesor Experto, deja las que ponen banderas, escribe sus valores en el comentario, recarga MT4/5 y mira qué pasa.

¡Gran solución con la escritura en el archivo!

Документация по MQL5: Файловые операции / FileWrite
Документация по MQL5: Файловые операции / FileWrite
  • www.mql5.com
Файловые операции / FileWrite - Документация по MQL5