Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1497
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
Buenos días a todos!
Pregunta sobre la sentencia for() en mql4. La cabecera del bucle contiene una disminución o aumento secuencial de algún valor de la variable
for(int A=14; A>=0;A--) o for(int A=0; A<14;A++) o for(int A=0; A<14;A=+2) Se supone que los tamaños de la variable A aumentan , o disminuyen siempre igual en los ejemplos dados 1 o 2.
PREGUNTA: Si una variable es un valor de tiempo (1 (minuto),5,15,30,60,240,1440), es obvio que los tamaños de aumento o disminución de esta variable no pueden ser iguales. En este caso, cómo formatear la cabecera del for para que la variable A comience con 1 y luego se incremente en cada iteración en el número de minutos requerido, de forma no uniforme.
El ejemplo de la variable A es un caso especial. En general, ¿cómo puedo formatear un bucle si la variable de la cabecera del bucle debe modificarse de forma no uniforme en los intervalos deseados?
¿O hay algún otro operador que deba utilizarse para estos casos? Pero como me parece que los otros operadores son muy voluminosos en comparación con for. Por favor, ayúdeme a resolver mi problema exactamente con la ayuda de la sentencia for, y exactamente con su cabecera. Porque para resolver mi problema dentro del cuerpo de la sentencia for, por supuesto, se pueden usar sentencias if, pero será muy engorroso y la sentenciafor tendrá que hacer 1440 iteraciones para filtrar 7 valores correctos.
Gracias.
Aquí hay un error. Debería ser for(int A=0; A<14;A+=2)
Lo más fácil que se me ocurre es poner los puntos en el array
Lo más sencillo que se me ocurre es marcar los periodos en una matriz
Gracias, a mí también me vendría bien)
Aquí hay un error. Debería ser for(int A=0; A<14;A+=2)
Lo más fácil que se me ocurre es almacenar los periodos en un array
Muchas gracias por el consejo. Resultó ser mucho más sencillo de lo que pensaba.
Solo entiendo una cosa. El nombre de la matriz es per. ¿Y ENUM_TIMEFRAMES es un identificador de un tipo de variable? No he encontrado dicho identificador en mql4 Reference. Sólo hay
Muchas gracias por el consejo. Resultó ser mucho más fácil de lo que pensaba.
Sólo hay una cosa que no entendí. El nombre de la matriz por. ¿Y ENUM_TIMEFRAMES es un identificador del tipo de variable? No he encontrado dicho identificador en mql4 Reference. Sólo hay
aquí
aquí
¿He entendido bien que me has enviado información sobre mql 5? ¿O esta información también se aplica a mql 4?
¿He entendido bien que me has enviado información sobre mql 5? ¿O esta información también se aplica a mql 4?
Lo he corregido.
Gracias.
Gracias.
Una pequeña recomendación: acostúmbrese inmediatamente a ENUM_TIMEFRAMES y olvídese de la representación numérica como número de minutos.
En primer lugar PERIOD_W1 es más informativo que 10080, es más claro que es una semana.
En segundo lugar, en mql5 el periodo no se corresponde con el número de minutos y no será un problema innecesario durante la migración a mql5, y es inevitable.
Bueno, si realmente necesitas el número de minutos en un período, entonces puedes