Errores, fallos, preguntas - página 2646
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
porque la plantilla sólo emite tipos por parámetro, no por valor de salida.
Esto no es exacto.
Eso no es exacto.
Gracias.
Sí, funcionará, se confundió en la sintaxis
ZS: ahora todo funciona como estaba previsto:
Serialización en Base64 de las estructuras PODEso no es seguro.
No, no lo es. Usted señaló la configuración explícita de los tipos de parámetros de la plantilla en la función, y yo estaba hablando de la salida, sobre la configuración explícita fxsaber respondió antes que yo. y antes de que
No, es cierto. Usted señaló la configuración explícita de los tipos de parámetros de la plantilla en la función, y yo estaba hablando de la salida, sobre la configuración explícita fxsaber respondió antes que yo. y antes de que
No he podido encontrarlo en el foro ni en los documentos, así que tengo una pregunta:
1. ¿Cuál es el tamaño máximo de la cadena que puede almacenar MQL5?
2. ¿Cuál es el tamaño máximo de la cadena que puede almacenar el MQL4?
3. si hay una escasez de memoria, este tamaño máximo se reducirá (o no se asignará memoria para la cadena) o habrá un error de ejecución?
Defectos:
(no solucionado por MT5(build 2319)) error en la operación de caché de la clase de plantilla: "Creas un objeto complejo envuelto con el tipo interno "C" varias veces, y resulta ser un tipo de datos bastante diferente, tal vez "B", tal vez "int", lo que quieras...".
(no corregido por MT5(build 2319)) error con la generación de código de la clase de la plantilla cuando se utiliza la clase interna.
(no corregido MT5(build 2319)) error al definir la clase interna - no se puede hacer referencia explícita al espacio de nombres global al especificar una clase base.
Sugerencias:
ref - sobre la necesidad de introducir la funcionalidad de la declaración typedef en MQL.
Referencia- para permitir forzar la generación de constructores de copia y operadores de asignación por defecto.
Defectos:
Bien por ti por llevar un registro de tus informes de errores. No lo hice, por eso todo se perdió irremediablemente en el foro.
Tal vez deberías añadir algunos de los mismos registros de hash a tus posts de informes de errores, para poder buscarlos todos a la vez.
No lo he encontrado en el foro ni en los muelles, así que tengo una pregunta:
1. ¿Cuál es el tamaño máximo de la cadena que puede almacenar MQL5?
2. ¿Cuál es el tamaño máximo de la cadena que puede almacenar el MQL4?
3. si no hay suficiente memoria, este tamaño máximo se reducirá (o no se asignará memoria para la cadena) o habrá un error de ejecución?
Intento de probar una cadena en MT4
Las fugas de memoria son lentas (5,1 de 11,9), en MT4 en el registro:
StringLen = 221696000 , m_physical = 12157, m_total = 4095, m_available = 3365, m_used = 729
en general, para tareas sensibles, se puede utilizar una cadena grande, tal vez más tarde voy a copiar el archivo a través de una cadena para comprobar
UPD: sustituido uchar u_arr [102400]; por uchar u_arr[524224]; para acelerar el proceso
Conclusión: en MT4, el máximo aproximado que se puede poner en la cadena es:
2020.02.13 21:11:24.177 tst_string EURUSD,H1: fuera de memoria
2020.02.13 21:11:24.024 tst_string EURUSD,H1: StringLen = 640601728 , m_physical = 12157, m_total = 4095, m_available = 2556, m_used = 1539
es decir, unos 640 MB
SZZ: MT5
2020.02.13 21:56:12.964 tst_string (EURUSD,H1) StringLen = 1073610752 , m_physical = 12157, m_total = 24314, m_available = 21975, m_used = 2339
2020.02.13 21:56:13.140 tst_string (EURUSD,H1) out of memory in 'tst_string.mq5' (41,12)
intentó probar la cadena en MT4
La memoria se fuga un poco en Win Manager (5,1 de 11,9), en MT4 en el registro:
StringLen = 221696000 , m_physical = 12157, m_total = 4095, m_available = 3365, m_used = 729
en general, para tareas sensibles, se puede utilizar una cadena grande, tal vez más tarde voy a copiar el archivo a través de una cadena para comprobar
UPD: sustituido uchar u_arr[ 102400 ]; por uchar u_arr[524224]; para acelerar el proceso
Conclusión: en MT4 el máximo aproximado que se puede poner en cadena es:
2020.02.13 21:11:24.177 tst_string EURUSD,H1: fuera de memoria
2020.02.13 21:11:24.024 tst_string EURUSD,H1: StringLen = 640601728 , m_physical = 12157, m_total = 4095, m_available = 2556, m_used = 1539
es decir, unos 640 MB
SZZ: MT5
2020.02.13 21:56:12.964 tst_string (EURUSD,H1) StringLen = 1073610752 , m_physical = 12157, m_total = 24314, m_available = 21975, m_used = 2339
2020.02.13 21:56:13.140 tst_string (EURUSD,H1) out of memory in 'tst_string.mq5' (41,12)
Esta es la longitud de la cadena para Unicode, así que en MB es al menos el doble. 1,3 GB para MT4, lo que tiene sentido ya que se necesita un buffer de memoria continuo y MT4 es una aplicación de 32 bits. Así que la limitación de mql4 no es una limitación en sí misma, sino que sólo está limitada por la memoria disponible.
Me sorprende un poco que MT5 no permita más, ya que parece que tienes mucha memoria disponible. Me esforzaré al máximo por mi parte.
Esta es la longitud de la cadena para Unicode, así que en MB es al menos el doble. 1,3 GB para MT4, lo que tiene sentido ya que se necesita un buffer de memoria continuo y MT4 es una aplicación de 32 bits. Así que la limitación de mql4 en sí no es una limitación, sólo está limitada por la memoria disponible.
Me sorprende un poco que MT5 no permita más, ya que parece que tienes mucha memoria disponible. Me esforzaré al máximo por mi parte.
tengo 12gb de memoria, Windows 10 , memoria libre de unos 8gb
necesitaba esta prueba para averiguar la longitud máxima de línea permitida en los terminales mt4/ mt5
Ahora quiero intercambiar entre terminales a través de la base de datos Redis
Redis es una base de datos muy simple y sólo funciona con cadenas (clave - valor --> cadena - cadena)
Ayer he serializado estructuras POD en Base64 y aumenta el tamaño de los datos en aproximadamente 1/3
Creo que incluso en este caso tengo la posibilidad de intercambiar estructuras con un tamaño de 400 Mb por transacción - ¡eso es más que suficiente para cualquier propósito! ;)