Discussion sur la documentation de MQL4 - page 6

 

Personne ne doute qu'un manuel MQL approprié apparaîtra un jour. La seule question qui se pose est celle du temps.
À cet égard, il est intéressant de savoir ce que feront ceux qui n'apprendront pas à programmer sans lui (ne peuvent pas) ? Par exemple, si les développeurs s'assoient sur le livre maintenant et disent qu'un manuel sera publié dans 1 ou 2 ans, que feront ceux qui veulent ce manuel maintenant ? Vont-ils simplement attendre un ou deux ans avant de créer une succursale similaire à celle-cihttps://www.mql5.com/ru/forum/51086? ;o)
Juste par curiosité.

 
Je pense que la plupart des gens essaient déjà de comprendre, mais certains attendront et seulement une partie de cette partie attendra et ne crachera pas sur tout. En fait, dans 2 ans, le MQL5 arrivera. Pourquoi y aurait-il un manuel sur MQL4?
 

Il est intéressant de savoir ce que font à cet égard ceux qui n'apprendraient pas à programmer sans lui (ne peuvent pas) ?


Ceux qui en ont vraiment besoin le feront et le pourront. En dernier recours, ils passeront simplement un accord avec un programmeur qui codera ce dont ils ont besoin.

S'il n'y a pas d'argent pour lui, alors dans le premier cas, ils feront quelque chose eux-mêmes. Il s'agit d'un véritable investissement dans le capital le plus important - la connaissance.

Lorsque j'ai appris Trubo Pascal pour la première fois de ma vie, une semaine a suffi pour le maîtriser dans le volume, suffisant pour lire deux semestres de cours aux étudiants, pour lesquels la spécialité "Programmation système" n'était pas profilée. En même temps, j'ai réussi à écrire mon propre programme d'environ 500-600 lignes de code, qui reformatait un fichier texte d'une colonne à plusieurs colonnes (vous devez convenir que ce n'est pas une tâche pour un novice). Je ne me construis pas les doigts, je dis juste combien de temps il faut approximativement pour commencer à écrire quelque chose de normal dans MQL4. Le langage C n'est pas plus difficile (je répète : exactement C, pas C++).

Cela signifie que soit vous n'avez pas assez de cervelle, soit vous n'avez pas assez de persévérance. Quel genre de commerçants mécanisés sont-ils ?
 

Une autre option est l'enseignement à distance. Par exemple, comme ceci :

  1. Un programmeur expérimenté envoie les exemples les plus simples de scripts, d'indicateurs, de conseillers avec des commentaires détaillés sur littéralement chaque ligne.
  2. L'étudiant les lit, les analyse, modifie les paramètres, pose des questions.
  3. Le programmeur répond aux questions et donne des exemples plus compliqués en commentant uniquement les nouvelles fonctionnalités.
  4. L'élève retravaille le matériel et pose des questions à son sujet et demande une idée (utilisation de moyennes, de statistiques, d'indicateurs externes, etc.)
  5. Le programmeur répond aux questions et donne un ensemble de fonctions qui peuvent être utilisées pour résoudre le problème.
  6. L'étudiant s'acquitte de la tâche, remercie chaleureusement le professeur et, ayant compris le principe et les bases de la programmation, il va se baigner, posant de temps en temps des questions sur le forum, étudiant de manière indépendante les articles, manuels, exemples, etc.
  7. Le programmeur, satisfait de la réussite de l'étudiant, va retirer ses honoraires de WebMoney et attend d'autres offres de formation.

Ce type de formation serait très efficace, à mon avis. En 5 à 10 séances, si le programmeur est suffisamment compétent et que l'étudiant en est capable, il est possible d'atteindre le niveau après lequel le programmeur peut facilement passer à l'auto-amélioration. Quant à la commande d'Expert Advisors, là encore, à mon avis, dans la plupart des cas, c'est un gaspillage d'argent. La stratégie doit être améliorée (affinée). Quelles sont les chances de tomber immédiatement sur la "mine d'or" ? Le marché du Forex évolue et vous devez vous y adapter. Vous devez écrire seul ou entrer en relation à long terme avec un programmeur et travailler avec une équipe. Qu'en pensez-vous ? Je suis particulièrement intéressé de savoir si l'un des programmeurs est prêt à accepter une formation de principe.

 
Je pense que c'est une très bonne idée, je pense qu'il y aura des étudiants et des enseignants volontaires :-)
 
