Metatrader known bugs ... - page 84

 

PPS: I am suspecting that some brokers are using HFTs ans that it is what is causing tick flooding. Just an impression (I do not have tolls that could help me exactly identify that), but the pattern exists and when the pattern repeats itself over and over, it makes one wonder about it ,,,

 
mladen:
In times of very high volatility, FileReadStruct(), FileWriteStruct() and FileFlush() combination is causing errors.

Investigating what exactly is happening, but so far it seems that they have attempted to make those functions asynchronous, and that it is what causes errors and that artificial synchronization must be inserted

_______________

Also, be careful : some brokers are flooding with ticks, and there is no way how EAs can execute orders when you get 10-20 ticks in 1/10th of a second. It is a disaster waiting t happen when EAs are running in cases like that

Not sure if I am right, but it seemed to me that all the file operations (MQL ) always had an extra buffer layer in the Terminal, and the Flush() worked with that buffer rather than the medium. I had often issues with incomplete file content after the MQL Flush(), so I had to include consistency check.

Lately I have been using the winapi file operations and the Flush() has quite different impact and is not necessary in most cases.

 
Ovo:
Not sure if I am right, but it seemed to me that all the file operations (MQL ) always had an extra buffer layer in the Terminal, and the Flush() worked with that buffer rather than the medium. I had often issues with incomplete file content after the MQL Flush(), so I had to include consistency check. Lately I have been using the winapi file operations and the Flush() has quite different impact and is not necessary in most cases.

Whatever they are doing (for some time Flush() did not do the actual flushing at all (and they were announcing it as an improvement)) there are errors in it. It seems that we are going to be forced to go to the good old times when we used windows API and we did not care of mql functions that are trying to do what windows API does so good

 
mladen:
Also, be careful : some brokers are flooding with ticks, and there is no way how EAs can execute orders when you get 10-20 ticks in 1/10th of a second. It is a disaster waiting t happen when EAs are running in cases like that

I thought MT EA ignored new ticks until it finished processing the one it was on?

Big Be

 
Big Be:
I thought MT EA ignored new ticks until it finished processing the one it was on? Big Be

It does

But if the function is asynchronous, the control is returned to the code before the called process if finished and it can continue processing even though the previous called process is not finished. And it is not just file functions that are working the way I described (try combining the simplest OnCalculate() and OnTimer() using prevention flags, or no flags and you shall see the real state of the current mql)

Now try to imagine what can happen in those situations (and I have seen that when one broker changes a price 1 pip the other does not change it in one tick but in 10-15 ticks of which each one is 1 point not 1 pip)

________________

Over flooding the code with request to do same thing over and over is an ancient way of causing errors (one of the oldest ways of hacking) and it is not a novelty. Novelty is that even in relatively calm markets there are periods of over flooding done by some brokers

________________

I hope this helped you understand what ticks over flooding can do to new ways how new mt4 works

happy trading

 
mladen:
It does

But if the function is asynchronous, the control is returned to the code before the called process if finished and it can continue processing even though the previous called process is not finished. And it is not just file functions that are working the way I described (try combining the simplest OnCalculate() and OnTimer() using prevention flags, or no flags and you shall see the real state of the current mql)

Now try to imagine what can happen in those situations (and I have seen that when one broker changes a price 1 pip the other does not change it in one tick but in 10-15 ticks of which each one is 1 point not 1 pip)

________________

Over flooding the code with request to do same thing over and over is an ancient way of causing errors (one of the oldest ways of hacking) and it is not a novelty. Novelty is that even in relatively calm markets there are periods of over flooding done by some brokers

________________

I hope this helped you understand what ticks over flooding can do to new ways how new mt4 works

happy trading

Also their implementation of event handlers is unusual and works differently from their MQL manual. Though they state that firing a custom event "adds event to event queue", it is not quite true. In fact it interrupts the current method and runs the OnChartEvent handler immediately. You wouldn't notice it until you fire the event to self - the caller method gets severely interfered by inline processing of the OnChartEvent handler.

Arriving ticks now have timestamps. It is easy to spot that often a tick with obsolete timestamps appears. Again, it makes not much harm inside a candle, but what if the tick belongs to the already closed candle?

 
Ovo:
Also their implementation of event handlers is unusual and works differently from their MQL manual. Though they state that firing a custom event "adds event to event queue", it is not quite true. In fact it interrupts the current method and runs the OnChartEvent handler immediately. You wouldn't notice it until you fire the event to self - the caller method gets severely interfered by inline processing of the OnChartEvent handler. Arriving ticks now have timestamps. It is easy to spot that often a tick with obsolete timestamps appears. Again, it makes not much harm inside a candle, but what if the tick belongs to the already closed candle?
Again, it makes not much harm inside a candle, but what if the tick belongs to the already closed candle?

Their whole thing with the queue seems to be unstable (including the ticks queue). I have a feeling that somewhere along the road they forgot that the simplest solution is almost always the most efficient solution too, and now we have a lot of points when the efficiency is suffering severely - causing all the rest (starting from indicators to EAs) to fall into errors

 

Go to insert->indicator->Bill Williams and try to insert any of the indicators on the list. None of it is what it is saying in the menu.

 
checkin:
Go to insert->indicator->Bill Williams and try to insert any of the indicators on the list. None of it is what it is saying in the menu.

You have to restart terminal then

It goes bananas like that from time to time (makes me wonder what else it does wrong then, when it can not handle menu correctly)

 
techmac:
You have to restart terminal then It goes bananas like that from time to time (makes me wonder what else it does wrong then, when it can not handle menu correctly)

This thing is in a worse condition than I thought

Reason: