Metatrader known bugs ... - page 74

 
mladen:
Even when the symbol name of the offline chart is a "legal" (existing) symbol name, and if the ask price is bellow "close" of the offline chart, close is used as bid and ask line is not displayed at all (even though it is displayed in the tick chart of market watch and order dialog boxes for such offline chart)

Yes, it is like that, and no documentation mentions it.The bid line is rather a "close" line, in both online and offline charts. The bid may not be aligned with the chart close.

Moreover, the ask line may differ from ask (from MQL Ask or from the ask line in the Market window), depending on a broker and its account type. It has been once answered by a MQL4 site admin (a few years ago), that charts are only informative. No comment on this statement.

 

Addition to the previous post.

askbidline.mq4

In the past I used to deploy the attached indicator to display alternative lines of Ask & Bid. If you disable the native ask@bid lines, it can indicate the correct levels by horizontal lines of the indicator.

Files:
 

When an EA is applied to a chart and if MT4 is restarted then the EA doesn't seem to get initialized and in my particular case, I get a divide by zero message in Experts tab when an entry signal is generated.

However, when the EA is on the chart and if MT4 is restarted, if I were to click on the EA properties and click "OK" then the EA gets initialized and I don't get a divide by zero message when an entry signal is generated.

Is there code that can be inserted into the EA so that it forces it to initialize after an MT4 restart?

To clarify, after the MT4 restart, the Experts tab (does) show that the EA was initialized however, something is still wrong because things only work correct after going to the EA properties and then clicking "OK" to re-initialize.

 
forexyahoo:
When an EA is applied to a chart and if MT4 is restarted then the EA doesn't seem to get initialized and in my particular case, I get a divide by zero message in Experts tab when an entry signal is generated.

However, when the EA is on the chart and if MT4 is restarted, if I were to click on the EA properties and click "OK" then the EA gets initialized and I don't get a divide by zero message when an entry signal is generated.

Is there code that can be inserted into the EA so that it forces it to initialize after an MT4 restart?

To clarify, after the MT4 restart, the Experts tab (does) show that the EA was initialized however, something is still wrong because things only work correct after going to the EA properties and then clicking "OK" to re-initialize.

Do you get any error messages when you switch your code to strict?

 
nbtrading:
Do you get any error messages when you switch your code to strict?

Hi nbtrading, didn't code it to strict. It was a simple fix. Got it working, for now.

 

This time my code did not compile with the Metaeditor 1026 update, again.

So far the enumerations got casted to the int type implicitly. But it is no longer true, now they generate

"ambiguous call to overloaded function"compile error if there are more overloaded functions (e.g. one with int parameter, the other with long parameter).

 

As usual new errors surfacing : they still did not solve the issues when the code is first started. Not after a whole 1.5 year

 
checkin:
As usual new errors surfacing : they still did not solve the issues when the code is first started. Not after a whole 1.5 year

Well, they claim they fixed something in the new release. I have no energy left for re-testing it with every new release, when there is a new release every week.

But I do not understand the reason for removing the implicit cast of enumerations to int, which requires fixes everywhere in all my code after a year.

EDIT:

I just realized it was not only enumerations. I am getting the "ambiguous call" error for other types, too.

Rolling back this build.

 
Ovo:
Well, they claim they fixed something in the new release. I have no energy left for re-testing it with every new release, when there is a new release every week.

But I do not understand the reason for removing the implicit cast of enumerations to int, which requires fixes everywhere in all my code after a year.

EDIT:

I just realized it was not only enumerations. I am getting the "ambiguous call" error for other types, too.

Rolling back this build.

Same old story - seems like they will never learn

 

Build 765 : ChartGetInteger(0, CHART_HEIGHT_IN_PIXELS,...) returns wrong values

Reason: