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
Sí, lo sé, y cité un código que no causa error de ejecución, sino que hace un bucle en el script
¿la última impresión no sale?
¿O el penúltimo?
¿Y la última llamada al exponente no se congela?
¿Qué línea alcanza el algoritmo?
¿has puesto las huellas en todas partes?
Sí, no lo es.
Sí, no lo es.
repito la pregunta - ¿tienes un exponente calculado para 2/3/8?
y además tiene un aspecto extraño.
1071644672
¿De dónde viene?lo hizo así:
en el registro:
si se comenta: // if(i3==2 && i2==3 && i1==8) Print("incorrect exp!!!! call");
de nuevo se producirá un bucle infinito :)
si está en blanco:// if(i3==2 && i2==3 && i1==8) Print("wrong exp!!!! call");
de nuevo será un bucle infinito :)
i1 es igual a 7 después de la finalización del bucle, aunque el índice máximo de la tercera dimensión es 6. Se supone que está fuera de rango, pero si no es así, es muy posible que la cadena
puede sobrescribir el valor de i2, por ejemplo. Pero en este caso se trata de un error en el compilador de mql.
Puedes mover, por ejemplo, la definición de los arrays a las variables globales - entonces el comportamiento del código anterior debería cambiar.
volverá a ser un bucle sin fin :)
Creo que el error está en la propia impresora.
Averigua qué hay en las líneas anteriores. ya que el último exponente no debe ejecutarse. el índice supera
Creo que el problema está en tu código.
y también tiene un aspecto extraño.
1071644672
¿de dónde viene?Lo tengo adjunto, de esta forma el script entra en un bucle infinito.
Tengo Zero Devide con o sin huella, en
En general, i1 toma un valor erróneo. Aunque debería estar fuera de rango en out[][][7]. Aparentemente, el compilador calcula las restricciones a partir de la multiplicación de todas las dimensiones (3 * 7 * 7 = 147) en lugar de cada una. Por ejemplo, si a i1 se le asigna 8, Print sigue imprimiendo algunos valores. Obviamente, es un error del compilador al comprobar los límites del array.Aparentemente, el compilador calcula las restricciones a partir de la multiplicación de todas las dimensiones (3 * 7 * 7 = 147) y no de cada una de ellas. Por ejemplo, si a i1 se le asigna 8, Print sigue produciendo algunos valores. Obviamente, es un error del compilador al comprobar los límites del array.
Fuera de rango no es del compilador. Se trata de un error de ejecución.
El sistema en tiempo de ejecución ha calculado estúpidamente el desplazamiento y no pasará nada si en el cálculo han intervenido índices incorrectos, pero no has sobrepasado los límites del array. Pero si compruebas los índices de forma inteligente, cada uno por separado, obtendrás retrasos concretos en la ejecución.