Discussion on MQL4 documentation - page 5

 
Renat:
Dmitrich:
Not enough help for me, and I don't want to learn C++. It will never be useful to me, and I don't have time for such a hobby. What should I and others like me do?
It's a fun thing to do. I don't want to learn it, but I'm willing to blame the lack of documentation.

I didn't make up the topic title and I'm not accusing you of anything. It's up to you how you position your product. I simply support the idea of writing a textbook. I do want to study it, but I want to study MQL, not C++. I don't want to learn to ride a bicycle to understand how to handle a horse. I'm just expressing a demand, not a complaint. I'm grateful to the developers for creating the product and this forum, which is really very useful even to me, not knowledgeable in programming.
 
Dmitrich:
chv:
Honestly, when it took me a year to learn MQL4, I didn't notice the lack of documentation on the language. In MetaEditor, any keyword can be powerfully pressed on the F1 key and it will give a description of that keyword. Again, the online documentation also shows the description of any language construct.

For example, just compare the description of MQL4 function OrderSend at https://docs.mql4.com/ru/trading/OrderSend and description of PerformanceCounterCategory.Exists method in my favorite Microsoft MSDN Help at http://msdn2.microsoft.com/en-us/library/tzz6bdx9.aspx#- they are almost equal in structure, except that Microsoft provides help in four .NET platform languages - VB, C#, C++ and J#, but in MQL4 the language is one, it's not necessary here.
Then again, MQL Code Base gives even more code examples, not to mention keyword searching.

Maybe, I would suggest to merge the below mentioned language constructs and CodeBase examples for this function on the website in sections Help forPHP, for example, i.e. there are more examples of this function from different sources on the page of function description, just for the use of this function.

I think that MQL-developers sometimes confuse the help for the basic language constructs, and the lack of knowledge on how to combine these constructs into something sensible to make it work the way you want it to. The latter comes with experience. You have to try, do your own development, read articles and other people's code and you will get it right. And no one will invent a $100 million monthly income strategy for you, MQL will not help you there.

You have not had problems because you have had some knowledge of programming. But many people (like me) don't know what PerformanceCounterCategory.Exists and have programmed only a calculator and a washing machine at best. I have strategies in Exel and I have no idea how to translate them into MQL4 code! Not enough help for me and I don't want to learn C++. It will never be useful to me, and I don't have time for such a hobby. What should I and others like me do? Yes, there aren't many of them on this forum, but there are enough traders who understand the need of independent programming in MQL4, but cannot master the language as you do. Maybe it is because of our stupidity or laziness, but there are a lot of such dumb and lazy traders. The manual is not a panacea, but it will allow us at least to understand the principles and basics, learn to set goals and ask questions. Profitable strategies are out of the question - that is another craft.

You know, I know what you mean. When I studied at the university in the Mathematics department, I remember how many different methods of teaching we were offered to read over the most famous methodologists of still Soviet school (Lerner, Stolyar, Mishin, etc.), and each of them wrote in their academic papers that their method is the best and the only correct one. From this I then derived a simple conclusion - no single correct methodology does not exist. You have to try it and see the results.

Later, working in industrial enterprises, I was faced with the fact that it is not enough to create an automation system, for successful implementation it is necessary to periodically train employees to work with it, ie allocate time in a training room by the order of the enterprise, through heads of departments to rush people there at the right time, to prepare a training manual and conduct a normal full training for them, like in school or college.

From time to time, IT people experience start-up difficulties as well, because it is constantly necessary to study new versions/development environments/libraries/technologies. Surely, many people, like me, solve this "starter entry" problem by finding and studying samples with training projects uploaded to manufacturers' websites. That is, if I need to study .NET Framework 3.0 library or something from AJAX, I search the Internet for ready-made examples, i.e. complete project with sources. I compile it, run it, see the results, and then try to understand its code, changing and tweaking something, and look at the results again. Studying a ready-made project is easier than creating it from scratch on an unknown platform.

That's why I recommend you to download some ready-made Expert Advisors from Code Base at https://www.mql5.com/ru/code as a training project and try to twist their code and read comments, if they are there - it's a well-trodden way of studying. Of course, you won't find any profitable strategy there, but it will certainly help you to master MQL language.
 
I also want to "alyverdy" note that learning C++ instead of MQL4 will hardly help you. There are several languages and platforms, similar in syntax: C++, Java, MS .NET C#, MQL4, and their syntax is 90-95% similar. But they have different libraries, a set of basic functions (API) of the platform itself, different editors, and different purposes of final programs.
Therefore, study exactly the examples of MQL4 code (Expert Advisors, indicators), and do not waste your time on something else, if you don't need it.
 
I'm not going to argue, I'm just going to say my opinion:
- There is a minimum of information in the help file.
- There is no debugger to check hypotheses about "unclear from the description" functions to correct errors in the code.
 
raw:
I'm not going to argue, I'm just going to say my opinion:
- There is a minimum of information in the help file. <-- Disagree with you, in general there is enough information on mql4.com/en website, you should use search by examples, local forum. If something is not clear, ask questions, they are usually answered. Another thing, maybe it is worth to combine the basic help and examples of third-party developers, i.e. on the pages of Help to make a moderated link "Add Example", and below the description of the function, examples of other developers (not MetaQuotes) for this function will appear. And then for someone who reads such a description, the Copy/Paste method is in hand.
- there is no debugger to check hypotheses about "unclear from description" functions in order to correct errors in the code. <-- I agree with you, without debugger is bad, prints is a primitive, outdated way of debugging, besides it eats a lot of time spent on rummaging in gigabyte logs - efficiency and pleasure from it is below average.
 
Renat wrote (a):
It's a fun thing to do. Not willing to learn, but willing to blame the lack of documentation. <br / translate="no">
Sorry, but you're wrong. Actually I'm surprised to hear that from MetaQuotes representatives. It is the approach of a Soviet programmer, like: "We wrote a super-genius and understandable system, and you, fool, can not figure it out. You have the problem, not us! Read the documentation for the 101st time and you'll have an epiphany!" Understand, if people are having a hard time figuring it out without a tutorial, it's your problem, and yours alone, as you make money from the popularity of your product. In addition, the need to create a textbook has been hinted at very delicately and even logically justified their arguments.

In general I don't want to develop a discussion, I'm glad that a textbook is being prepared. I just wanted to be indignant with your approach to users worthy of a defense research institute of the 80s.

Dmitrich wrote (a):

I didn't make up the title of the topic and I don't accuse you of anything, it's your business how to position your product. I simply support the idea of writing a tutorial. And I want to study it, but MQL, not C++. I don't want to learn to ride a bicycle to understand how to handle a horse. I'm just expressing a demand, not a complaint. I'm grateful to the developers for creating the product and this forum, which is really very useful even to me, not knowledgeable in programming.
Totally agree and support. The bicycle and horse example is spot on.
 
Renat wrote (a):
It's a fun thing to do. Not willing to study, but willing to blame the lack of documentation. <br / translate="no">.

I also want to add that if we had had at least one small section in the Help at the very beginning with subtitle "Where to start and how it works", which would explain the general principles of MQL and give examples of simple programs, maybe this topic would not have arisen at all.

 

The documentation problem posed is natural, it was bound to arise sooner or later: the product is rapidly gaining supporters, and some kind of standardisation is still necessary. It's good that a tutorial is being prepared, although personally I don't think I need it much, as I already have some basic knowledge, and I can ask questions on the nuances here on the forum as well.

My situation was much simpler - I started with studying ready-made code examples and investigating them at the same time, rather than reading the manual. It immediately became clear that the C-like language. Of course, understanding the general principles of work did not appear at once: it still takes time, just like when mastering a language from a textbook.

I agree that a systematic tutorial with clearly laid out simple examples of Expert Advisors/Inducators/scripts/libraries/header files would certainly be extremely useful to a beginner who is not burdened with C programming knowledge.

Frankly, the statements about pre-learning C++ in this thread surprise me: where is the "increment" to C? Yes, syntactically the language is a subset of C, but it is much simpler than C++...

 
It seems to me that initially none of the developers had any idea that people would start to learn the basics of programming with the language mql. Most likely, it was assumed that more or less trained programmers would program EAs, 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 . :-)
 
Yes, the demand for language clearly exceeds the qualified. What can you do, newbies are always the hardest, and they will be the last to get the full gentleman's kit, enough to acquire qualifications in the language on their own... And for now, there will be a forum where you can ask the most basic questions - without fear of being pelted with rotten eggs for incompetence.