J'en déduis que :
  • disponibilité de la documentation intégrée sur MQL4 (en deux langues) dans MetaEditor
  • développement du site web de la communauté de programmation MQL4 en trois langues (russe, anglais et chinois)
  • Payer les articles des commerçants indépendants dans MQL4
  • Organisation du championnat de trading automatisé
  • maintenance de la bibliothèque en ligne Codebase avec accès direct depuis MetaEditor
  • Support technique et consultation permanente des traders par les développeurs dans nos forums.
c'est juste :

C'est l'approche du programmeur soviétique : "Nous avons écrit un système super génial et clair, et toi, idiot, tu ne peux pas le comprendre.


Et l'intérêt poli des développeurs pour les déclarations directes de ce genre :

Je ne veux pas apprendre le C++. Je n'en aurai jamais besoin, et je n'ai pas le temps pour ce hobby.

direct provoque une tempête d'indignation avec la poursuite de déclarations similaires.


Malheureusement, tout se résume à la paresse et au refus de lire ce qui se trouve déjà sur ce site et dans la documentation intégrée. En d'autres termes, nous exigeons de la documentation, mais sommes trop paresseux pour la lire.
 

Il me semble qu'aucun des développeurs n'avait initialement la moindre idée que les gens commenceraient à apprendre les bases de la programmation en mql. Très probablement, les programmeurs plus ou moins préparés étaient censés programmer des Expert Advisors, 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". :-)

Un peu d'histoire


La première version de MQL a été écrite en 2001 (il y a 6 ans) pour la plateforme de trading MetaQuotes. C'était un interprète très simple basé sur la pile, mais il nous permettait déjà d'automatiser les échanges. C'est-à-dire d'écrire des systèmes qui gèrent réellement les commandes. C'était en 2001, lorsque presque aucun des programmes disponibles publiquement (ni Omega ni Metastock) n'avait de rapport avec la gestion réelle des comptes (ils ne géraient que virtuellement et à distance du marché).

La deuxième version de MQL 2 est sortie en 2002 pour la plateforme MetaTrader 3. C'était un langage beaucoup plus proche du langage facile. Malheureusement, ce chemin était une impasse absolue. Il s'est avéré que :
  • Les "langues faciles" n'existent pas.
  • Par définition, un programmeur non professionnel n'écrira jamais rien de décent.
  • Un programmeur professionnel sera choqué par un langage aussi "facile" mais non professionnel et ne voudra pas passer du temps à apprendre un nouveau langage.
Par conséquent, nous nous sommes concentrés sur l'utilisation d'un langage similaire au C, le MQL4, et sur l'écriture d'un bon compilateur afin de donner le maximum de possibilités aux programmeurs qui sont familiers avec le C/C++/C#/Java. Ce langage est très rapide, sûr et nous pouvons y écrire presque tout ce dont nous avons besoin (les DLLs nous aident pour le reste).


Politique à l'égard de MQL4


Personnellement, j'ai expliqué à plusieurs reprises sur le forum http://www.metatrader4.com/ru/forum notre politique à l'égard du langage MQL4 et son positionnement clair et spécifique pour les programmeurs. En d'autres termes, nous ne faisons pas de déclarations du type "nous garantissons que quiconque peut écrire ce qu'il veut dans MQL4". La programmation est un domaine vraiment difficile, qui nécessite des études.

Le fait que nous ayons choisi le C comme base donne à quiconque la possibilité de commencer à apprendre en lisant l'un des milliers (en fait, il y a des centaines et des milliers) de livres C/C++. Le seuil d'entrée dans MQL4 est assez bas.


Assistance et documentation


Au cours de tous nos développements, nous avons toujours soutenu les utilisateurs, répondu à leurs demandes et réalisé un grand nombre de leurs souhaits. Au cours des deux dernières années, nous avons beaucoup investi dans la documentation et le développement de ressources connexes pour les traders. Et l'investissement continue.
 

Renat ! Je suis vraiment désolé de vous avoir offensé ! Il est clair pour moi maintenant que le langage est destiné exclusivement aux programmeurs ayant une connaissance de base du C++. Mes déclarations étaient basées sur le fait que le C++ est un langage plus compliqué que le MQL4 avec des fonctions complètement différentes. Il est illogique d'apprendre quelque chose de plus compliqué pour comprendre quelque chose de plus simple, mais en quelque sorte similaire. Mais si vous insistez toujours, veuillez me recommander les parties des nombreux manuels de C++ qui méritent d'être étudiées avant de s'attaquer à MQL4. Pourquoi vous tapez des pieds et crachez ?

Mais quand même Renat, c'est très intéressant de connaître votre opinion sur l'idée ci-dessus de l'apprentissage à distance. Est-il irréaliste de ne pas étudier les manuels de C++, mais seulement avec des exemples ?
 
>>>> J'ai basé mes affirmations sur le fait que le C++ est un langage plus compliqué par rapport à MQL4, qui a des fonctions absolument différentes. Il est illogique >>>> d'apprendre quelque chose de plus compliqué pour comprendre quelque chose de simple mais similaire d'une certaine manière. Si vous insistez encore, veuillez recommander à >>>> les parties des nombreux manuels sur le C++ que vous devriez étudier avant d'essayer MQL4.

Avec
une telle approche, il est peu probable que vous deveniez un jour un programmeur ! Et il ne s'agit pas de savoir qui vous enseignera et comment, et ce que vous lirez à cette fin.
En ce qui concerne la lecture préliminaire, je peux dire d'emblée que personne ne vous oblige à lire tout le C++. On vous a clairement dit que MQL4 est un langage de type C. Tout ce que vous avez à faire est de lire la programmation C. Le C++ est une extension du C en introduisant des classes, des structures, etc., etc. que MQL4 n'a pas. En général, sur les doigts, cela peut se présenter comme suit :
1. Rendez-vous dans votre librairie la plus proche
2. Au rayon programmation, trouvez le livre le plus fin (<200 pages) et le moins cher sur le langage C. Il peut s'intituler "Fondamentaux de la programmation en C", "Introduction à la programmation en C" ou simplement "La programmation en C pour les nuls".
3. Lisez-le "en diagonale", en vous contentant d'en extraire l'idée générale de la manière dont les fonctions et les opérateurs sont décrits, des types de données existants, etc.
4. Commencez par lire l'aide du MetaEditor (https://docs.mql4.com/ru/). Après cela, vous comprendrez que MQL4 dans sa signification est 95% ou plus de la langue C.
5. Ensuite, vous allez commencer à lire attentivement les articles de Rosh http://old.alpari.org/ru/experts/articles/ et essayer de comprendre ce qui suit lors de la construction d'EA, d'indicateurs et de scripts.
6. Lisez (si vous lisez pour la première fois, vous pouvez aller "en diagonale") les articles de ce site web, juste pour savoir "où se trouve quelque chose" et où vous devez vous rendre pour des références supplémentaires.
7. Après tout cela, vous commencerez à programmer et à poser des questions techniques sur ce forum. Les gens n'ont aucun problème à vous aider, d'autant plus que vos questions seront les mêmes que celles qui se sont posées à un moment donné à d'autres personnes.
8. Ensuite, vous commencerez à chercher consciemment votre stratégie de trading. Sans programmation de l'algorithme, la recherche d'une stratégie de trading est généralement construite sur le principe suivant : "il m'a semblé que tel ou tel indicateur était rentable, et j'ai même réalisé 99 transactions réussies sur 100 pendant tout le mois de démo à la main". Si vous lisez ce forum et d'autres forums où viennent presque tous les jours des gens qui veulent faire programmer quelque chose d'aussi brillant (parfois les gens sont même d'accord pour payer de l'argent pour ce brillant). Cependant, à en juger par les critiques, les programmeurs expérimentés n'ont rien d'ingénieux pour l'argent qu'ils n'ont pas eu à programmer.

En général, j'ai esquissé un algorithme approximatif pour devenir un programmeur. Vous pouvez modifier l'ordre des étapes à votre gré.
 
A propos de la documentation, j'ai remarqué une chose étrange lorsque j'ai appuyé sur F1 sur la propriété OBJPROP_FIBOLEVELS dans l'info-bulle, quelque chose ne va pas, ou plutôt presque rien ne se passe. Si je sélectionne l'onglet Erreurs ou tout autre onglet autre que l'Aide, l'onglet passe à l'Aide, mais affiche les anciennes informations sur la dernière demande, et sur cette propriété ne veut pas dire. Seule une recherche dans le navigateur a conduit à la réponse. Et je pense que c'était la même chose sur une autre propriété, mais je ne me souviens pas. Veuillez le corriger.
Raison: