Metatrader known bugs ... - page 55

 

I think that it has been told, but I will repeat :

MarketInfo(symbol,MODE_ASK) and

MarketInfo(symbol,MODE_BID)

are not reliable at all - on some brokers they are showing completely wrong information. If your EA depends on those market infor functions do not wonder why is it working in a strange way

 
mladen:
I think that it has been told, but I will repeat :

MarketInfo(symbol,MODE_ASK) and

MarketInfo(symbol,MODE_BID)

are not reliable at all - on some brokers they are showing completely wrong information. If your EA depends on those market infor functions do not wonder why is it working in a strange way

Well, that explains some thing that are happening to me

Thanks for the info

 
mladen:
I think that it has been told, but I will repeat :

MarketInfo(symbol,MODE_ASK) and

MarketInfo(symbol,MODE_BID)

are not reliable at all - on some brokers they are showing completely wrong information. If your EA depends on those market infor functions do not wonder why is it working in a strange way

Not sure if you mean the same as I have in mind:

- MarketInfo(symbol,MODE_BID) is always up-to-date, while Bid and Close[0] update after RefreshRates(). After RefreshRates(), MarketInfo(symbol,MODE_BID) == Bid.

- Even Bid may differ from Close[0] by constant value. It is usually if the broker offers multiple account types option, just with different spread. In that case the Bid == number in Market window, while Close[0] == value indicated in the chart bid line.

The schizophrenia started a long time before the build 600.

 
Ovo:
Not sure if you mean the same as I have in mind:

- MarketInfo(symbol,MODE_BID) is always up-to-date, while Bid and Close[0] update after RefreshRates(). After RefreshRates(), MarketInfo(symbol,MODE_BID) == Bid.

- Even Bid may differ from Close[0] by constant value. It is usually if the broker offers multiple account types option, just with different spread. In that case the Bid == number in Market window, while Close[0] == value indicate in the chart bid line.

The schizophrenia started a long time before the build 600.

Nagh

The thing is simple : usually MarketInfo(symbol,MODE_ASK) on two brokers that I tested shows value different than it is from Ask, from the value displayed in market watch and different from the value that will be used if you open a new long order. On some it is working correctly.

The only explanation I have for that is that same build numbers are not working exactly when they come from different brokers (those 2 separate that are showing wrong values from time to time are completely separate installation - all builds 670) which means that they are either having some plugins that are already working or that metatrader is custom made for each broker (neither of the options is favorable for metatrader). Could not think of different solution (especially since some builds downloaded from different brokers are working correctly all the time)

PS: those values were tested at the first instrustion of the tick in start procedure of indicator. In cases like that there is no need for RefreshRates() (no pause that could case rates changes in the mean time)

 

They are making different versions for different brokers

 
mladen:
Nagh

The thing is simple : usually MarketInfo(symbol,MODE_ASK) on two brokers that I tested shows value different than it is from Ask, from the value displayed in market watch and different from the value that will be used if you open a new long order. On some it is working correctly.

The only explanation I have for that is that same build numbers are not working exactly when they come from different brokers (those 2 separate that are showing wrong values from time to time are completely separate installation - all builds 670) which means that they are either having some plugins that are already working or that metatrader is custom made for each broker (neither of the options is favorable for metatrader). Could not think of different solution (especially since some builds downloaded from different brokers are working correctly all the time)

PS: those values were tested at the first instrustion of the tick in start procedure of indicator. In cases like that there is no need for RefreshRates() (no pause that could case rates changes in the mean time)

Well, I see. Moreover, there is unstable period when the Terminal starts, and often all those values are very random in init() during the startup. But later on, the MarketInfo(symbol,MODE_ASK) follows the Market watch ask price, while the Ask keeps constant distance from MarketInfo(symbol,MODE_ASK) - when fresh.

 
Ovo:
Well, I see. Moreover, there is unstable period when the Terminal starts, and often all those values are very random in init() during the startup. But later on, the MarketInfo(symbol,MODE_ASK) follows the Market watch ask price, while the Ask keeps constant distance from MarketInfo(symbol,MODE_ASK) - when fresh.

I am glad to say that this time it was my error : those were cases when only ask was changed and I had a condition that did not do anything in that case (I did not check if only ask was changed). So, the alarm was false, MarketInfo(symbol,MODE_ASK) and MarketInfo(symbol,MODE_BID) are working correctly

 

Drad and drop take profit and stop loss : today I opened a position dragged the take profit, once I got printed out that trade context is busy (no popup error message), trued 3-4 time more and nothing, And then, after some half a minute, it just appeared there (no errors were indicated for other attempts)

You will not know what is going on if you do not look at the journals tab

 

Some people reported that to metaquotes but got no answer so far

 

I may mention another bug in FileWriteStruct.

uint FileWriteStruct(

int file_handle, // File handle

const void& struct_object, // link to an object

int size=-1 // size to be written in bytes

);

They "correct" the maximal value of sizeargument to a length of declared struct_object argument. The trouble is, that in object-oriented programming the struct_object may be downcasted, therefore declaration may have different lenght than the structure.

This is the main reason (besides other misbehaviours) that I cannot use the MQL4 file handling in OOP code and I have to substitute it with the winapi file handling.

Reason: