Self-learning the MQL5 language from scratch

 

Good day everyone!

I'm creating a new topic "MQL5 self-study from scratch" to

  1. I want to master the basics (fundamentals, principles) of writing a program code in MQL5.
  2. According to the results of this self-study try To write an article for all beginners in the MQL5 programming language, that can be understood not only by "dummies", "nerds", etc., but even by a child.

This topic is separate from the many existing ones for beginners, just because it is very difficult for a self-study trainee to find the necessary information in them. I want to note, that in these themes I several times addressed to experts in programming area and received from many of them reasonable answers (advice, helps), I'm immensely grateful to them. However, I realized that no one is interested in newbies with their frequent, often repetitive stupid questions on inexplicably taken software codes. Hence this decision was made.

From the abundance of information on the MQL5 website, I can highlight only two articles for self-study from scratch:

"Trading in MQL5 is Easy" by the link https://www.mql5.com/ru/articles/481

"A Quick Start or a Short Course for Beginners" by https://www.mql5.com/ru/articles/496

Both articles are excellent and written in a form that is absolutely clear to a person far from programming but they do not give all the basics of programming. I would like to build this thread following "from simple to complex" principle but at the same time SPECIAL ATTENTION I don't care who likes to be rude, flubby or snide with newbies! For all such antics will contact the moderators and site administrators to help delete all rubbish from this thread.

The messages in the subject will be explained and explained as if they were intended for a 1st -year pupil of the programming school, from the first day of school. This is needed to make it easier to write a separate article later.

One more request. Please do not keep referring me to MetaQuotes Language 5 (MQL5) Reference because it is exactly what I study, and this tedious questions appear while studying MQL5 Reference and I ask to handle them calmly and patiently. I will still have to ask such questions, but only because I couldn't find the answers that are clear to me.

From the outset, I will express my special gratitude to those experts in programming who, in spite of being very busy, will be able to share their invaluable knowledge gained over many years of studying MQL5.

Introduction

So, let's imagine that it's September 1 and a new student comes to a specialized programming school. The student should have a textbook (Reference on the MQL5 website ), a notebook (a template of an Expert Advisor, a script, an indicator, etc.) and a pen (a computer keyboard) .

Let's start with the order. Everything is clear with a textbook and a pen, since almost every home has a computer with Internet access, but where can one get a notebook? First, you need to download the MetaTrader 5 (hereinafter MT5)terminal program from the MQL5 website . Justscroll down to the bottom of the MQL5 website and find a title "Join - Download MetaTrader 5! Under this heading you can select an operating system installed on the student's computer (in my case, it is Windows) and click on it. After installing and opening the MT5 terminal, you will be able to open the MetaEditor. To open the editor, either open the Service tab and click on MetaQuotes Language Editor , or find an icon on the terminal bar with a pop-up tipMetaEditor and click on it.

Once theMetaEditor is opened, you should find the New icon (new document creation) in its pane and click on it. A new tab will open with a list of templates (workbooks) that can be used in the pupils' studies.

First, under the message "Choose what you want to create:" select the circle with the name Script and click Next. This will open another tab, where on the top Name line, after the wordScripts\ , you must enter a name for the EA and type in, for example,New. Let us press the Done button.

Now that's it! At last, the student has received a workbook, to be more precise, a script template named New.mq5 .

Part 1........


Here I'm addressing to the experts in MQL5 programming - what would you recommend to begin studying it? Imagine from the depths of your life, where would you start? Maybe, you need to draw up a plan of training point by point? What must it necessarily include, in what sequence? Is it possible to learn programming in MQL5 without knowledge of С++? Please share your constructive suggestions!

Sincerely, Vladimir.
Торговые операции на MQL5 - это просто
Торговые операции на MQL5 - это просто
  • www.mql5.com
Почти все трейдеры приходят на рынок для того, чтобы заработать денег, хотя есть и доля тех, кому важен не сам торговый результат, а участие в процессе, драйв. Впрочем, получить удовольствие от процесса можно не только торгуя вручную, но и занимаясь разработкой автоматических торговых систем. Ведь создание торгового робота может быть таким же...
 

1: read articles by Dmitry Fedoseyev/.

2: don't read anyone else for a month or three months, try all this time on your own, any new article will interfere with learning.

3: look at relevant publications by the participant ~MetaQuotes, choose what you are interested in at the moment,

the rest is outdated and wrong in many ways.

except for new articles by one of the moderators, there you need to get into the type-reference first

 
MrBrooklin:

