Discussion sur la documentation de MQL4 - page 5

 
Renat:
Dmitrich:
Pas assez d'aide pour moi, et je ne veux pas apprendre le C++. Cela ne me sera jamais utile, et je n'ai pas le temps pour un tel hobby. Que dois-je faire, moi et d'autres comme moi ?
C'est une chose amusante à faire. Je ne veux pas l'apprendre, mais je suis prêt à blâmer le manque de documentation.

Je n'ai pas inventé le titre du sujet et je ne vous accuse de rien. C'est à vous de décider comment vous positionnez votre produit. Je soutiens simplement l'idée d'écrire un manuel. Je veux l'étudier, mais je veux étudier MQL, pas C++. Je ne veux pas apprendre à faire du vélo pour comprendre comment manier un cheval. J'exprime simplement une demande, pas une plainte. Je suis reconnaissant aux développeurs d'avoir créé ce produit et ce forum, qui est vraiment très utile, même pour moi qui ne m'y connais pas en programmation.
 
Dmitrich:
chv:
Honnêtement, quand il m'a fallu un an pour apprendre MQL4, je n'ai pas remarqué le manque de documentation sur ce langage. Dans MetaEditor, vous pouvez appuyer sur la touche F1 de n'importe quel mot clé et vous obtiendrez une description de ce mot clé. Là encore, la documentation en ligne indique également la description de toute construction linguistique.

Par exemple, il suffit de comparer la description de la fonction MQL4 OrderSend à l'adresse https://docs.mql4.com/ru/trading/OrderSend et la description de la méthode PerformanceCounterCategory.Exists dans mon aide MSDN préférée de Microsoft à l'adresse http://msdn2.microsoft.com/en-us/library/tzz6bdx9.aspx#- elles sont presque identiques dans leur structure, sauf que Microsoft fournit de l'aide dans quatre langues de la plate-forme .NET - VB, C#, C++ et J#, mais dans MQL4 la langue est unique, ce n'est pas nécessaire ici.
Par ailleurs, MQL Code Base donne encore plus d'exemples de code, sans parler de la recherche par mots-clés.

Peut-être, je suggérerais de fusionner les constructions de langage mentionnées ci-dessous et les exemples de CodeBase pour cette fonction sur le site Web dans les sections Aide pourPHP, par exemple, c'est-à-dire qu'il y a plus d'exemples de diverses sources pour l'application de cette fonction sur la page de description de la fonction.

Je pense que les développeurs MQL confondent parfois l'aide pour les constructions de base du langage, et le manque de connaissances sur la façon de combiner ces constructions en quelque chose de sensé pour que cela fonctionne comme vous le souhaitez. Cette dernière vient avec l'expérience. Vous devez essayer, faire votre propre développement, lire les articles et le code des autres, et vous y arriverez. Et personne n'inventera pour vous une stratégie de revenu mensuel de 100 millions de dollars, MQL ne vous y aidera pas.

Vous n'avez pas eu de problèmes parce que vous aviez une certaine connaissance de la programmation. Mais beaucoup de gens (comme moi) ne savent pas ce que PerformanceCounterCategory.Exists et n'ont programmé au mieux qu'une calculatrice et une machine à laver. J'ai des stratégies en Exel et je n'ai aucune idée de comment les traduire en code MQL4 ! Pas assez d'aide pour moi et je n'ai pas envie d'apprendre le C++. Cela ne me sera jamais utile, et je n'ai pas le temps pour un tel hobby. Que dois-je faire, moi et d'autres comme moi ? Oui, il n'y en a pas beaucoup sur ce forum, mais il y a suffisamment de traders qui comprennent la nécessité d'une programmation indépendante en MQL4, mais ne peuvent pas maîtriser le langage comme vous le faites. C'est peut-être dû à notre stupidité ou à notre paresse, mais il y a beaucoup de traders aussi stupides et paresseux. Le manuel n'est pas une panacée, mais il nous permettra au moins de comprendre les principes et les bases, d'apprendre à nous fixer des objectifs et à poser des questions. Les stratégies rentables sont hors de question - c'est un autre métier.

Vous savez, je comprends ce que vous dites. Lorsque j'étudiais à l'université dans le département de mathématiques, je me souviens du nombre de méthodes d'enseignement différentes que l'on nous proposait de lire aux méthodologistes les plus célèbres de l'école encore soviétique (Lerner, Stolyar, Mishin, etc.), et chacun d'entre eux écrivait dans ses articles universitaires que sa méthodologie est la meilleure et la seule correcte. J'ai tiré une conclusion simple : il n'existe pas une seule méthode d'enseignement correcte. Vous devez l'essayer et voir les résultats.

