Errores, fallos, preguntas - página 3038

 
Andrey Khatimlianskii:

La cuestión es la relación entre el "tiempo de compresión/descompresión" y el "espacio de disco ocupado".

Por supuesto, es posible encontrar una solución mejor. Simplemente es un poco más complicado dentro de un terminal que una solución privada "para uno mismo".

No se trata de comprimir datos, sino de comprimirlos lógicamente para formar matrices indexadas. El tiempo de acceso a un elemento del array es casi el mismo. En algunos casos es incluso más rápido.

 
Nikolai Semko:

No se trata de comprimir datos, sino de comprimirlos lógicamente para formar matrices indexadas. El tiempo de acceso a un elemento del array es casi el mismo. En algunos casos, incluso más rápido.

¿Está preparado para ofrecer una solución MQ?

No me inclino a pensar que alguien que ha hecho algo como MT es un idiota. No siempre está justificado, pero suele ser así. Así que es probable que su solución tenga un trasfondo. Pero no es seguro )

 
Andrey Khatimlianskii:

¿Qué es la muleta?

¿Que un millón de usuarios están protegidos (y los corredores junto con ellos) y hay que recargar el terminal 2 veces?

Me parece una solución lógica. Es mucho más lógico que hacerlo conveniente sólo para ti)

¿Cuál es la defensa, Andrei?
No tienes que reiniciar nada.
Los datos ya están en los archivos.

 
Andrey Khatimlianskii:

¿Está preparado para ofrecer una solución MQ?

No tiendo a pensar en alguien que ha hecho algo como MQ como un idiota. No siempre está justificado, pero suele ser así. Así que es probable que su solución tenga un trasfondo. Pero no es seguro )

Vamos.
Siempre hay una solución mejor a una existente.
Sin embargo, no te conviertas en un veterano.

 
Nikolai Semko:

¿Cuál es la defensa, Andrei?
No es necesario recargar nada.
Los datos ya están en los archivos.

Lo más importante es que estos datos no serán leídos por los indicadores y Asesores Expertos, cargando la memoria operativa. ¿Para qué?

 
Nikolai Semko:

Vamos.
Siempre hay una solución mejor que la existente.
Pero no te conviertas en un anciano.

Seguro que sí.

Así que tal vez no sea una prioridad.

 
Andrey Khatimlianskii:

En que estos datos no serán leídos por los indicadores y EAs, cargando la RAM también. ¿Para qué es eso?

bien para dispararse en el pie - hay innumerables opciones como es.
Sólo estableciendo max_bars =Unlimited, el consumo de memoria aumenta dramáticamente.
Aquí está un ejemplo de la terminal con max_bars = 5000

Ahora cambia max_bars = Unlimited y vuelve a cargar el terminal.

Con las mismas ventanas abiertas, el consumo de memoria ha aumentado en más de GB. ¡¡¡¡En mi caso 11 veces más !!!!
Esto es normal ))
Puedes comprobarlo tú mismo.
max_bars = Unlimited es un lujo muy duro.
Si

mi petición fuera atendida, nunca se podría utilizarmax_bars = Unlimited.
Y además de ahorrar memoria en la RAM, también reduciría mucho esta carpeta, que ahora tengo unos 31GB. Creo que unas 5 veces más. Y serían 6GB en lugar de 30GB.


 
Andrey Dik:

una solución de muleta es mantener la base de datos en una carpeta, y deslizar enlaces a la carpeta con la base de datos en las carpetas de los agentes

Hace tiempo sugerí implementar en MT la posibilidad de elegir la ruta de acceso a las carpetas con fuentes y bases de datos históricas.

Si varios terminales acceden al mismo corredor, al utilizar los enlaces se puede obtener un error de acceso, pero esto no debería ser (teóricamente) un problema para los agentes.

¿De verdad? En la ayuda de MT5 no he encontrado nada sobre esta pestaña de ajustes, ¿cuándo ha aparecido? - No tengo ni idea de qué hacer con él.

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Bichos, errores, preguntas

Andrey Dik, 2021.05.30 19:58

Si quiere operar en el MetaTrader, tiene que crear una carpeta de agente y copiar en ella el enlace a la carpeta con la base de datos.

el mt ha sugerido desde hace tiempo que se implemente la posibilidad de seleccionar la ruta de acceso a las carpetas con fuentes y bases de datos históricas como una característica estándar.

Si varios terminales acceden al mismo símbolo del corredor, es posible que se produzca un error de acceso al utilizar los enlaces, pero esto no debería ser (en teoría) un problema para los agentes.


 
Nikolai Semko:

bien para dispararse en el pie - hay innumerables opciones como es.
Sólo estableciendo max_bars =Unlimited, el consumo de memoria aumenta dramáticamente.
Aquí está un ejemplo de la terminal con max_bars = 5000

Ahora cambia max_bars = Unlimited y vuelve a cargar el terminal.

Con las mismas ventanas abiertas, el consumo de memoria ha aumentado en más de GB. ¡¡¡¡En mi caso 11 veces mayor !!!!
Esto es normal ))
Puedes comprobarlo tú mismo.
max_bars = Unlimited es un lujo muy duro.

Si ahora hablamos de consumo de memoria,@fxsaber tuvo el mismo problema hace un par de meses, pero con la carga de ticks - después de liberar arrays con ticks, el terminal no libera memoria, sino que almacena (¿durante 10 segundos?) estos ticks como caché

Es muy probable que su solicitud tenga el mismo problema: el consumo de memoria no disminuirá, sino que aumentará (a raudales)

 
Anton:

Esto lo proporciona el terminal.

Sí, así es.

Gracias por la respuesta.

Sería muy conveniente tener un operador/función en MQL5 que compruebe el cálculo de todos los indicadores y si los indicadores están calculados, salga verdadero, de lo contrario hay que hacerlo con su propia función, comprobando cada buffer de indicadores. Esto es muy relevante para un EA que trabaja con indicadores TF multitarea. Además, esta característica del retraso en el cálculo no permite utilizar correctamente el modo OHLC, porque en el primer y segundo tick no se calculan todos los indicadores, lo cual es crítico.

Razón de la queja: