Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1466

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
ArrayMaximum
ArrayMaximum
Devuelve índice del valor máximo, no del precio.
No lo he comprobado, pero parece que es la forma de obtener índices de mínimos y máximos de aperturas de velas (opens).
Aunque también se puede obtener el precio a la vez, pero no los índices.
En ninguna parte he encontrado un ejemplo de un bucle mql con un paso. Esto simplifica todo el asunto.
Sólo ChatGPT me aconsejó escribirlo de esta manera:
Voy a experimentar más. El código funciona. Gracias.
El error "array out of range" ocurre si no haces ArrayResize.
Este error se debe a una falta de atención. Arreglarlo no resuelve el problema.
¿Cómo podría crear un array de 30 precios de apertura de velas para buscar máximos y mínimos en él?
¿Cuál es el problema? Declara un array temp[] y copia 30 elementos en él y busca el índice del valor mínimo/máximo. Y si al final es menos de 30, copiará cuantos quedan. Y en este caso, prefiero usar un bucle while().
¿Cuál es el problema? Declara un array temp[] y copia 30 elementos en él y busca el índice del valor mínimo/máximo. Y si al final es menos de 30, copiará cuantos quedan. Y en este caso, prefiero usar un bucle while().
Sí, se puede hacer eso. No estoy pensando bien, por eso pido consejo.
Sí, podrías hacerlo. No estoy pensando con claridad, así que estoy pidiendo consejo.
En un array estático el tamaño se establece constante, no se puede cambiar, en un array dinámico se puede cambiar, ¡pero el tamaño del array se establece! es decir, se conoce el tamaño del array y los índices de los elementos desde 0 hasta el final. <= está fuera de límites sólo porque los índices de los elementos desde cero, y el índice del último elemento es menor en una unidad del tamaño del array.
Todo está en tus manos))))
En un array estático el tamaño se establece constante y no se puede cambiar, en un array dinámico se puede cambiar, ¡pero el tamaño del array se establece! es decir, se conoce el tamaño del array y los índices de los elementos son desde 0 hasta el final. <= está fuera de los límites sólo porque los índices de los elementos a partir de cero, y el índice del último elemento es menor en una unidad del tamaño de la matriz.
Todo está en tus manos))))
¿Qué quieres decir coneso ? ¿Crees que para copiar algún número de elementos de un array a otro, algún temp[], deberías establecer el tamaño del array antes de copiar ArrayResize(temp, new_size); ?????
Sí, podrías hacerlo. No estoy pensando con claridad, así que estoy pidiendo consejo.
Ni siquiera necesitas un array temporal.
Este código
busca el máximo de 15 elementos restantes a pesar de que está configurado para buscar 20 elementos.
Así que mejor usa el bucle while() y no te preocupes por el número de elementos restantes del array.
¿Qué quieres decir conesto ? ¿Crees que para copiar un cierto número de elementos de un array a otro, algún temp[], deberías establecer el tamaño del array antes de copiar ArrayResize(temp, new_size); ?????
No claro, me refería a que el tamaño del array siempre se conoce o se puede conocer. Y se puede y se debe controlar que no se sobrepase el índice.
Por supuesto que no, me refería a que el tamaño del array siempre se conoce o se puede conocer. Y puede y debe ser controlado para el desbordamiento de índice.
Se puede controlar, pero no siempre es necesario...
Controlar es posible, pero no siempre necesario....