Plus tard, en travaillant dans des entreprises industrielles, j'ai été confronté au fait qu'il ne suffit pas de créer un système d'automatisation, pour une mise en œuvre réussie, il est nécessaire de former périodiquement les employés à travailler avec ce système, c'est-à-dire d'allouer du temps dans une salle de formation par ordre de l'entreprise, par l'intermédiaire des chefs de service pour y précipiter les gens au bon moment, de préparer un manuel de formation et de mener une formation complète normale pour eux, comme à l'école ou au collège.

De temps en temps, les informaticiens rencontrent aussi des difficultés de démarrage, car il faut constamment étudier de nouvelles versions/environnements de développement/bibliothèques/technologies. Bien sûr, beaucoup de gens, comme moi, résolvent ce problème de "première entrée" en trouvant et en étudiant des échantillons avec des projets de formation téléchargés sur les sites Web des fabricants. En d'autres termes, si j'ai besoin d'étudier la bibliothèque .NET Framework 3.0 ou quelque chose d'AJAX, je cherche sur Internet des exemples prêts à l'emploi, c'est-à-dire un projet complet avec les sources. Je le compile, je l'exécute, je vois les résultats, puis j'essaie de comprendre son code, en modifiant et en ajustant quelque chose, et je regarde à nouveau les résultats. Il est plus facile d'étudier un projet prêt à l'emploi que de le créer de toutes pièces sur une plateforme inconnue.

C'est pourquoi je vous recommande de télécharger quelques Expert Advisors prêts à l'emploi depuis Code Base à l'adresse https://www.mql5.com/ru/code comme projet d'entraînement et d'essayer de tordre leur code et de lire les commentaires, s'il y en a - c'est une méthode d'étude bien rodée. Bien sûr, vous n'y trouverez pas de stratégie rentable, mais il vous aidera certainement à maîtriser le langage MQL.
 
Je tiens également à souligner qu'apprendre le C++ au lieu de MQL4 ne vous sera guère utile. Il existe plusieurs langages et plates-formes dont la syntaxe est similaire : C++, Java, MS .NET C#, MQL4, et leur syntaxe est similaire à 90-95%. Mais ils ont des bibliothèques différentes, un ensemble de fonctions de base (API) de la plate-forme elle-même, des éditeurs différents et des objectifs différents pour les programmes finaux.
Par conséquent, étudiez exactement les exemples de code MQL4 (Expert Advisors, indicateurs), et ne perdez pas votre temps sur autre chose, si vous n'en avez pas besoin.
 
Je ne vais pas argumenter, je vais juste dire mon opinion :
- Le fichier d'aide contient un minimum d'informations.
- Il n'y a pas de débogueur pour vérifier les hypothèses sur les fonctions "non claires d'après la description" pour corriger les erreurs dans le code.
 
raw:
Je ne vais pas argumenter, je vais juste dire mon opinion :
- Le fichier d'aide contient un minimum d'informations. <-- Pas d'accord avec vous, en général il y a assez d'informations sur le site mql4.com/fr, vous devriez utiliser la recherche par exemples, le forum local. Si quelque chose n'est pas clair, posez des questions, on y répond généralement. Autre chose, il est peut-être intéressant de combiner l'aide de base et les exemples de développeurs tiers, c'est-à-dire que sur les pages d'aide pour faire un lien modéré "Ajouter un exemple", et en dessous de la description de la fonction, des exemples d'autres développeurs (pas de MetaQuotes) pour cette fonction apparaîtront. Et puis pour quelqu'un qui lit une telle description, la méthode du copier/coller est à portée de main.
- il n'y a pas de débogueur pour vérifier les hypothèses sur les fonctions "non claires d'après la description" afin de corriger les erreurs dans le code. <-- Je suis d'accord avec vous, sans débogueur c'est mauvais, les impressions sont une façon primitive et dépassée de déboguer, en plus cela mange beaucoup de temps passé à fouiller dans des journaux de gigaoctets - l'efficacité et le plaisir qu'on en retire sont en dessous de la moyenne.
 
Renat a écrit (a) :
C'est une chose amusante à faire. Ils ne veulent pas apprendre, mais sont prêts à blâmer le manque de documentation. <br / translate="no">
Désolé, mais vous avez tort. En fait, je suis surpris d'entendre cela de la part des représentants de MetaQuotes. C'est l'approche d'un programmeur soviétique, du genre : "Nous avons écrit un système super génial et compréhensible, et toi, idiot, tu ne peux pas le comprendre. C'est toi qui as un problème, pas nous ! Lisez la documentation pour la 101e fois et vous aurez une épiphanie !" Comprenez que si les gens ont du mal à s'y retrouver sans tutoriel, c'est votre problème, et le vôtre seulement, puisque vous gagnez de l'argent grâce à la popularité de votre produit. En outre, la nécessité de créer un manuel scolaire a été évoquée avec beaucoup de délicatesse et leurs arguments ont même été justifiés logiquement.

En général je ne veux pas développer une discussion, je suis content qu'un manuel soit en préparation, je voulais juste m'indigner de votre approche des utilisateurs digne d'un institut de recherche de la défense des années 80.

Dmitrich a écrit (a) :

Je n'ai pas inventé le titre du sujet et je ne vous accuse de rien, c'est votre affaire de savoir comment positionner votre produit. Je soutiens simplement l'idée d'écrire un tutoriel. Et je veux l'étudier, mais MQL, pas C++. Je ne veux pas apprendre à faire du vélo pour comprendre comment manier un cheval. J'exprime simplement une demande, pas une plainte. Je suis reconnaissant aux développeurs d'avoir créé ce produit et ce forum, qui est vraiment très utile, même pour moi qui ne m'y connais pas en programmation.
Totalement d'accord et de soutien. L'exemple du vélo et du cheval est tout à fait pertinent.
 
Renat a écrit (a) :
C'est une chose amusante à faire. Ils ne veulent pas étudier, mais sont prêts à blâmer le manque de documentation. <br / translate="no">.

Je voudrais également ajouter que si nous avions eu au moins une petite section dans l'aide au tout début avec le sous-titre "Où commencer et comment ça marche", qui expliquerait les principes généraux de MQL et donnerait des exemples de programmes simples, peut-être que ce sujet ne se serait pas posé du tout.

 

Le problème de documentation posé est naturel, il devait se poser tôt ou tard : le produit gagne rapidement des adeptes, et une certaine forme de standardisation est toujours nécessaire. C'est bien qu'un tutoriel soit en préparation, même si personnellement je ne pense pas en avoir besoin, car j'ai déjà quelques connaissances de base, et je peux poser des questions sur les nuances ici sur le forum également.

Ma situation était beaucoup plus simple - j'ai commencé par étudier des exemples de code prêts à l'emploi et à les étudier en même temps, plutôt que de lire le manuel. Il est immédiatement apparu que le langage C-like. Bien sûr, la compréhension des principes généraux du travail n'est pas apparue d'un seul coup : il faut du temps, tout comme lorsqu'on maîtrise une langue à partir d'un manuel.

Je suis d'accord qu'un tutoriel systématique avec des exemples simples et clairs de conseillers experts/Inducateurs/scripts/librairies/fichiers d'en-tête serait certainement extrêmement utile à un débutant qui n'est pas encombré de connaissances en programmation C.

Franchement, les déclarations sur le préapprentissage du C++ dans ce fil de discussion me surprennent : où est l'"incrément" par rapport au C ? Oui, syntaxiquement, le langage est un sous-ensemble du C, mais il est beaucoup plus simple que le C++...

 
Il me semble qu'au départ, aucun des développeurs n'avait la moindre idée que les gens commenceraient à apprendre les bases de la programmation avec le langage mql. Très probablement, on a supposé que des programmeurs plus ou moins formés programmeraient des EA, des scripts et des indicateurs. Et les utilisateurs n'utiliseront que ceux qui sont prêts à l'emploi :-)
D'où une documentation relativement modeste. Et si vous vous en remettez à de parfaits inconnus en matière de programmation et que vous rédigez un tutoriel de programmation à leur intention, cela deviendra un ouvrage très volumineux. Vous devrez commencer par les bases, c'est-à-dire comprendre ce que signifient les termes "bit" et "octet". :-)
 
Oui, la demande de langues dépasse clairement les compétences. Que faire, les débutants sont toujours les plus difficiles, et ils seront les derniers à recevoir le kit complet du gentleman, suffisant pour acquérir des qualifications dans la langue par eux-mêmes.... Et pour l'instant, il y aura un forum où vous pourrez poser les questions les plus élémentaires - sans craindre d'être bombardé d'œufs pourris pour incompétence.