Discussion on MQL4 documentation - page 6

 

No one doubts that a proper MQL textbook will appear someday. The only question is the time.
In this regard it is interesting to know what will do those who will not learn to program without it (can not)? For example, if developers sit at the book now and say that a textbook will be published in 1-2 years what will those who want this textbook now do? Will they just wait for 1-2 years and then start a branch similar to this onehttps://www.mql5.com/ru/forum/51086? ;o)
Just out of curiosity.

 
I think most people are already trying to figure it out, but some part of them will wait and only some part of that part will wait and not spit on the whole thing. In fact, in 2 years MQL5 will come. Why would there be a textbook on MQL4?
 

I'm curious to know what those who can't learn to program without it will do?


Those who really need it will and can. As a last resort, they will simply make an agreement with a programmer who will encode what they need.

If there is no money for him, then in the first case, they will make something themselves. This is a real investment in the most important capital - knowledge.

When I learned Trubo Pascal for the first time in my life, a week was enough to master it in the volume, sufficient for reading two semesters of lectures to the students, for whom the specialty "System programming" was not profile. At the same time I managed to write my own program about 500-600 lines of code, which reformatted a text file from one-column to many-column one (agree, it's not a task for a novice). I'm not building my fingers, I'm just saying how long it takes approximately to start writing something normal in MQL4. The C language is no more difficult (I repeat: exactly C, not C++).

It means either you do not have enough brains or you do not have enough persistence. What kind of mechanized traders are they?
 

Another option is distance learning. For example, like this:

  1. Someone from an experienced programmer sends the simplest examples of scripts, indicators, advisors with detailed comments on literally every line.
  2. The student reads them, analyzes them, changes the parameters, asks questions.
  3. The programmer answers the questions and gives more complicated examples with only new features commented.
  4. The student works through the material again and asks questions about it and asks for an idea (use of averages, statistics, external indicators, etc.).
  5. The programmer answers the questions and gives a set of functions that can be used to solve the problem.
  6. The student copes with the task, heartily thanks the teacher and, having understood the principle and basics of programming, goes for a swim, from time to time asking questions on the forum, independently studying articles, manuals, examples, etc.
  7. The programmer, satisfied with the student's success, goes to withdraw his or her fee from WebMoney and waits for other offers for training.

This kind of training would be quite effective, in my opinion. In 5-10 sessions, if the programmer is skilled enough and the student is capable of it, it is possible to reach the level after which the programmer can easily go on to self-improvement. As for ordering Expert Advisors, then again, in my opinion, in most cases, it is a waste of money. The strategy needs to be improved (honed). What are the chances to immediately hit the "gold mine"? Forex market changes and you have to adapt to it. You need only to write the strategy yourself or enter into long-term business relationships with a programmer and work with a team. What do you think about it? I am particularly interested in whether any of the programmers are prepared to take on training in principle.

 
I think it's a very good idea, I think there will be willing students and teachers :-)
 
I take it that:
  • availability of built-in documentation on MQL4 (in two languages) in MetaEditor
  • development of the MQL4 programming community website in three languages (Russian, English and Chinese)
  • Paying for the articles of independent traders in MQL4
  • Automated Trading Championship organization
  • maintenance of the Codebase online library with direct access from MetaEditor
  • Technical support and ongoing consulting of traders by the developers in our forums.
just is:

This is the Soviet programmer's approach: "We have written a super-genius and clear system, and you, fool, cannot figure it out.


And the developers' polite interest in direct statements of the kind:

I do not want to learn C++. I will never need it, and I do not have time for this hobby

direct causes a storm of indignation with the continuation of similar statements.


Unfortunately, it all comes down to laziness and unwillingness to even read what is already on this site and in the built-in documentation. That is, we demand documentation, but are too lazy to read it.
 

It seems to me that none of the developers initially had any idea that people would start to learn the basics of programming in mql. Most likely, the programmers who are more or less prepared were supposed to program Expert Advisors, scripts and indicators. And users will only use the ready-made ones :-)
Hence the relatively modest documentation. And if you rely on complete strangers to programming and write a programming tutorial for them it will become a very voluminous work. For you will have to start with basics - understanding what bit and byte mean . :-)

A bit of history


The first version of MQL was written back in 2001 (6 years ago) for the MetaQuotes trading platform. It was a very simple stack-based interpreter, but it already allowed us to automate trading. That is, to write systems that actually managed orders. It was the year 2001, when almost none of the publicly available programs (neither Omega nor Metastock) had any relation to the real account management (they managed only virtually and distantly from the market).

The second version of MQL 2 was released in 2002 for the MetaTrader 3 platform. It was a language much closer to Easy Language. Unfortunately, this way was an absolute dead end. It turned out that:
  • There are no such things as "easy languages".
  • A non-professional programmer will never write anything decent by definition
  • A professional programmer will be shocked by such an "easy" but non-professional language and will not want to spend time on learning a new language
As a result, we focused on using the C-like language MQL4 and writing a good compiler to give the most possibilities to those programmers who are familiar with C/C++/C#/Java. The language is very fast, secure and we can write almost anything we need in it (DLLs help with the rest).


Policy towards MQL4


Personally I have repeatedly explained on the forum http://www.metatrader4.com/ru/forum our policy with regard to the MQL4 language and its clear positioning specifically for programmers. In other words, we do not make any statements like "we guarantee that anyone can write anything he/she wants in MQL4". Programming is a really difficult field, which requires study.

The fact that we chose C as a base gives anyone an opportunity to start learning by reading any of thousands (actually there are hundreds and thousands) of C/C++ books. The entry threshold into MQL4 is quite low.


Support and documentation


During all our developments we have always supported users, answered their requests and implemented a lot of their wishes. In the past 2 years we have invested a lot in documentation and development of related resources for traders. And the investment continues.
 

Renat! I'm very sorry we offended you! It's clear to me now that the language is aimed exclusively at programmers with a basic knowledge of C++. My statements were based on the fact that C++ is a more complicated language compared to MQL4 with completely different functions. It is illogical to learn something more complicated to understand something simple but in some ways similar. But if you still insist, please recommend me which parts of numerous C++ textbooks are worth studying before tackling MQL4. Why are you stomping your feet and spitting?

But still Renat, it's very interesting to know your opinion on the above idea of distance learning. Is it unrealistic without studying C++ textbooks, but only with examples?
 
>>>> I based my statements on the fact that C++ is a more complicated language compared to MQL4, which has absolutely different functions. It is illogical >>>> to learn something more complicated to understand something simple but similar in some way. If you still insist, please recommend >>>> which parts of numerous textbooks on C++ you should study before trying MQL4.

With
such an approach you are unlikely to become a programmer ever! And it is not about who will teach you and how, and what you will read for that purpose.
About the preliminary reading, I can say right away that nobody forces you to read all the C++. You were clearly told that MQL4 is a C-like language. All you have to do is read C programming. C++ is an extension of C by introducing classes, structures, etc., etc., that MQL4 does not have. In general, on the fingers it may look as follows:
1. Go to your nearest bookstore
2. On the programming shelf, find the thinnest (<200 pages) and cheapest book on the C language. It may be entitled as "Fundamentals of C Programming", "Introduction to C Programming" or simply "C Programming for Dummies".
3. Read it "diagonally", extracting from it just the general idea of how functions and operators are described, what data types exist etc., not focusing on the examples of C usage.
4. Start by reading the MetaEditor's help ( https://docs.mql4.com/ru/ ). After that you will understand that MQL4 in its meaning is 95% or more of C language.
5. Next, you will start carefully reading Rosh's articles http://old.alpari.org/ru/experts/articles / and try to understand what follows when building EAs, indicators and scripts.
6. Read (when reading for the first time, you may go "diagonally") articles of this website, just to get information about "where something is" and where you may need to go for further reference.
7. After all this you will begin to program and ask technical questions on this forum. People have no problem helping, especially since your questions will be the same as those that have arisen at one time with others.
8. Next, you will begin to consciously look for your trading strategy. Without programming the algorithm the search for a trading strategy is usually built on the principle of "it seemed to me that these or those indicators are profitable, and I even made 99 out of 100 successful transactions during the whole month of demo by hand". If you read this and other forums where people come almost every day who want to have something so brilliant programmed (sometimes people even agree to just pay money for this brilliant). However, judging by the reviews experienced programmers no ingenious things for money they have not had to program.

In general, a rough algorithm for becoming a programmer, I outlined. You may change the order of stages at your discretion.
 
By the way about documentation, I noticed some strange thing when I pressed F1 on OBJPROP_FIBOLEVELS property in the tooltip, something goes wrong, or rather almost nothing happens. If I selected the tab Errors or any other tab other than Help, the tab switches to Help, but displays the old information about the previous request, and about this property does not want to tell. Only a search in the navigator led to the answer. And I think it was the same on some other property, but I don't remember. Please correct it.
Reason: