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
Era necesario transferir enormes cantidades (gigabytes) de datos. La implementación a través de esta librería, desafortunadamente, mostró un rendimiento súper bajo.
Tuve que rehacerlo completamente usando el conjunto DLL original. Funcionó rápidamente.
Desafortunadamente, FileMapping tiene una desventaja significativa. Si la aplicación hija (que lee los datos) no ha terminado su trabajo correctamente por alguna razón ( llamadas akernel32:: UnmapViewOfFile y kernel32::CloseHandle) , el "archivo" permanece colgado en memoria hasta que se cierran todos los procesos desde donde se abrió ( llamadas a kernel32 ::OpenFileMappingW y kernel32::MapViewOfFile). En particular, no se puede cambiar su tamaño - reabrirlo (cerrar y volver a abrir).
No he encontrado una solución al problema. Es difícil encontrarse con una situación así con esta librería, porque cada acción en ella comienza con la apertura y termina con el cierre. Por eso es tan lenta. Pero aún así puedes encontrarte con este error. Y entonces el programa MQL se bloqueará con este mensaje.
Por alguna razón obtengo errores al intentar compilar el archivo memmap.mq5:
¿Puede alguien decirme qué estoy haciendo mal? ¿Y cómo solucionarlo?
Las fuentes de la biblioteca no cumplen los requisitos actuales del lenguaje MQL5.
¿Hay alguna forma de corregirlo? ¿O es necesario rehacer todas las fuentes y es imposible hacerlo sin el autor? Creo que el compilador generó sólo 3 errores aquí. Sería genial si se pudiera corregir.
¿Hay alguna forma de arreglarlo? ¿O es necesario rehacer todos los fuentes y es imposible hacerlo sin el autor? Creo que el compilador dio sólo 3 errores aquí. Sería genial si se pudiera corregir.
Y aquí ya he corregido el código yo mismo. Aquellos que lo necesitan pueden utilizarlo. El Asesor Experto compila correctamente con él.
He añadido esto a partir de la línea 251: