Interesting topic for many: what's new in MetaTrader 4 and MQL4 - big changes on the way - page 8

 
stringo:
Searched and searched. Couldn't find one...

I didn't put it that way.

The debugger has not been thought of yet, i.e. it is not known whether it will or not, but since it has not been thought of, it means it won't be "yet".

http://forum.mql4.com/ru/56881/page4#820225

Что будет нового в MetaTrader 4 и MQL4 - большие изменения на подходе - MQL4 форум
  • www.mql5.com
Что будет нового в MetaTrader 4 и MQL4 - большие изменения на подходе - MQL4 форум
 

While you're figuring out the technical details of the upgrade, one important detail is lost on you - MetaTrader 4 will have Marketplace. Given the prevalence of the 4, you can estimate how much a robot/indicator developer can earn in the united market of 7 million traders. MQL5 Market results can be used as a basis for making assumptions and to get a better idea of what type of software is more popular among traders.

Not registered as a developer yet?

 
I thought that when merging two languages, conditional compilation directives like #ifdef are absolutely necessary - it would simplify code unification between two platforms, and platform-dependent API would be defined at compile time.
 

C-4:
Вот тут подумалось что при объединении двух языков абсолютно необходимы условные директивы компиляции типа #ifdef - это бы существенно упростило бы унификацию кодов между двумя платформами, и плотформозависимый API определялся на этапе компиляции. 

Yes, that would be good.

So far I use as a crooked alternative a construction like

#define _DEBUG_OR_RELEASE_(DEBUG, RELEASE) DEBUG

But it would be considerably more flexible with #ifdef

 
Lenar:

While we are figuring out the technical details of the upgrade, we have lost one important detail - MetaTrader 4 will have the Marketplace. Given the prevalence of 4, you can estimate how much a robot/indicator developer can earn in the united market of 7 million traders. MQL5 Market results can be used as a basis for making assumptions and to get a better idea of what type of software is more popular among traders.

Not registered as a developer yet?

Then we are coming to you :)

In fact, everyone has noticed it and is rejoicing in silence in order not to scare them away :)

 
Laryx:

I don't agree with all of hrenfx's arguments, however, I personally chose MT5 solely for the OOP and Standard Library.

I really wish that when introducing OOP into MT4++, as many Standard Library class interfaces as possible would be retained (ideally, all except for the CTrade, CPositionInfo trading classes, relating directly to netting).

By the way, the same old spreadsheet he's talking aboutall about custom history - in MT5 it's still possible to emulate - just by taking advantage of those features.

I wonder how it is possible - to emulate in the MT5 tester (i.e. testing on your own history) ?

Where does it say that?

 
serferrer:

I wonder how this can be emulated in the MT5 tester (i.e. testing on your history) ?

Where does it say that?

It doesn't say that anywhere. This is my idea. I started a topic on this forum, but no one supported it, so I realized that nobody was interested in it.

If an Expert Advisor uses only Standard Library classes to work, and does not use the functions of direct access to the server, then the emulation task is to write derived classes of the Standard Library classes, which would not apply to the server, and would use their own, internal variables.

After that, the Expert Advisor receives not the original Standard Library classes, but the derived classes, which instead of accessing the server pass to the Expert Advisor the results of their own, internal calculations. The Expert Advisor doesn't notice the switch - it doesn't care what to work with - either on the real or historical data.

For myself, I have already written a class-storage of historical data and classes, the heirs of timeseries (type SOPrep, CHigh, etc.), which can return the EA both real data from the server and historical data from the storage. Later, I will write trading classes as descendants of the Standard Library classes that can be a "wrapper" for real server's trades and perform virtual trades based on historical data. Again, the Expert Advisor will not be aware of the substitution.

All this is possible. Although, of course, there is a lot of work to be done.

 
Laryx:

It doesn't say that anywhere. It was my idea. I have started a thread on the forum, but no one supported it, I realized that no one is interested in it.

If an Expert Advisor uses only Standard Library classes to work, and does not use the functions of direct access to the server, then the emulation task is to write derived classes of the Standard Library classes, which would not apply to the server, and would use their own, internal variables.

After that, the Expert Advisor receives not the original Standard Library classes, but the derived classes, which instead of accessing the server pass to the Expert Advisor the results of their own, internal calculations. The Expert Advisor doesn't notice the switch - it doesn't care what to work with - either on the real or historical data.

For myself, I have already written a class-storage of historical data and classes, the heirs of timeseries (type SOPrep, CHigh, etc.), which can return the EA both real data from the server and historical data from the storage. Later, I will write trading classes as descendants of the Standard Library classes that can be a "wrapper" for real server's trades and perform virtual trades based on historical data. Again, the Expert Advisor will not be aware of the substitution.

All this is possible. Of course, there is a lot of work.

If you write an indicator, that reads data from a file (custom history), override the standard functions of data reception (both quotes and the market environment), use a definition of contexts and you will be happy.

I don't share your admiration for Standard Library, it's a huge monster with the pretence of universality, created only for examples and for creating Expert Advisors in the wizard.

Although what it was written for it fulfils its duties quite well.

 
Urain:

Write an indicator that reads data from a file (custom history), override standard functions of data reception (both quotes and market environment), use definition of contracts and you will be happy.

That's exactly what I do. I have already written classes that can pass a custom EA the history (instead of the real one from the server). But the EA must not use functions of the terminal directly to fully implement my idea. Say, the same OrderSend(). It should work only through a "wrapper", the role of which can be wonderfully performed by the Standard Library. We write derived classes, tuck them into the Expert Advisor, and voila - it now works on historical data. If the EA uses the functions of the terminal directly, it will not be able to use the history.

I don't share your admiration of the Standard Library, a huge monster that pretends to be universal and was created only for examples and for creating Expert Advisors in the wizard.

But it fulfills its purpose quite well.

Well, perhaps it's the effect of my long work with the MFC library which I was very pleased with and with which I find a lot of parallels. I'm sure that the developers of the Standard Library are also quite familiar with MFC.

The main advantage of the Standard Library is the good support of OOP ideology, which allows to pass the Expert Advisor a custom history so that it will work properly without any modifications.

Can I ask why you don't like the Standard Library (well, besides the obvious disadvantage - "lazy to learn")?

 
Lenar:

While we were investigating the technical details of the upgrade, we lost one important detail - the Market will appear in MetaTrader 4. Given the prevalence of IV, we can estimate how much a robot/indicator developer can earn in the united market of 7 million traders. MQL5 Market results can be used as a basis for making assumptions and to get a better idea of what type of software is more popular among traders.

Have you registered as a developer yet?

Now that we've touched the market, I'd like to hear some opinions on one subject...

According to the philosophy of MQL5, indicators should count and EAs should trade.

But the Market sells ready-made solutions, as they say, all in one.

Perhaps the compiler should be improved so that indicators are stored in Expert Advisors as resources?

Otherwise, we have to transfer the code of the indicator to the Expert Advisor, where it has no proper environment. Again, the scheme "indicator by indicator" is a whole epic to transfer the code to the Expert Advisor.