The agony of choice

 
Hello Dear forum users, I would like to ask your advice as the people who know my problem from inside. I would like to develop trading robots for MT4, I have plenty of ideas and time. I have read the forums and noticed that I can start writing simple Expert Advisors after a month of studying MQL4. I downloaded video tutorials and collected articles on programming, but one specific feature has appeared. The updated MQL4 has become more similar to MQL5 and is not so easy to learn (since there are no video tutorials with new features of the language, and there are not so many articles). I don't want to study MQL5 because MT5 is not popular with brokers, or rather not popular at all. In this regard, there is an unsolvable question, what should I do?
Is it possible now to write EAs using the old MQL4 functionality and learn all the innovations later (because there is more than enough material for its studying) or will I need to learn an updated MQL4 (for the features of which there is very little material)? I'm a total zero in programming. Please advise me how to do it better?
 
the_sphinx:
Hello Dear forum users, I would like to ask your advice as the people who know my problem from inside. I would like to develop trading robots for MT4, I have plenty of ideas and time. I have read the forums and noticed that I can start writing simple Expert Advisors after a month of studying MQL4. I downloaded video tutorials and collected articles on programming, but one specific feature has appeared. The updated MQL4 has become more similar to MQL5 and is not so easy to learn (since there are no video tutorials with new features of the language, and there are not so many articles). I don't want to study MQL5 because MT5 is not popular with brokers, or rather not popular at all. In this regard, there is an unsolvable question, what should I do?
Is it possible now to write EAs using the old MQL4 functionality and learn all the innovations later (because there is more than enough material for its studying) or will I need to learn an updated MQL4 (for the features of which there is very little material)? I have zero knowledge in programming. Please advise me how to do it better?
I have no idea what to do with it.
 
Vinin:
Write the old way and learn the new way
I'm afraid it won't always work - a lot of things that worked before don't work now. About 50% of the old EAs simply refuse to work. In the absence of sensible information on updates, bringing the old code to a new look is not an easy task, and for a beginner, it is almost impossible!

Again, it all depends on what exactly you are going to do. You can start learning the basics the old way. If you want something specific, you'll have to work up a sweat!
 

What's all this nonsense about 50%, some kind of problem and no information about updates?

 
Can you tell me how to do it better?

Use MQL4 or MQL5 - there is essentially no difference.

There are no complications either. They have been purposely invented as myths and replicated by those who want to spoil the reputation of our trading platforms. Well, at least in some way, but at least in some way.

The language is very simple and OOP is optional and is in no way a complexity in programming languages. In fact, there are no general programming languages nowadays that don't contain OOP.

Look at the hundreds of articles and thousands of programs in source code on this site. They are just carefully put together for quick learning. You can easily use existing programs as frameworks for your own. Many started out that way.

 

For information, that might help to make a choice:

  • The development of MT4 has stopped, the platform is 10 years old, it is obsolete, although it is holding up well due to the cosmetic upgrade we made a year ago
  • In MT4 we will upgrade a little bit the integration with MQL5 services, but there will be no new functions
  • MQL4 language is frozen, as well as its compiler
  • MQL5 is developing both in terms of functionality and compiler. We will soon release a new version of the optimizing compiler, which generates 2-4 times faster code. This code will work only with 64-bit versions of the terminal, if SSE4.2 is present.
  • MT5 has already become the HFT platform, and it allows you to make up to 300-500 trading transactions per second from one terminal under normal conditions. In our tests we achieve up to 1 800 trades per second from one terminal with minimal network latency in asynchronous mode. Especially our virtual terminal hosting service helps with this. On MT4 it will not happen - it has an old architecture and there are no asynchronous operations.
  • MT5 is a multi-market platform and allows trading on stock markets. For example, you can easily trade on MOEX.
  • Technologically, MT5 is a head start over MT4.
 

Thank you very much for the quick reply. I agree that MT5 is better, but very few brokers offer it and the ones that do offer it are limited to 30 currency pairs + gold and silver (correct me if I'm wrong). MT4 is better in this regard: more currencies and CFD on all kinds of stocks, futures and indices. I have a feeling that MT5 is not very good at Moscow Stock Exchange, only 6 more or less liquid futures and that's it (I think there is no support for stocks yet, I may be wrong).

Can I use an old MQL4 course and video (without OOP), is it possible to study MQL4 and is it very different from other versions?

Is the functionality of old MQL4 limited by the new build of MT4?

Would it be difficult to migrate from the old MQL4 version to the new one?

Maybe, there is some alternative, that I have not considered?

I apologize in advance for possible silly questions, I am just at the beginning.

 

Why bother with such questions?

Do you need to learn how to create EAs? Then learn. It doesn't matter whether it's on MT4 or MT5. Once you learn one, you will easily switch to the other, if any limitations prevent you from doing so.

What are the "old" and "new" builds? There is a current build. That is where you should write. If an error occurs during compilation, use search to find what it is and fix it. Move on.

"Fear not, fear not", "To fear the wolves - do not walk in the woods", etc.

 
Renat:

What's all this nonsense about 50%, some kind of problem and no information about updates?

This is not nonsense but a statement of fact. Some of the available indicators and advisors have stopped working. I have corrected some of them and am too lazy to dig around in others.
 
mmmoguschiy:
This is not nonsense, but a statement of fact. I have corrected some of the indicators and EAs, which I have in my possession, but not others. I have corrected some of them, but I am too lazy to do anything with them.

Not true at the very least. If you are a programmer and you write code, it is usually recompiled at least once a month. There is always development of programs, adding features or polishing.

Nothing happens "suddenly" - there is another situation - you have been asleep for a year or two and then "suddenly". You have to watch your programs and you will not have any problems.

 
barabashkakvn:

Not true at the very least. If you are a programmer and you write code, it is usually recompiled at least once a month. There is always development of programs, adding features or polishing.

Nothing happens "suddenly" - there is another situation - you have been asleep for a year or two and then "suddenly". You need to keep an eye on your programmes and you won't have any problems.

Come on!!! :) I had a program that was working well and was being fine-tuned. And then, bang, 600 builds came out. And it makes no difference - whether I had or hadn't sawn it before - metadata changes occurred and at that very moment, both sawn and un-peeled programs that used the modified data stopped working all at once! And it didn't matter if it was mine or someone else's.
Reason: