
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Yes, I know, and I cited code that does not cause execution error, but loops the script
is the last print not output?
Or the penultimate?
And the last exponent call does not freeze?
Algorithm reaches what line?
did you put the prints everywhere?
Yes, it isn't.
Yes, it isn't.
repeat question - do you have an exponent calculated for 2/3/8?
and also it looks strange.
1071644672
where is it coming from ?made it like this:
in the log:
if commented out: // if(i3==2 && i2==3 && i1==8) Print("incorrect exp!!!! call");
again it will lead to an infinite loop :)
if blanked out:// if(i3==2 && i2==3 && i1==8) Print("wrong exp!!!! call");
again it will be an infinite loop :)
i1 equals 7 after the loop ends, although the maximum index of the third dimension is 6. It's supposed to be out of range, but if not, it's quite possible that the string
may overwrite the value of i2, for example. But in this case it's an error in the mql-compiler.
You can move, for example, array definition to global variables - then the behavior of the above code should change.
it will be an endless loop again :)
I think the error is in the printer itself.
Find out what is on the lines before it. since the last exponent should not be executed. the index exceeds
I think the problem is in your code.
and it also looks strange.
1071644672
where did it come from?I have it attached, in this form the script goes into an infinite loop.
I have Zero Devide with or without a print, on
In general, i1 takes wrong value. Although it should be out of range on out[][][7]. The compiler must consider restrictions based on multiplication of all dimensions (3 * 7 * 7 = 147) instead of each one. For example, if i1 is assigned 8, Print still prints some values. Obviously, it's a compiler error when checking array bounds.Apparently, the compiler calculates constraints proceeding from multiplication of all the dimensions (3 * 7 * 7 = 147) and not each of them. For example, if i1 is assigned 8, Print still produces some values. Obviously, it's a compiler error when checking array bounds.
Out of range is not from the compiler. This is a Runtime error.
The runtime system has stupidly calculated the offset and nothing will happen if incorrect indexes were involved in the calculation, but you didn't go beyond the array's limits. But if you check the indexes in a smart way, each one separately, you'll get concrete lags at execution.