Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 1012

 
MGSMGS:
Hola, podrían decirme si es posible convertir el valor de una variable de texto en el nombre de otra variable. O comparar el texto de una variable con el nombre de otra variable. ¿entonces qué?) Gracias de antemano

En MQL no se puede.

ZZY Si se trata de algo así, se puede. Enum al rescate.

 
MGSMGS:
Hola, podrías decirme si es posible convertir el valor de una variable de texto en el nombre de otra variable. O comparar el texto de una variable con el nombre de otra variable.
Se puede, si la variable es global. GlobalVariableSet()
 
¡Buenos días, colegas! Llevo una semana luchando con esto, he añadido códigos ya hechos a los ámbitos, pero aunque los compile sin errores, siguen sin funcionar en el probador, ¡he buscado por todo Internet! Creo que el expert advisor no es malo si está bien afinado, puedo apretar el beneficio con trailing stops, por favor ayuda, me hierve la cabeza)) No tengo ni idea de qué hacer con él.
Archivos adjuntos:
 
AlexeyVik:

Por favor, trate de mantener sus preguntas dentro de este hilo.

Y lee atentamente toda la documentación, recordarás que la función que necesitas está ahí. Todo lo que tienes que hacer es encontrarlo. Aquí está ArrayFree.


Gracias por su respuesta. La funciónArrayFree está diseñada para trabajar con arrays dinámicos, como está escrito en la documentación, y yo pedí arrays estáticos.
 
i999i:
Gracias por su respuesta. La funciónArrayFree está diseñada para trabajar con arrays dinámicos, como está escrito en la documentación, y yo pregunté sobre arrays estáticos.
Pues bien, las matrices estáticas se reservan la memoria inmediatamente, independientemente de si tienen datos o no. Si hay necesidad de liberar memoria, debe utilizar matrices dinámicas, no estáticas.
 
AlexeyVik:
Las matrices estáticas se reservan inmediatamente la memoria para sí mismas, independientemente de que tengan datos o no. Si es necesario liberar memoria, hay que utilizar matrices dinámicas, no estáticas.
Cuando se sale de una función, ¿las matrices dinámicas funcionan como variables locales o se debe utilizar la función ArrayFree?
 
i999i:
Al salir de una función, ¿las matrices dinámicas funcionan como variables locales o es necesario utilizar la función ArrayFree?
Si el array se declara localmente, no necesita nada. Pero si los datos del array se utilizan en diferentes funciones, el array debe ser global, y entonces, antes de cambiar tanto el tamaño como el valor del array, a veces es mejor "borrarlo" y llenarlo de nuevo. O, como en tu pregunta, si crees que la matriz ya no se va a utilizar, nada te impide deshacerte de ella.
 
AlexeyVik:
Si el array se declara localmente, no necesita nada. Pero si los datos del array se utilizan en diferentes funciones, entonces el array debe ser global, y entonces, antes de cambiar tanto el tamaño como los valores del array, a veces es mejor "borrarlo" y llenarlo de nuevo. O, como en tu pregunta, si crees que la matriz ya no se va a utilizar, nada te impide deshacerte de ella.
Gracias por las respuestas, ahora todo tiene sentido.
 

Hola! En la línea de abajo tengo el error"array out of range". ¿Puede ayudar a que esta línea sea correcta?

rs=  High[iHighest(NULL,PERIOD_M15,MODE_HIGH,1,1)];
 
abeiks:

Hola! En la línea de abajo tengo el error "array out of range". ¿Puede ayudar a que esta línea sea correcta?

En High[], los corchetes [ ] deben contener un entero - el índice de la vela en el gráfico, mientras que el resultado iHighest(NULL,PERIOD_M15,MODE_HIGH,1,1) es el valor máximo de una vela con índice 1 y será un número real de tipo double en 99,999... %. En general, este disco por sí mismo no está muy claro lo que debe hacer.
Razón de la queja: