Asesores Expertos: Programación en MQL5 para tráders: códigos fuente del libro: Parte 1

 

Programación en MQL5 para tráders: códigos fuente del libro: Parte 1:

El primer capítulo del libro presenta el lenguaje y el entorno de desarrollo MQL5. Uno de los principales cambios del lenguaje MQL5 en comparación con MQL4 (el lenguaje de MetaTrader 4) es la compatibilidad con la programación orientada a objetos (POO), lo cual lo hace similar a C++.

Programación en MQL5 para tráders: códigos fuente del libro: Parte 1

Autor: MetaQuotes

 
Creo que tuve mucha suerte de conseguir varios códigos de programa de MQL5 Programming for Traders - Source Codes from the Book. Parte 1 - experto para MetaTrader 5 para su posterior estudio. muchas gracias.
 

Hay imprecisiones en el texto.

Cito:

Uno de los principales cambios en MQL5 en comparación con MQL4 (MetaTrader 4 lenguaje) es el apoyo de la programación orientada a objetos (POO), que lo hace similar a C ++. A pesar de que algunas funciones OOP ya han sido transferidas a MQL4 desde MQL5 ...

¡OOP se añadió a MQL4, si no me equivoco, en la versión 600 a principios de 2013! Al mismo tiempo, el lenguaje MQL4 fue mejorado radicalmente, llevándolo a los cinco primeros. Aparecieron definiciones completas al estilo de C++, como en MQL5, y muchas otras cosas, y lo más importante, trabajar OOP al estilo de los pros, que no ha cambiado mucho desde entonces, si hablamos puramente del lenguaje. Los principiantes siempre confunden las APIs de MT4 y MT5 con los lenguajes de programación MQL4/5. Una vez más - los lenguajes MQL4 y MQL5 son 99% idénticos, pero las librerías y APIs son muy diferentes.

Учебник по MQL5: Знакомство c языком и средой разработки
Учебник по MQL5: Знакомство c языком и средой разработки
  • www.mql5.com
Знакомство c языком и средой разработки - Программирование на MQL5 для трейдеров - Учебник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
En la versión actual de MQL5, copiar estructuras - padre a descendiente - ya no funciona. El propio libro afirma que dicha copia es posible.
Copiar estructuras pares funciona como copiar un descendiente en un padre - con pérdida de los datos del descendiente.
 
Vitalii Avramenko #:
En la versión actual de MQL5, copiar estructuras - padre a descendiente - ya no funciona. El propio libro afirma que tal copia es posible.
Copiar estructuras pares funciona como copiar un descendiente en un padre - con pérdida de datos del descendiente.

MQL5 está cambiando (por desgracia, sin la posibilidad de compilar en el modo de compatibilidad con versiones anteriores, que otros lenguajes y compiladores, como C++, por ejemplo, permiten hacer).

Por lo tanto, es necesario tener en cuenta las innovaciones (al menos mediante la comprensión de los mensajes del compilador) y, por ejemplo, añadir ediciones por su cuenta, como en el ejemplo de la copia de estructuras heredadas:

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;
   ...
}