MQL5 Suggestions - page 2

 
I should also add that event based coding was the only thing that got me excited about MQL5. Now I discover that, besides the buttons and input boxes I don't find useful, I can't use it to do anything at all (i.e., making my code more efficient and easier to manage). I think transferring to MQL5 may not be worth the trouble for me.
 

Okay, so I redownloaded and reinstalled the beta and am finally able to run it again (before it wouldn't even start). After testing out the code, I've had a second opinion. I like that there is now an objection creation time property (assuming that's what OBJPROP_CREATETIME is), and with the exception of CHARTEVENT_TRADE not working, the events are actually quite good. The only thing that's seriously missing is an object creation event. Why the heck not? It can't be that difficult to implement. Afterall, you already have CHARTEVENT_CLICK and CHARTEVENT_OBJECT_ENDEDIT. Object creation isn't that far off, and it's so obviously needed.


I also like the "disable selection" object property; however, when that is enabled, objects can be moved without being selected. Is that a bug? Isn't the whole point of disabling selection so that objects can't be easily moved?

 
Oh, and I'm still missing the ability to label horizontal lines.
 

Hello,

 

First of all, MetaQuotes, good luck with MT5 platform development. It's a massive task to accomplish, so don't get upset by people complaining, just keep improving it as you already do.

As MT5 has just made it recently to the public and is in beta testing stage, I believe that several improvements could still be made. I have listed my suggestions below.

 

 

Suggestions for MQL5 Team - general:

 

1. Backward compatibility with .mq4 sounds crucial - there are hundreds, if not thousands of state-of-the-art indicators, EAs and useful applications written in MQL4. Porting them to MQL5 would take months, if not years. The other thing is - as someone has already mentioned - that many, many traders will be highly reluctant to use MT5 if they won't be able to use their favourite stuff. This is quite a threat as brokers using MT5 might lose plenty of customers, which obviously could indirectly impact your company.

I know that this one may sound controversial, but maybe they could be at least used in compiled  .ex4 form?

 

 

Suggestions for MQL5 Team - MetaEditor:

2. Indicator debugging - As far as I remember, stringo once mentioned that it is not possible to debug indicators, just EAs and scripts. I hope that I just misunderstood, because it definitely should be a feature.

 

 

Suggestions for MQL5 Team - Strategy Tester:

 

This part includes most of my suggestions, as the ability to reliably test and statistically evaluate a trading system is a crucial component of a trading system development, strictly A MUST. This is much more important than the choice of indicator or entry method etc., so I hope that it gets decent attention from all you guys in MetaQuotes team.

 

3. Fix the speed meter on the Strategy Tester - in MT4, while 31 was still slow, 32 was way too fast

4. Multicurrency / portfolio testing -  this feature is a basic need of each professional trader, either institutional or trading on his own. Lack of it was a serious flaw of MT4, so I hope this really gets into MT5.

5. Add the ability to import tick data for testing purposes (as .fxt files) - there are 2 main reasons:

a) plenty of people are trading intraday and developing scalpers, so they are really limited when it comes to testing (well-known issue of modelling quality on M1 plus the random ticks generation for the purpose of the testing)

b) the ability to test on the data as close to real market as possible would be great -  why should anyone reduce the reliability of backtesting with use of randomly generated ticks, if he/she could import 10 years of real tick data?

6. Allow user to choose if he would like to use the same tick data file over and over in backtest - I can recall many threads on mql4.com forum regarding test results changing from one run to another. This is a really, really bad issue. If someone is changing some parameters, he wants to check what is the impact of the parameter change and NOTHING else, particularly not the impact of randomly generated ticks from .fxt file. I guess that it should not be difficult to provide a "Generate new tick file" checkbox in the tester, what I suggest is that:

a) unchecking such checkbox would ensure the user that he is testing new set of parameters/indicators/logic in EXACTLY THE SAME conditions = he know that he has imported his M1 history quotes and randomly generated tick file ONCE (for the first run for the particular currency), so that the "market" in his test does not change

b) checking such checkbox would allow users to test the robustness of the system - what I mean is that parameters/indicators/logic remains stable, but the ticks inside the bars are generated randomly with each run of the tester = it might simulate partially changing trading environment and provide another way of testing, a little bit similar to the Monte Carlo analysis (historical quotes remains the same, but the ticks are randomly generated each time - if the system stays stable anyway, there are good chances that it is really robust)

7. Allow user to "include" his own statistical parameters (user-defined metrics) in test report - there is a massive amount of statistical measures that can refer to trading (I know about 40 but there is definitely more) and each trader who is serious about testing has got his own set of parameters. It is quite annoying of MT4 to have to extract trade history from the report and export it all to Excel to proceed with further statistical evaluation. It would be GREAT if you could allow user to write his own pieces of MQL5 code to define his own metrics basing on some obvious built-in measures that you already provide (number of trades, %wins, %drawdown etc.). This is already implemented in AmiBroker for a long time and it is really an excellent idea. To give you an example, see the following link:

http://amibroker.com/guide/a_custommetrics.html

8. Provide a 3D landscape graph for parameter evaluation - it is really useful to find areas of parameter values that are both profitable and robust (and it is another thing that MT4 users have to do in external apps like Excel). The AmiBroker example (taken from the link above) to give you a feel of what I mean:

 

9. Change 1280 combinations limit for "Genetic algorithm" option to a higher value - hardware has changed significantly during last several years so I guess that nowadays this 1280 value could be changed to several thousands without causing any noticeable problems

10. Enable users to backtest on custom symbols - e.g. if I have 10 years of M1 historical data of DAX Future or 20 years of M1 historical data for copper, why shouldn't I be able to test my system on such data? I guess it doesn't impact your business goals at all and it would be definitely handy to have the ability to check your strategy written in MQL4 on some other markets than the ones that brokerage company provides, instead of having to recode the entire trading system in MetaStock, AmiBroker or any other software.

 

 

That is all that I can think of in the moment. I am quite concerned about the testing capabilities of MT5 and I am sure that if you could provide the above, you would convince plenty of traders and financial institutions to  use MetaTrader as a fully professional tool (I guess you know that the testing and optimizing issues are really a major drawback of MT4).

 

stringo, Rosh - could I possibly get any comment on the above suggestions?

 

Best regards,

 

Enigma71 

How to add user-defined metrics to backtest/optimization report
  • amibroker.com
One of the new additions in 4.67.x/4.68.x BETA is portfolio backtester programming interface providing full control of 2nd phase of portfolio backtest. This allows multitude of applications including, but not limited to:
 

Thank you for suggestions.

1.  No.

2.  Yes. It will be.

3.  Yes.

4.  Yes.

5.  No.

6.  Yes.

7.  May be.

8.  May be.

9.  I don't know yet.

10. No. 

 

Hi stringo, thx for the response. If required in the future, I can participate in MetaTrader testing as I am working as a full-time tester/software integrator in one of world's biggest telecomms company and I am familiar with issues related to finding & reporting bugs, improving software functionalities and all such kind of stuff that might come in handy for developers.

 

 

Just curious - why aren't you going to allow users to import ticks for .fxt file? I did not mean charting tick files for trading purposes, just providing historical ticks for backtesting to increase its reliability.

 

Hope that you will manage to include 7 & 8 (user-defined statistical metrics and 3D "landscape" graphs) as this would empower MT5 by a massive amount.

 

Eagerly waiting for next builds of MT5 :)

 

Best regards,

 

Enigma71 

 
Enigma71fx :

Hi stringo, thx for the response. If required in the future, I can participate in MetaTrader testing as I am working as a full-time tester/software integrator in one of world's biggest telecomms company and I am familiar with issues related to finding & reporting bugs, improving software functionalities and all such kind of stuff that might come in handy for developers.

 

 

Just curious - why aren't you going to allow users to import ticks for .fxt file? I did not mean charting tick files for trading purposes, just providing historical ticks for backtesting to increase its reliability.

 

Hope that you will manage to include 7 & 8 (user-defined statistical metrics and 3D "landscape" graphs) as this would empower MT5 by a massive amount.

 

Eagerly waiting for next builds of MT5 :)

 

Best regards,

 

Enigma71 


1. Ok. Thank you for collaboration. See messages on MQL4.COM

2. Now we don't keep fxt-files. Our generating algorithm is faster than file reading

3. "May be" means "yes, but not right now" 

 
Preloading charts? Initial loading of each chart period in the terminal is very slow, especially for the higher periods. Hopefully, this doesn't affect EAs that need to access data from multiple periods--I believe you manually preload chart data in MQL5?
 
Is possible insert in ExperAdvisor "ChartInChart" two moving average ? Thanks.
 
It would be handy if EAs could create files in custom subfolders.
Reason: