Discussion sur la documentation de MQL4 - page 3

 
MQL est similaire à C, personne ne le conteste. Personne n'a besoin ou n'a jamais demandé un tutoriel sur la syntaxe MQL.

Dans les langages de programmation, où Framework-e et ses fonctions, comme Java et MQL, sont le principal centre d'intérêt de la documentation, car dans ce type de langage, on ne peut rien faire sans eux. Il ne s'agit pas d'assemblage ou de C, où si vous n'aimez pas quelque chose ou si vous ne comprenez pas son fonctionnement, vous pouvez le réécrire comme bon vous semble. 90 % de la documentation Java concerne les fonctions Framework.

La situation est très similaire dans MQL, parce que MQL est un langage où les fonctions standard du framework jouent un rôle majeur, alors que la documentation sur ces fonctions est boiteuse (et c'est exactement ce que Newton a dit, et avec lequel je suis absolument d'accord).

Les exemples de la documentation sont très souvent inutiles. Un bon exemple n'est pas une ligne, mais un appel de fonction avec des paramètres. La documentation et les exemples doivent expliquer très précisément quelles sont les limites acceptables des paramètres, où et comment vous pouvez et où et comment ne pas appeler la fonction, et ce qu'il faut attendre comme résultat de l'appel.
Pas besoin de tutoriels, il suffit de parcourir la documentation et si elle ne ressemble pas à celle d'OrderSend, mais à celle-ci, corrigez-la :

int AccountStopoutLevel()
Возвращает значение урвоня, по которому определяется состояние Stop Out.
Пример:
 
Print("StopOut level = ", AccountStopoutLevel());

Au moins le lien de Stop Out, qui explique ce qu'on entend par Stop Out (le même que Margin Call ? Ce n'est pas clair. ...) est nécessaire ici. Mieux encore, si l'exemple donne la valeur spécifique du compte consommateur et ce qui lui arrive avant et après l'utilisation de la fonction et pourquoi. Dans le cas de AccountStopOutLevel, l'exemple pourrait montrer le compte consommateur qui a été rejeté de la transaction à ce niveau et expliquer le lien entre ce niveau et ce que AccountStopOutLevel rapporte.

À vrai dire, il y a aussi des fonctions dont la documentation est agréable à lire, on voit immédiatement qu'elles ont été réfléchies et écrites sérieusement, et pas seulement pour les ignorer (OrderSend, par exemple). Mais ces fonctions sont moins nombreuses que celles qui sont bien documentées. Avec OrderSend, c'est clair : tout le monde a besoin d'OrderSend. Ici, il faut rédiger une documentation, sinon les gens ne pourront pas du tout faire de transactions. Et sur d'autres fonctions - " bien, ils ne gloussent pas et bien, si nécessaire, nous les ajouterons plus tard ". C'est nécessaire, Monsieur MQS, c'est nécessaire. Veuillez les ajouter.
 
Dmitrich:

Mais il y a beaucoup de traders ici, pas de programmeurs ! Un homme aime jouer à la bourse, l'excitation, les calculs. Pourquoi un trader deviendrait-il programmeur en apprenant le C++, puis en étudiant des articles et des chelers ? Pour lui, ce n'est pas intéressant, et il est difficile de "roder" la stratégie sans conseiller expert. Que faire ? Prenez le chemin le plus court et cherchez (demandez, exigez, extorquez) un manuel scolaire. Qu'est-ce qu'il y a de mal à ça ? Si nous n'aimons pas les tartes de la boulangerie la plus proche, nous cherchons une autre boulangerie, sans toujours essayer de cuisiner nous-mêmes. Chacun doit faire ce qu'il veut et de préférence ce qu'il aime.

Pour une raison quelconque, vous faites un amalgame entre la réticence des traders à devenir des programmeurs et la nécessité d'un manuel.
Ce sont des choses complètement différentes ! Je ne suis pas un programmeur de formation et personne ne m'a demandé de programmer, sauf à l'institut pendant le processus d'apprentissage. Cependant, j'ai simplement lu ce que j'avais il y a 2 (DEUX) ans dans MQL et j'ai commencé progressivement à programmer. Maintenant j'ai 260Kb d'EA écrit avec mes idées, que je n'ai jamais vu nulle part sur Internet, et que je modifie constamment (c'est-à-dire que je cherche).
Si un trader a réussi à injecter de l'argent sur le marché pendant un ou deux mois en pensant qu'il est un vrai "trader" et qu'il a la chance d'avoir une stratégie prête à l'emploi - il lui suffit d'avoir un manuel intelligent et il pourra dormir tranquille une fois par semaine après avoir programmé un conseiller expert avec un manuel, alors c'est une illusion que tout le monde a vécue ! Vous devez le considérer comme une étape dans le développement de MTS. Je peux vous assurer que l'algorithme que vous avez utilisé pour réussir sur le marché pendant 1-2 mois ne peut absolument pas vous garantir quoi que ce soit à l'avenir, peu importe comment et par qui cet EA sera mis en œuvre - l'auteur lui-même ou des tiers pour de l'argent.
 