Good day everyone!

I'm creating a new topic "MQL5 self-study from scratch" to

  1. I have learned the basics (fundamentals, principles) of writing a program code in MQL5.
  2. By the results of this self-study try To write an article for all beginners in the MQL5 programming language, that can be understood not only by a "dummy", "newbie", etc., but even by a child.

This topic is separate from the many existing ones for beginners, just because it is very difficult for a self-study trainee to find the necessary information in them. I want to note, that in these themes I several times addressed to experts in programming area and received from many of them reasonable answers (advice, helps), I'm immensely grateful to them. However, I realized that no one is interested in newbies with their frequent, often repetitive stupid questions on inexplicably taken software codes. Hence this decision was made.

From the abundance of information on the MQL5 website, I can highlight only two articles for self-study from scratch:

"Trading in MQL5 is Easy" by the link https://www.mql5.com/ru/articles/481

"A Quick Start or a Short Course for Beginners" by https://www.mql5.com/ru/articles/496

Both articles are excellent and written in a form that is absolutely clear to a person far from programming but they do not give all the basics of programming. I would like to build this thread following "from simple to complex" principle but at the same time SPECIAL ATTENTION I don't care who likes to be rude, flubby or snide with newbies! For all such antics will contact the moderators and site administrators to help delete all rubbish from this thread.

The messages in the subject will be explained and explained as if they were intended for a 1st -year pupil of the programming school, from the first day of school. This is needed to make it easier to write a separate article later.

One more request. Please do not keep referring me to MetaQuotes Language 5 (MQL5) Reference because it is exactly what I study, and this tedious questions appear while studying MQL5 Reference and I ask to handle them calmly and patiently. I will still have to ask such questions, but only because I couldn't find the answers that are clear to me.

From the outset, I will express my special gratitude to those experts in programming who, in spite of being very busy, will be able to share their invaluable knowledge gained over many years of studying MQL5.

Introduction

So, let's imagine that it's September 1 and a new student comes to a specialized programming school. The student should have a textbook (Reference on the MQL5 website ), a notebook (a template of an Expert Advisor, a script, an indicator, etc.) and a pen (a computer keyboard) .

Let's begin in order. Everything is clear with a textbook and a pen, since almost every home has a computer with Internet access, but where can one get a notebook? First, you need to download the MetaTrader 5 (hereinafter MT5)terminal program from the MQL5 website . Justscroll down to the bottom of the MQL5 website and find a title "Join - Download MetaTrader 5! Under this heading you can select an operating system installed on the student's computer (in my case, it is Windows) and click on it. After installing and opening the MT5 terminal, you will be able to open the MetaEditor. To open the editor, either open the Service tab and click on MetaQuotes Language Editor , or find an icon on the terminal bar with a pop-up tipMetaEditor and click on it.

Once theMetaEditor is opened, you should find the New icon (new document creation) in its pane and click on it. A new tab will open with a list of templates (workbooks) that can be used in the pupils' studies.

First, under the message "Choose what you want to create:" select the topmost blue circle Tip (template) and click Next. This will open another tab, where in the Name: line at the top, after the wordExperts\ , enter the name of the EA and type in, for example,New. We press the Next button and the Done button twice in a row.

Now, that's it! Finally, the student has received a workbook, or rather, an Expert Advisor template named New.mq5 .

Part 1......


Here I'm addressing to the experts in MQL5 programming - what would you recommend to begin studying? Imagine from the depths of your life, where would you start? Maybe, you need to draw up a plan of training point by point? What must it necessarily include, in what sequence? Is it possible to learn programming in MQL5 without knowledge of С++? Please share your constructive suggestions!

Sincerely, Vladimir.

First, the procedural part, standard operators, functions, syntax. Then the structure classes, and OOP. Then you may proceed to the standard libraries. On the 4th, there is a textbook by Kovalev, which is not liked here. But, unfortunately, there is no such textbook for the 5. This leaves us with the study of articles.

By the way, there is a set of articles on OOP and miscellaneous.

Forum on trading, automated trading systems and testing trading strategies.

Any questions from newbies on MQL4 and MQL5, help and discussion of algorithms and codes

Valeriy Yastremskiy, 2020.04.01 15:57

Thank you. It may be useful. May be useful for someone.

GHP

https://www.mql5.com/ru/articles/357

https://www.mql5.com/ru/articles/703

https://www.mql5.com/ru/articles/116

https://www.mql5.com/ru/articles/70

https://www.mql5.com/ru/articles/351

