5.00
(2 Ratings)

Trading Algorítmico en MQL5: POO y OP

Wishlist Share
Share Course
Page Link
Share On Social Media

About Course

En este curso aprenderás programación orientada a objetos (POO) en MQL5 con el fin de crear un nuevo framework y mejorar el asesor experto. Adicionalmente, se verá todo acerca de cómo trabajar con órdenes pendientes y se creará una versión del experto que opere con ellas.

Introducción a la programación orientada a objetos (POO)

En la primera parte nos centraremos en aprender a programar desde un enfoque orientado a objetos en MQL5. Cubriremos la teoría manteniendo un enfoque práctico.

En primer lugar, te iniciaremos a la programación orientada a objetos, abarcando las clases y los objetos, y después explicaremos la mayoría de los conceptos básicos de esta programación, como la encapsulación, la herencia o el polimorfismo, tanto en teoría como en código y con ejemplos.

Reconstrucción del asesor experto con POO

En la segunda parte tomaremos el asesor experto que construimos en el curso anterior, «Trading Algorítmico en MQL5: Crea Robots y Libera tu Tiempo» y lo reconstruiremos con nuestras propias clases y objetos.

Durante esta parte crearemos un nuevo framework para nuestro asesor experto donde reordenaremos el código y lo encapsularemos dentro de diferentes ficheros header, que formarán nuestro framework. La versión 2.0 del framework utiliza una clase Trade personalizada para enviar las órdenes; la versión 2.1 utiliza la clase de biblioteca MetaQuotes.

En caso de que no hayas completado el curso anterior, tendrás disponible para descargar una copia de ese asesor experto en este curso, para que puedas seguir las clases.

Órdenes pendientes con MQL5

Cubriremos todo acerca de las órdenes pendientes y crearemos una versión de nuestro robot que opere con ellas.

Aquí aprenderás qué tipo de órdenes pendientes podemos utilizar en MT5, cómo colocarlas, cómo modificarlas y eliminarlas y cómo establecer su tiempo de expiración. En resumen, aprenderás a operar algorítmicamente con cualquier tipo de orden pendiente:

  1. – Cómo enviar, modificar y cancelar órdenes pendientes buy limit y sell limit
  2. – Cómo enviar, modificar y cancelar órdenes pendientes buy stop y sell stop
  3. – Cómo enviar, modificar y cancelar órdenes pendientes buy stop limit y sell stop limit

Estoy seguro de que encontrarás que este es uno de los mejores cursos para aprender trading algorítmico y ofrece información que no encontrarás fácilmente en otros sitios.

Si te gusta el programa y estás interesado en mejorar tus habilidades con MQL5 y tus robots de trading, ¡no esperes más! ¡Este curso es para ti!

Después de este curso, dispondrás de un mejor marco de trabajo para tu asesor experto y habrás adquirido unas habilidades de MQL5 que te permitirán seguir avanzando con cualquiera de nuestros cursos avanzados.

Los robots de trading y los diferentes archivos desarrollados durante el curso te serán facilitados en el interior del mismo.

– Jose Martínez

Show More

What Will You Learn?

  • Programación orientada a objetos con MQL5
  • Cómo crear clases y objetos e implementarlos en un asesor experto
  • Cómo enviar, modificar, establecer la expiración y cancelar órdenes pendientes
  • Cómo conectar tu trading a un VPS

Course Content

Introducción
En esta sección del curso se realiza una revisión del punto de partida. En concreto, se revisa el asesor experto que se programó durante el curso Trading Algorítmico en MQL5: Crea Robots y Libera tu Tiempo, tanto a nivel de estrategia, código y funcionamiento.

Introducción a POO, clases y objetos
En esta primera parte del curso de programación orientada a objetos, aprenderemos los conceptos básicos como clases, objetos, constructores, destructores, encapsulación, herencia y polimorfismo. La programación orientada a objetos ofrece varias ventajas en comparación con la programación tradicional. El código estará estructurado y modular, lo que facilitará la organización y evitará repeticiones innecesarias. Además, resolver problemas será más rápido al identificar la clase responsable. El código también será más reutilizable al crear objetos de una clase. La mayoría del desarrollo de software moderno se basa en programación orientada a objetos, y las aplicaciones MQL5 no son una excepción. Aunque puede parecer complicado al principio, dominar este enfoque resultará más sencillo y intuitivo para desarrollar asesores expertos.

Clase CTrade
En esta parte del curso de programación orientada a objetos, aprenderemos a aplicar los conceptos aprendidos en la práctica para mejorar nuestro robot. Utilizaremos cuatro archivos de inclusión que contendrán diferentes clases con propiedades y métodos necesarios para que nuestro asesor experto funcione correctamente. Estos archivos incluirán clases como Trade, que se encargará de enviar órdenes; Gestión Posiciones, que gestionará las posiciones y calculará stop loss, tick profit y trailing stop loss; Barra, que trabajará con información de la barra como precios de apertura, máximo, mínimo y cierre; e Indicador, que se utilizará para crear y trabajar con indicadores. Crearemos estos archivos en la carpeta mql5-curso y los utilizaremos para implementar la programación orientada a objetos en nuestro asesor experto.

Clase CGP (gestión de posiciones)
En esta sección, comenzamos a desarrollar la clase para la gestión de posiciones en el archivo "gestión posiciones". La clase CGP tendrá métodos para StopLoss, TakeProfit, TrailingStopLoss y BreakEven. También se declaran objetos de las estructuras mqltradeRequest y mqltradeResult. Se declara el constructor para resetear las estructuras. Se definen los métodos para calcular StopLoss, TakeProfit, TrailingStopLoss y BreakEven. Luego se crean métodos similares para compensación, utilizando el polimorfismo. Se finaliza la lección creando el constructor de la clase CGP.

Clase CBarra
En esta sección, aprendemos a obtener datos de las barras en MQL. Creamos una clase llamada "barra" para almacenar los datos de apertura, máximo, mínimo, cierre, tiempo, volumen y spread. Utilizamos un constructor para organizar los precios en un array en modo serie. Luego, creamos un método llamado "Refrescar" para descargar y actualizar los precios en el array. Este método se puede llamar en cada tick o después de una nueva barra. Finalmente, creamos un método para obtener los datos del array. Con estos pasos, podemos obtener y utilizar los datos de las barras en nuestros asesores.

Clase CIndicador
En esta sección, aprenderemos a programar las clases para nuestros indicadores. Tendremos una clase base llamada "Indicador" y clases derivadas para cada indicador que utilizaremos, como "Media Móvil" y "Bollinger Bands". La clase base tendrá un modificador de acceso "protected" para que los miembros sean accesibles por las clases derivadas pero no por el usuario. También tendrá una variable para el manejador del indicador y un array para guardar los valores del buffer principal. Habrá un constructor para estructurar el array en modo serie y un método "init" con el modificador "virtual" que retornará el manejador. En las clases derivadas se ejecutará la implementación específica de cada indicador.

Órdenes pendientes
En este video, vamos a repasar los diferentes tipos de órdenes pendientes en Metatrader 5 y cómo implementarlos en nuestra clase CTrade. Aprenderemos a colocar, encontrar, modificar y eliminar órdenes pendientes, así como especificar su tiempo de expiración. Estas mejoras son importantes para nuestro asesor experto, ya que una vez que las añadamos, será capaz de trabajar con cualquier tipo de orden. ¡Comencemos y aprovechemos al máximo estas nuevas funciones!

Adicional y final
En esta sección final del curso, abordaremos algunas cuestiones adicionales. Primero, solucionaremos un error del probador de estrategias al realizar backtests en asesores, especialmente en temporalidades altas. Luego, cubriremos nuevos conceptos y actualizaciones del framework. También hablaremos sobre servidores privados virtuales, un tema importante que ya se trató en un curso anterior. En resumen, esta sección final nos ayudará a mejorar nuestras estrategias de trading algorítmico.

Student Ratings & Reviews

No Review Yet
No Review Yet