Pour une raison quelconque, vous avez fait un amalgame entre la réticence des traders à devenir des programmeurs et la nécessité d'un manuel. <br/ translate="no">Ce sont des choses complètement différentes ! Je ne suis pas un programmeur de formation et personne ne m'a demandé de programmer autrement qu'à l'institut pendant le processus d'apprentissage. Néanmoins, j'ai pris mes lectures de MQL il y a 2 (DEUX) ans et j'ai commencé progressivement à programmer. Maintenant j'ai un EA de 260Kb que j'ai écrit avec mes idées, que je n'ai jamais vu nulle part sur Internet, et que je modifie constamment (c'est-à-dire que je les cherche).
Si un trader a réussi à injecter de l'argent sur le marché pendant un ou deux mois en pensant qu'il est un vrai "trader" et qu'il a la chance d'avoir une stratégie prête à l'emploi - il a juste besoin d'un manuel intelligent et pourra dormir tranquille une fois par semaine après avoir programmé un conseiller expert avec un manuel, alors c'est une illusion que tout le monde a vécue ! Vous devez le considérer comme une étape dans le développement de MTS. Je peux vous assurer que l'algorithme que vous avez utilisé pour réussir sur le marché pendant 1-2 mois ne peut absolument pas vous garantir quoi que ce soit à l'avenir, peu importe comment et par qui cet EA est mis en œuvre - par l'auteur ou par d'autres pour de l'argent.

Je ne parle pas du succès de la stratégie, mais du désir naturel des gens d'apprendre à écrire des Expert Advisors sans étudier des manuels sur le C++ et de nombreux articles et manuels.
 
Dmitrich:

Je ne parle pas du succès de la stratégie, mais du désir naturel d'une personne d'apprendre à écrire des EA sans étudier des manuels sur le C++ et de nombreux articles et manuels.

D'une manière générale, à mon sens, un manuel normal d'écriture MQL doit être quelque chose de similaire à ce qui est disponible en librairie pour n'importe quel langage de programmation. Ces livres épais comptent un demi-millier de pages chacun. Les particularités du MQL peuvent difficilement être décrites dans une brochure de 50-100 pages, ce dont rêvent les "traders". La seule liste d'exemples pourrait facilement atteindre 100 pages, voire plus, à en juger par les articles de ce site. Et vous avez également besoin d'illustrations et d'explications détaillées. Il est donc peu probable qu'un manuel MQL sérieux encourage fortement les "traders" à programmer des EA si l'existence de ce site ne les a pas inspirés jusqu'à présent. Je parle de la nécessité de l'existence d'un tutoriel MQL, et je veux dire le côté formel de la question - s'il existe un langage de programmation, alors il doit y avoir un tutoriel (même si c'est principalement sous forme électronique) pour ceux qui souhaitent apprendre à programmer dans ce langage.
D'ailleurs, certains articles locaux sont presque des chapitres d'un manuel scolaire.
 
solandr:
Dmitrich:

Je ne parle pas d'une stratégie réussie, mais d'un désir naturel d'apprendre à écrire des Expert Advisors sans étudier des manuels C++ et des piles d'articles et de manuels.

D'une manière générale, à mon sens, un manuel normal d'écriture MQL doit être quelque chose de similaire à ce qui est disponible en librairie pour n'importe quel langage de programmation. Ces livres épais comptent un demi-millier de pages chacun. Les caractéristiques de MQL peuvent difficilement être décrites dans une brochure de 50-100 pages, ce dont rêvent les "traders". La seule liste d'exemples pourrait facilement atteindre 100 pages, voire plus, à en juger par les articles de ce site. Et vous avez également besoin d'illustrations et d'explications détaillées. Il est donc peu probable qu'un manuel MQL sérieux encourage fortement les "traders" à programmer des EA si l'existence de ce site ne les a pas inspirés jusqu'à présent. Je parle de la nécessité de l'existence d'un tutoriel MQL, et je veux dire le côté formel de la question - s'il existe un langage de programmation, alors il doit y avoir un tutoriel (même si c'est principalement sous forme électronique) pour ceux qui souhaitent apprendre à programmer dans ce langage.
D'ailleurs, certains articles locaux sont presque tous des chapitres prêts à l'emploi d'un manuel scolaire.
Je suis d'accord, mais il serait plus facile pour les traders et les programmeurs novices d'utiliser un manuel où tout est systématisé. Vous n'êtes pas obligé d'étudier les 500 pages. Il suffirait d'étudier la partie introductive, les bases de la programmation, puis de l'utiliser comme un livre de référence, en sélectionnant uniquement les opérateurs (ou quel que soit leur nom) nécessaires à la mise en œuvre et à l'optimisation d'une stratégie particulière. Et les exemples, en conséquence, avec des illustrations ne seront plus tous nécessaires. Je sais qu'il est impossible d'écrire un manuel complet, mais seules les subtilités peuvent être clarifiées ici dans les articles et sur le forum.
 
Dmitrich:
Il suffit d'apprendre la partie introductive, les bases de la programmation, et de l'utiliser ensuite comme référence, en ne sélectionnant que les opérateurs (ou quel que soit leur nom) nécessaires pour mettre en œuvre et optimiser une stratégie particulière. Et les exemples, en conséquence, avec des illustrations, ne sont plus aussi nécessaires.
Pour résoudre ces problèmes, Rosh a rédigé plusieurs articles de base sur le site d'Alpari qui sont très utiles pour les débutants. Cependant, la conception a changé - je ne peux pas trouver immédiatement ces articles sur le site. Vous pouvez les lire pendant une semaine et être au courant des tendances fondamentales de la programmation. Et plus encore, en fonction des tâches à accomplir par le rédacteur expert.
 

Pourquoi tout mettre dans le même sac ?
Pourquoi contester l'évidence - qu'un bon (et un moins bon) manuel MQL est indispensable ?
Je programme en MQL depuis 2 ans maintenant, je n'ai pas besoin de livres. Mais cela signifie-t-il qu'ils ne sont pas du tout nécessaires ?

Dans ce fil, beaucoup de commentaires corrects ont été faits ailleurs. Je vais les reprendre avec les miennes, afin de tout regrouper en un seul endroit :

Il doit y avoir un chapitre obligatoire décrivant (comme alex_ant l'a écrit) le mécanisme de fonctionnement des programmes MQL. C'est une chose que tout trader novice en programmation peut comprendre avant même d'avoir appris le langage. Cette description doit être liée au processus de négociation et peut également expliquer la différence entre les indicateurs, les scripts et les conseillers experts, leur comportement par rapport à la file d'attente des tick, au serveur de négociation, entre eux, etc.

Il convient d'accorder plus d'attention à la structure du programme MQL, à ses principaux composants - les fonctions init(), start() et deinit(). Ces fonctions constituent la principale différence entre MQL et les autres langages, et la documentation leur accorde très peu de place, quelques lignes seulement.

Il serait très agréable de parcourir tous les articles du dictionnaire et non seulement d'éliminer les erreurs et les coquilles, mais aussi de ramener la terminologie à un dénominateur commun. Très souvent, les descriptions de paramètres identiques ou similaires de fonctions et de procédures sont faites en utilisant des termes très différents et leur signification n'est pas expliquée. Il y a donc une description, mais la signification et l'utilisation de certains paramètres doivent être étudiées dans le cadre d'une expérience.

Il est très important (je suis absolument d'accord avec 4x4ever ) de donner des exemples en ligne droite ! La grande majorité des exemples dans les articles du dictionnaire n'expliquent rien et n'enseignent rien. En général, un exemple d'une ligne n'est pas un exemple ! Dans un manuel normal, l'exemple permet de comprendre à la fois la signification des paramètres, l'ordre dans lequel la procédure/fonction est utilisée et le résultat qu'elle produit. Et pour cela, il n'est pas nécessaire d'écrire son propre programme. IMHO : la faiblesse des exemples MQL est l'un des principaux inconvénients de la documentation.

Et enfin, il devrait y avoir quelques articles qui expliqueraient à un débutant comment écrire un indicateur/script/conseiller étape par étape. Ce besoin n'est pas lié à l'algorithme, mais aux caractéristiques de l'architecture du programme MQL. Cet article aidera un débutant à comprendre la structure et le code du modèle, et donc à faire le premier pas le plus difficile. Par la suite, ce modèle peut être utilisé pour créer tous les autres programmes de ce type. Et il n'y a pas de problème, parce que Rosh d'articles similaires ont été écrits en abondance. Il vous suffit de sélectionner ceux qui conviennent et de les simplifier considérablement.

Chers développeurs, les améliorations à la documentation énumérées représentent beaucoup moins de travail que la création d'un tutoriel. Cependant, pour les utilisateurs, ces choses sont presque égales. Vous exprimez souvent votre mécontentement quant au fait que les deux forums voient souvent des personnes poser les mêmes questions. Les questions répétitives peuvent être réduites de manière drastique. Pour ce faire, il suffit de prendre en compte les quelques souhaits exprimés dans ce fil dans la documentation au moins.

 
Yurixx:

Pourquoi tout mettre dans le même sac ?
Pourquoi contester l'évidence, à savoir qu'un manuel MQL approprié (pas bon) est indispensable ?

C'est peut-être vrai, mais une question demeure : qui écrit et publie réellement des manuels de programmation dans le monde ? Les développeurs ou les auteurs et éditeurs tiers s'en chargent ? Les développeurs créent le programme et le langage, la rédaction et la publication d'un manuel est une autre affaire.

Et qu'est-ce qui vous fait penser qu'un manuel scolaire est nécessaire ? Si vous personnellement et les trois autres personnes dans ce fil en ont besoin, cela ne veut rien dire. S'il y avait une demande effective, il y aurait déjà une offre - c'est le marché.

Un manuel scolaire normal coûte 50 à 100 dollars. Je suggère à ceux qui veulent obtenir un manuel de qualité de contribuer à hauteur de cinquante dollars. Et si ces cinquante dollars suffisent, il sera possible d'engager un auteur décent qui, pour un salaire normal, travaillera sur le manuel comme un travail principal, et non pas entre deux bouffées de pain quotidien. Un éditeur normal sera engagé, des réviseurs normaux seront payés, puis le livre sera publié dans une qualité normale.

Et s'il n'y a pas assez de demande, alors il n'y a rien à dire - bavardage de forum vide - donnez-moi tout plus et gratuitement.
 
timbo писал (а):


C'est peut-être vrai, mais une question demeure : qui écrit et publie réellement les manuels de programmation dans le monde ? Est-ce que ce sont les développeurs qui s'en chargent, ou les auteurs et éditeurs tiers ? Les développeurs créent le logiciel et le langage, la rédaction et la publication d'un manuel est une autre affaire.

Il faut lancer une idée aux éditeurs. C'est un sujet très spécialisé, ils ne l'ont pas encore abordé. C'est vrai, s'ils (les éditeurs) s'y mettent, ils le déformeront et feront tellement d'erreurs qu'un manuel intégré ressemblera à la Bible en comparaison :-)
 
Yurixx:


Il est obligatoire d'avoir des chapitres décrivant (comme alex_ant l'a écrit) le mécanisme de fonctionnement des programmes MQL. C'est une chose que tout trader novice en programmation peut comprendre avant même d'avoir appris le langage. Cette description doit être liée au processus de négociation et peut également expliquer la différence entre les indicateurs, les scripts et les conseillers experts, leur comportement par rapport à la file d'attente des tick, au serveur de négociation, les uns par rapport aux autres, etc.

Il convient d'accorder plus d'attention à la structure du programme MQL, à ses principaux composants - les fonctions init(), start() et deinit(). Ces fonctions constituent la différence essentielle entre MQL et les autres langages...

Exactement !

"- Avez-vous remarqué, messieurs, le temps qu'il fait ?
- Prévisible.
- Précisément prédit, Sir Oira-Oira, précisément prédit !"
(Strugatsky, Le lundi commence le samedi)