GA

https://www.mql5.com/ru/articles/55

MQL4

https://www.mql5.com/ru/articles/1483

I liked it too)))

https://www.mql5.com/ru/articles/1499


Also a question, when you click on the articles, 18 pages of articles and the title appear:

Articles on Programming in MQL4 and MQL5

When I click on the second page MQL4 disappears. When I press on MT4, 6 pages will appear. And they are not in the initial selection.



 
Valeriy Yastremskiy:

First the procedural part, standard operators, functions, syntax. Then structure classes, OOP. Then we can move on to standard libraries. For 4, there is a textbook by Kovalev, which is disliked here. But, unfortunately, there is no such textbook for the 5. This leaves us with the study of articles.

On OOP and miscellaneous by the way.


Thank you, Valery! I have a question for you right away. I've read everything about operators, functions, syntax, etc. What's next? How do I use it all in practice? You need an understanding of how to use it all. That's where the main problem lies. Maybe, there is a basic principle of writing all Expert Advisors? I do not mean the trading strategy, but the code itself.

Regards, Vladimir.

 

Let me give you a concrete example.

In my life, I have developed a very good understanding of element base (electronic engineers know what it is). I understand how a transistor, a resistor, a capacitor, a diode, a thyristor, a chip, etc., etc., work. But this knowledge is not enough to simply assemble, for example, a radio receiver from this element base. At first a schematic diagram is developed, ratings of elements are calculated and then everything is combined into a single circuit, after which the radio receiver begins to work.

May it be that the development of the program code follows the same sequence? Please, advise!

Regards, Vladimir.

Как заказать торгового робота на MQL5 и MQL4
Как заказать торгового робота на MQL5 и MQL4
  • www.mql5.com
Главным преимуществом торговых терминалов MetaTrader является возможность создания автоматических торговых систем, способных совершать торговые операции без вмешательства трейдера, что позволяет исключить влияние психологии на результаты торговли. Для этого нужно сформулировать торговую стратегию и реализовать ее в виде программы на языке MQL...
 
MrBrooklin:

Maybe in software code development the sequence is roughly the same? Hint!


post - https://www.mql5.com/ru/forum/352460#comment_18544249 not enough?

Do you need nerfs to come in and list the same nerfs?)

 
MrBrooklin:

Let me give you a concrete example.

In my life, I have developed a very good understanding of element base (electronic engineers know what it is). I understand how a transistor, resistor, capacitor, diode, thyristor, microcircuit, etc., etc., work. But this knowledge is not enough to simply assemble, for example, a radio receiver from this element base. At first a schematic diagram is developed, ratings of elements are calculated and then everything is combined into a single circuit, after which the radio receiver begins to work.

May it be that the development of the program code follows the same sequence? Please, advise!

Regards, Vladimir.

As an electronic engineer you should have a good understanding of what a circuit is.
It's the same here. To be able to write good logic, you must first make a block diagram of the algorithm, how everything will work.
Everything works on the board according to the schematic ))
That's why, yes, consistency is necessary when you're developing code.

 
Roman:

As an electronic engineer, you should have a good understanding of what a circuit is.
It's the same here. To write quality logic, you must first make a block diagram of the algorithm, how everything will work.
Everything works on the board according to the schematic ))
That's why yes, when developing the code, you must be consistent.

Thanks, Roman!

Regards, Vladimir.

 
MrBrooklin:

Thank you, Roman!

Sincerely, Vladimir.

-1 step.

comparing and searching for similarities with your masterminds, -1 step.

 
Fast235:

post - https://www.mql5.com/ru/forum/352460#comment_18544249 not enough?

(Do you need some newbies to come in and list the same newbies?)

I started to study the article "Fundamentals of MQL5 Programming: Global Variables in MetaTrader 5" by Dmitry Fedoseyev following your advice. As I go through the article, I also have questions, which I voice in the new topic. There are people who immediately understand all the information and have a clear picture, and there are other people who do not have this ability. Be more tolerant.

Sincerely, Vladimir.

 
MrBrooklin:

I started to study the article "Fundamentals of MQL5 Programming: Global Variables in MetaTrader 5" by Dmitry Fedoseyev following your advice. Parallel to the study of the article, I have questions, which I am voicing in the created subject. There are people who immediately understand all the information and have a clear picture, and there are other people who do not have this ability. Be more tolerant.

Sincerely, Vladimir.

I assure you will come back to it, to all subjects, especially to string, it's the most complicated one)

Reason: