Metatrader known bugs ... - page 8

 
Tzuman:
Hi Techmac,

I had the same problem. Code that originally compiled on 500 ceased working several days later. My symptoms were that the edit parser went immediately to eoj and then the compiler said compile ok no errors almost instantaneously after deleting the ex4 file. I tracked it down to a few functions but did not examine the source closely to determine the problem. I suspect a non printing character is causing the problem. I then had the same problem in another EA I wrote.

My solution is converting to SciTE. It is far superior to MetaEditor in all ways. Quite similar in power and speed to Visual Studio and is adaptable to several languages and provides the ability for extensive personalization. You can get it at Forex Factory and install it once into a high level directory. It can properly handle code in multiple directories at the same time in a single edit session. No need for separate installations of MetaEditor. I like the function list in the navigator pane that allows direct jumping to the function in the code you are working on and also provides brace matching and I assume lots of other goodies I have not tried yet.

That's my two cents

Tzuman

SciTE can be gotten from here https://www.mql5.com/en/forum/181435

 
mladen:
Bug considering arrays (it seems that it starts from build 482, but I am not sure)

When declaring a local array like this code :

int init() { return(0); }

int deinit() { return(0); }

int start()

{

double array[];

if (ArrayRange(array,0)!=50) ArrayResize(array,50);

return(0);

}

On a new tick array is not reset, and the size on second tick is 50 not 0 as it should be. It is a clear error since the array is declared as local to the routine/function (it is not declared as static nor is it declared on a global level) and should be zero sized on each an every new tick. Same happens in indicators as well as in EAs. That might one of the possible reason why are there so much complaints that some code that worked before does not work starting from build 482. The only solution for now is to zero size (if necesary and in a lot of cases of dynamically using arrays it is a must) using ArrayResize(array,0).

So, if using arrays in your code, be careful since it seems that they are having a buggy builds (again, since they had similar problems with arrays a few years ago) that do not work with arrays as they should

Bug remains in build 500 too : it does exactly the same and still does not "know" the difference between locally declared array and global/static array. That will cause quite a few "unexplained errors" in some stuff using arrays.

 
Tzuman:
Hi Techmac,

I had the same problem. Code that originally compiled on 500 ceased working several days later. My symptoms were that the edit parser went immediately to eoj and then the compiler said compile ok no errors almost instantaneously after deleting the ex4 file. I tracked it down to a few functions but did not examine the source closely to determine the problem. I suspect a non printing character is causing the problem. I then had the same problem in another EA I wrote.

My solution is converting to SciTE. It is far superior to MetaEditor in all ways. Quite similar in power and speed to Visual Studio and is adaptable to several languages and provides the ability for extensive personalization. You can get it at Forex Factory and install it once into a high level directory. It can properly handle code in multiple directories at the same time in a single edit session. No need for separate installations of MetaEditor. I like the function list in the navigator pane that allows direct jumping to the function in the code you are working on and also provides brace matching and I assume lots of other goodies I have not tried yet.

That's my two cents

Tzuman
mrtools:
SciTE can be gotten from here https://www.mql5.com/en/forum/181435

Thanks guys But if we continue like this soon we are going to use anything but metatrader (we are starting with replacing faulty editor now, soon we shall have to find a replacement for faulty compiler ... the end is obvious)

 

Guys, one more thanks for the SciTE idea : finally I do not have to count brackets

 
mladen:
Bug remains in build 500 too : it does exactly the same and still does not "know" the difference between locally declared array and global/static array. That will cause quite a few "unexplained errors" in some stuff using arrays.

i think, it's not intended that the eClock -Ea RUNS when the expert advisors are disabled, but it runs!!!... i think, it's because of the BUILD 500!!!...

ps: the MQ-coders should hide themselves and then search for themselves - this way they don't do other stupid things...

Files:
 
cadolino:
i think, it's not intended that the eClock -Ea RUNS when the expert advisors are disabled, but it runs!!!... i think, it's because of the BUILD 500!!!... ps: the MQ-coders should hide themselves and then search for themselves - this way they don't do other stupid things...

cadolino

eClock is meant to run that way (even when ticks are not coming in - it works on weekends too unlike other "regular" EAs) so in this particular case it is not a bug

 

wow!...didn't saw something like that till now!...thanks for answering...then a half excuse to the `MQ-coders...:)

 

Metatrader 5 this time

Here is a picture that will explain everything :

That is a rather serious error since it will render useless all the previous versions of code that counted on a locally declared arrays and that they can be used as series - that array was never declared as "static" as it is obvious from the source, and is probably causing a lot of problems to people that did not notice that newer versions of metatrader 5 are doing that (that particular "error" could cause a classical repainting if the array was larger and the code is not rewritten to omit that "error")

Files:
mt5_error.gif  26 kb
 

This frequently happens to me if the metatrader window is not maximized and then I maximize it. It leaves out one whole area of chart

Files:
 
tampa:
This frequently happens to me if the metatrader window is not maximized and then I maximize it. It leaves out one whole area of chart

I tried to reproduce that error and could not

How often does it happen (or when exactly)?