Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1005
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
Así es como funciona.
Así es como funciona.
¿Estás seguro de que has leído todo lo que hay en la documentación? Incluso has leído esto:
Nota
La función sólo puede aplicarse a matrices dinámicas. Hay que tener en cuenta que las matrices dinámicas asignadas como búferes indicadores por la función SetIndexBuffer() no pueden cambiar de tamaño. Todas las operaciones relacionadas con el cambio de tamaño de las memorias intermedias de los indicadores son realizadas por el subsistema ejecutivo del terminal.
El número total de elementos de un array no puede superar los 2147483647.
Si la memoria se asigna con frecuencia, se recomienda utilizar el tercer parámetro que especifica la reserva para reducir la cantidad de memoria física asignada. Todas las llamadas posteriores a la función ArrayResize no darán lugar a una reasignación de memoria física, sólo a un cambio de tamaño de la primera dimensión del array dentro de la memoria reservada. Tenga en cuenta que el tercer parámetro sólo se utilizará cuando la asignación de memoria física esté en curso, por ejemplo:
ArrayResize(arr,1000,1000);
for(int i=1;i<3000;i++)
ArrayResize(arr,i,1000);
En este caso habrá 2 reasignaciones de memoria, una antes de entrar en el bucle para 3000 iteraciones, con la dimensión del array fijada en 1000 y la segunda en i igual a 2000. Si se omite el tercer parámetro, habrá 2.000 reasignaciones de memoria física y esto ralentizará la ejecución del programa.
¿Qué es lo que no está claro?
¿Estás seguro de que has leído todo lo que hay en la documentación? Incluso leer esto:
¿Qué es lo que no está claro en esto?
Bueno, ese es el punto que no hay imágenes ni ejemplos, y puedes adivinar lo que significan estas redistribuciones, y cómo usarlo 100% de acuerdo a la idea de los desarrolladores si no se explica. A juzgar por estas 3 líneas que están escritas aquí, creo que ArrayResize(arr,1000,1000); crea un array de 2 mil elementos. Pero aquí no está claro. Si hago ArrayResize(arr,1,1000); por ejemplo, 1000 se quedará colgado hasta que el array llegue a 1000.
O el programa utilizará este fragmento antes del overclocking, simplemente incrementando el contador. O este 1000 es solo para obtener rápidamente la memoria de la CPU, si es así entonces la memoria de respaldo también tendrá que ser transferida, entonces es más fácil trabajar sin respaldo. En general, no hay código, ni información, ni imágenes, ni idea de cómo funciona.
¿Alguna vez te ha pasado que tu disco duro arranca al 100% con la clase de sistema de algún tipo (en el 10)? También ocurre con el terminal de los alpes... Normalmente los terminales cargan el disco durante las pruebas, pero aquí es sólo kabbda... No es largo, de 3 a 5 segundos, pero es concreto
sucede, pero después de reiniciar el PC
a los 10-15 minutos de reiniciar el PC, Windows Defender "mastica el disco" y se recogen las estadísticas de uso del PC
solución - suspender el PC, mi PC puede estar un mes sin reiniciar, presiono el botón de reposo en el teclado en lugar de apagar el PC - un par de veces se fue la luz, no hay problema con Win10 arrancando si el PC estaba en reposo
Esa es la cuestión, no hay imágenes ni ejemplos, y se puede adivinar lo que significan estas redistribuciones, y cómo usarlo al 100% según la idea de los desarrolladores si no se explica. A juzgar por estas 3 líneas que están escritas aquí, creo que ArrayResize(arr,1000,1000); crea un array de 2 mil elementos. Pero aquí no está claro. Si hago ArrayResize(arr,1,1000); por ejemplo, 1000 se quedará colgado hasta que el array llegue a 1000.
O el programa utilizará este fragmento antes del overclocking, simplemente incrementando el contador. O este 1000 es solo para obtener rápidamente la memoria de la CPU, si es así entonces la memoria de respaldo también tendrá que ser transferida, entonces es más fácil trabajar sin respaldo. En general, no hay código, ni información, ni fotos, ni idea de cómo funciona.
Debes leer no sólo las tres líneas de código, sino también el texto que lo explica todo con bastante claridad.
La memoria reservada y el tamaño de la matriz son nociones diferentes. Si anulas el tamaño del array con ArrayResize(arr,1000,1000); el último elemento del array será 999 y no más. Pero si necesitas aumentar el tamaño del array, no habrá reasignación de memoria. Si no necesitas tal reserva de tamaño de matriz, hazla más pequeña o no la reserves.
¡Buenas tardes!
Quiero poner un parámetro como un array en una función. No sé cómo hacerlo bien. ¿Puede corregir el ejemplo?
¡Buenas tardes!
Quiero poner un parámetro como un array en una función. No sé cómo hacerlo bien. ¿Puede corregir el ejemplo?
Gracias.