Experts: Programmation MQL5 pour les Traders - Codes Source du livre. Partie 1

 

Programmation MQL5 pour les Traders - Codes Source du livre. Partie 1:

Le premier chapitre du livre présente le langage et l'environnement de développement MQL5. L'une des nouveautés introduites dans le langage MQL5 par rapport à MQL4 (langage MetaTrader 4) est la prise en charge de la Programmation Orientée Objet (POO), ce qui le rend similaire au C++.

Programmation MQL5 pour les Traders - Codes Source du livre. Partie 1

Auteur : MetaQuotes

 
Je pense que j'ai eu beaucoup de chance d'obtenir plusieurs codes de programme de MQL5 Programming for Traders - Source Codes from the Book. Part 1 - expert for MetaTrader 5 pour une étude plus approfondie. Merci beaucoup.
 

Il y a des inexactitudes dans le texte.

Citation :

L'un des principaux changements de MQL5 par rapport à MQL4 (langage MetaTrader 4) est la prise en charge de la programmation orientée objet (POO), ce qui le rend similaire à C++. Bien que certaines fonctions OOP aient déjà été transférées de MQL5 à MQL4 ...

La POO a été ajoutée à MQL4, si je ne me trompe pas, dans la 600e version, début 2013 ! Dans le même temps, le langage MQL4 a été radicalement amélioré, ce qui lui a permis de se hisser parmi les cinq meilleurs. Des définitions à part entière de type C++ sont apparues, comme dans MQL5, et bien d'autres choses, et surtout, le travail de la POO dans le style de plus, qui n'a pas beaucoup changé depuis, si l'on parle purement du langage. Les débutants confondent toujours les API MT4 et MT5 avec les langages de programmation MQL4/5. Encore une fois, les langages MQL4 et MQL5 sont identiques à 99 %, mais les bibliothèques et les API sont très différentes.

Учебник по MQL5: Знакомство c языком и средой разработки
Учебник по MQL5: Знакомство c языком и средой разработки
  • www.mql5.com
Знакомство c языком и средой разработки - Программирование на MQL5 для трейдеров - Учебник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Dans la version actuelle de MQL5, la copie de structures - de parent à descendant - ne fonctionne plus. Le livre lui-même indique que cette copie est possible.
La copie de structures homologues fonctionne comme la copie d'un descendant dans un parent - avec perte des données du descendant.
 
Vitalii Avramenko #:
Dans la version actuelle de MQL5, la copie de structures - de parent à descendant - ne fonctionne plus. Le livre lui-même indique que cette copie est possible.
La copie de structures homologues fonctionne comme la copie d'un descendant dans un parent - avec perte des données du descendant.

MQL5 évolue (malheureusement, sans la possibilité de compiler en mode de compatibilité avec les versions précédentes, ce que d'autres langages et compilateurs, tels que C++, par exemple, permettent de faire).

Par conséquent, vous devez prendre en compte les innovations (au moins en comprenant les messages du compilateur) et, par exemple, ajouter des modifications de votre propre chef, comme dans l'exemple de la copie des structures héritées :

struct Inclosure
{
   double X, Y;
};

struct Main3 : Inclosure
{
   using Inclosure::operator=;
   int code;
};

void OnStart()
{
   Main3 m3 = {0.1, 0.2, -1};
   Inclosure in = {10, 100};
   m3 = in;
   ...
}