Errores, fallos, preguntas - página 1593
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
El guión mágico invierte el tiempo ;-)
El smartphone recibe un mensaje sobre una reseña del producto, pero no en la LC ni en la parte superior del sitio web de mcl.
No es un error, pero no puedo evitar compartirlo
Escribir
El compilador emite una advertencia
fecha no válida *****.mq4 115 46
También comprueba que las fechas de las cadenas sean válidas, estoy sorprendido ) (30 días de junio)
Aparentemente a nadie le importa esto, pero voy a escribir de nuevo.
La verdadera tarea consiste en crear matrices con un tamaño total de aproximadamente el 100% de la memoria libre, llenarlas rápidamente con números, realizar cálculos y liberarlas.
Intento obtener el tamaño de la memoria libre con
resultado : 23987 MB, mi memoria física es de 12141 MB, es decir, la mitad.
Entiendo que esta cifra es para los marcianos, pero aún así me lo creo y escribo un script para probarlo:
Obtengo un resultado lógico: es imposible asignar array3 porque la memoria se ha agotado.
Luego descomento la línea, donde especifico cuánta memoria está disponible ahora:
Después de eso, el script se ejecuta con éxito.
No quiero ser una molestia para los desarrolladores, pero es importante saber cuánta memoria está disponible.
Por favor, haga posible conocerlo a través de TerminalInfoInteger.
¿Sabe que en la mayoría de los casos no podrá recuperar toda la memoria disponible?
Existe la fragmentación de la memoria. Has decidido dividir toda la memoria en 5 fragmentos - y el sistema no tiene un solo fragmento ininterrumpido de memoria del tamaño que necesitas.
¿Sabe que en la mayoría de los casos no podrá recuperar toda la memoria disponible?
Existe esta noción: la fragmentación de la memoria. Has decidido dividir toda la memoria en 5 fragmentos - pero el sistema no tiene un solo fragmento de memoria continua del tamaño que necesitas.
1. ¿Puede averiguar primero qué significa físicamente el parámetro TERMINAL_MEMORY_AVAILABLE?
2. En cuanto a los fragmentos, creo que esto debería ser manejado por el administrador de memoria de Windows, no por el programador.
Necesito saber cuánto puedo utilizar en un momento dado, por ejemplo, quiero utilizar el 50% de la memoria disponible.
Otra tarea real es la solicitud de CopyTicks. Si solicita más ticks que la memoria disponible, se queda "sin memoria".
Otro verdadero reto es la solicitud de CopyTicks. Si solicita más ticks que la memoria disponible, se queda "sin memoria".
Alternativamente, cargue los datos en un archivo y tome los segmentos requeridos desde allí
Eso es lento para mí. Quiero hacerlo todo a través de la memoria. En realidad se está haciendo ahora, pero tengo que llamar a GlobalMemoryStatusEx para averiguar el tamaño de la memoria disponible.
Este problema es especialmente grave cuando se optimiza sobre agentes en la nube, de cuyas capacidades no se sabe nada desde el principio. Es imposible determinar la cantidad real de memoria disponible allí, ni a través de MQL, ni a través de WinApi (porque las llamadas a dlls están prohibidas).
Realmente no está claro qué sentido práctico tiene entonces TERMINAL_MEMORY_AVAILABLE... ¿Por qué lo introducimos si no nos hace ni felices ni infelices?