Need to report bug in MT4 - Wrong Uninitialization code when chart is closed

To add comments, please log in or register
shoxie
56
shoxie  
I'd like to report some legitimate bugs in MT4/MQL4 but the service desk has closed down because, from what I gather, they were being flooded with requests which were actually amateur programming questions and errors which should have first been searched, and if necessary, posted in the forums.

I am running an indicator on MT4 Version: 4.00 Build 1090 (19 May 2017), from four different brokers. I get the same errors on all of them.

The first bug I wish to point out, and which is a rather glaring bug, is that when a chart is closed on the MT4 terminal, the uninitialization code which is returned is REASON_CLOSE (9) instead of REASON_CHARTCLOSE (4). REASON_CLOSE is supposed to be for when the MT4 terminal window is closed, whereas REASON_CHARTCLOSE is supposed to be for when a chart window within the terminal is closed. This is as per the MQL4 documentation. I double-checked the uninit code error using the very example given on the MQL4 documentation webpage, which prints out uninit codes in the terminal:
https://docs.mql4.com/constants/namedconstants/uninit

I've attached an indicator file containing the code. Just compile it, run it on a chart, close and reopen the chart (from File >> Open Deleted) and examine the uninit codes which are printed out in the terminal.

There are some other bugs which I won't go into, but which I've checked and double checked to verify that they are indeed MT4 bugs, not my own mistakes. How do I, as an individual user of MT4, go about reporting bugs now that the service desk is closed? Should I post here in the forums? How long does it take for the bug to be fixed and for an update to be released?

This bug in uninitialization codes is significant to me in that I have certain indicators which create class objects, chart objects and terminal global variables which are supposed to be deleted specifically when the chart is closed, but not when the terminal is closed. But since I now have no way to distinguish between the two different events using uninitialization codes, I have to design some kind of workaround in my OnDeInit function and adapt my code to account for this bug. And then when the bug is finally fixed, I'll have to change my code yet again. It's very inconvenient and stressful when there are errors in the programming environment itself....
Uninitialization Reason Codes - Named Constants - Constants, Enumerations and Structures - MQL4 Reference
Uninitialization Reason Codes - Named Constants - Constants, Enumerations and Structures - MQL4 Reference
  • docs.mql4.com
//| get text description                                             | //| Expert deinitialization function                                 |
Files:
Ex Ovo Omnia
2894
Ex Ovo Omnia  

It's been at least 4 years this bug appeared - https://www.mql5.com/en/forum/183353/page187#comment_4726468

Regarding the Service desk, they will not fix bugs in MT4, they have been silently closing the bug reports without an action recently.

Big changes for MT4, in a few weeks
Big changes for MT4, in a few weeks
  • 2014.09.25
  • www.mql5.com
MT4 will evolve and will soon merge with MT5. There will be a single compiler supports both platforms...
shoxie
56
shoxie  
Ex Ovo Omnia:

It's been at least 4 years this bug appeared - https://www.mql5.com/en/forum/183353/page187#comment_4726468

Regarding the Service desk, they will not fix bugs in MT4, they have been silently closing the bug reports without an action recently.

4 Years! This is silly. The latest version of MT4 came out just a few months ago. And they still haven't dealt with what is a very basic bug! MQL is at times an incredibly frustrating language to work with, because of its severe limitations. But then to add persistent unresolved bugs to the mix...

So what is the situation? Are they not going to do anything?

I gravitated to MT4 and MQL initially because there is a large and active community of users, and lots of user-tutorials to help you along.

But now, I better start looking at other platforms. Something with C/C++, something with larger and more sophisticated libraries. Something which also has an active community of users. But does such a platform exist?

To add comments, please log in or register