Artículos sobre programación en el lenguaje MQL5

icon

Aprenda el lenguaje de programación de estrategias comerciales MQL5 leyendo numerosos artículos la mayor parte de los cuales han sido escritos por Ustedes - miembros de MQL5.community. Con el fin de buscar rápidamente la respuesta sobre una u otra cuestión de programación, todos los artículos están divididos en categorías: "Integración", "Probador", "Estrategias comerciales", etc.

Siga las nuevas publicaciones y participe en sus discusiones en el foro de MQL5.community!

Nuevo artículo
últimas | mejores
Por dónde comenzar a crear un robot comercial para la Bolsa de Moscú MOEX
Por dónde comenzar a crear un robot comercial para la Bolsa de Moscú MOEX

Por dónde comenzar a crear un robot comercial para la Bolsa de Moscú MOEX

Muchos tráders de la Bolsa de Moscú querrían automatizar sus algoritmos comerciales, pero no saben por dónde empezar. El lenguaje MQL5 propone no solo un conjunto enorme de funciones comerciales, sino también clases preparadas, que facilitan al máximo los primeros pasos en el trading automático.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XIX): Clase de mensajes de la biblioteca
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XIX): Clase de mensajes de la biblioteca

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XIX): Clase de mensajes de la biblioteca

En el artículo, analizaremos la muestra de mensajes de texto. Ahora que tenemos un número suficiente de mensajes de texto distintos, merece la pena que pensemos en organizar un método para guardarlos, mostrarlos y adaptarlos a otros idiomas desde el ruso. Asimismo, también deberíamos pensar en un modo de añadir nuevos idiomas a la biblioteca y alternar rápidamente entre ellos.
Sistema comercial de DiNapoli
Sistema comercial de DiNapoli

Sistema comercial de DiNapoli

En el artículo se analiza un sistema comercial que usa los niveles de Fibonacci, desarrollado y descrito por Joe DiNapoli. También se explican los conceptos básicos y la esencia del sistema, ilustrado con el ejemplo de un sencillo indicador.
Optimizamos la estrategia usando el gráfico del balance y comparamos los resultados con el criterio "Balance + max Sharpe Ratio"
Optimizamos la estrategia usando el gráfico del balance y comparamos los resultados con el criterio "Balance + max Sharpe Ratio"

Optimizamos la estrategia usando el gráfico del balance y comparamos los resultados con el criterio "Balance + max Sharpe Ratio"

Ha sido considerado otro criterio de usuario para la optimización de las estrategias comerciales basado en el análisis del gráfico del balance. Para eso, ha sido utilizado el cálculo de la regresión lineal con la ayuda de la librería ALGLIB.
Libro de Recetas MQL5: Usar Indicadores para Configurar Condiciones de Trading en Asesores Expertos
Libro de Recetas MQL5: Usar Indicadores para Configurar Condiciones de Trading en Asesores Expertos

Libro de Recetas MQL5: Usar Indicadores para Configurar Condiciones de Trading en Asesores Expertos

En este artículo continuaremos modificando el Asesor Experto en el que hemos estado trabajando durante los artículos anteriores de la serie de Libros de Recetas MQL5. En esta ocasión, reforzaremos el Asesor Experto con indicadores cuyos valores se usarán para comprobar las condiciones de apertura de posición. Además crearemos una lista desplegable en los parámetros externos para poder seleccionar uno de los tres indicadores de trading.
preview
Optimización móvil continua (Parte 4): Programa de control de la optimización (optimizador automático)

Optimización móvil continua (Parte 4): Programa de control de la optimización (optimizador automático)

El principal objetivo del artículo consiste en describir el mecanismo de trabajo con la aplicación obtenida y sus posibilidades. De esta forma, el artículo supondría una serie de instrucciones de uso de esta aplicación, en la que se habla sobre todas las posibles trampas y detalles en sus ajustes.
MQL5 Wizard: Cómo crear un módulo de gestión de riesgo y dinero
MQL5 Wizard: Cómo crear un módulo de gestión de riesgo y dinero

MQL5 Wizard: Cómo crear un módulo de gestión de riesgo y dinero

El generador de estrategias de trading de MQL5 Wizard simplifica enormemente los procesos de pruebas de los conceptos de trading. En este artículo se describe el modo de desarrollar un módulo de gestión de dinero y habilitarlo en MQL5 Wizard. Como ejemplo, vamos a considerar un algoritmo de gestión de dinero, en el cual se determina el tamaño de la operación mediante los resultados de la transacción anterior. Además, el artículo aborda la descripción del formato de la clase creada para MQL5 Wizard.
Análisis regresivo de la influencia de datos macroeconómicos en el cambio de precio de las divisas
Análisis regresivo de la influencia de datos macroeconómicos en el cambio de precio de las divisas

Análisis regresivo de la influencia de datos macroeconómicos en el cambio de precio de las divisas

En el artículo estudiaremos la cuestión del uso del análisis regresivo múltiple de datos de la estadística macroeconómica y el análisis de la influencia de estos datos en el curso de las divisas, sobre el ejemplo de la pareja EURUSD. La utilización de tal tipo de análisis permite automatizar la realización del análisis fundamental, que se convertirá en algo accesible para prácticamente cualquiera, incluso para un trader principiante.
preview
Cómo elegir un asesor comercial: Veinte signos claros de un mal robot

Cómo elegir un asesor comercial: Veinte signos claros de un mal robot

En este artículo intentaremos responder a la pregunta: ¿cómo elegir el asesor comercial adecuado? ¿Cuáles son los más adecuados para nuestro portafolio y cómo podemos descartar la mayoría de los robots comerciales disponibles en el mercado? Este artículo presenta veinte señales claras de que un asesor es de mala calidad. El presente material le ayudará a tomar decisiones más informadas y a crear una colección de asesores comerciales rentables.
Utilizando hojas de cálculo para construir estrategias comerciales
Utilizando hojas de cálculo para construir estrategias comerciales

Utilizando hojas de cálculo para construir estrategias comerciales

El artículo describe los principios y técnicas básicos que nos permiten analizar cualquier estrategia usando hojas de cálculo: Excel, Calc, Google. Asimismo, hemos comparado los resultados con el simulador de MetaTrader 5.
preview
Stoploss de PriceAction Fijo o RSI fijo (Smart StopLoss)

Stoploss de PriceAction Fijo o RSI fijo (Smart StopLoss)

Los Stop Loss son una herramienta importante en cuanto a la gestión de dinero en el trading. El uso efectivo de stop-loss, take profit y el tamaño de lote puede hacer que un tráder sea más consistente en el comercio y, sobre todo, que logre mayor rentabilidad. Aunque el stop-loss es una gran herramienta, existen desafíos derivados de su uso. El principal es la caza de stop-loss. Este artículo analiza cómo reducir la caza de stop-loss en el trading y la compara con el uso clásico de stop-loss para determinar su rentabilidad.
Búsqueda de errores y registros
Búsqueda de errores y registros

Búsqueda de errores y registros

MetaEditor 5 dispone de la opción de depuración. Sin embargo, cuando escribe sus programas en MQL5, por lo general quiere mostrar no solo los valores individuales, sino todos los mensajes que van apareciendo durante la prueba y el trabajo en línea. Si el archivo de registro tiene un tamaño muy grande, es evidente que hay que automatizar la recuperación rápida y sencilla del mensaje necesario. En este artículo vamos examinar las formas de búsqueda de errores en programas MQL5 y los métodos de registro. Además, vamos a simplificar el registro en archivos y le haré descubrir un programa sencillo, LogMon, para una visualización cómoda de los registros.
Evaluación del riesgo en la secuencia de transacciones con un activo. Continuación
Evaluación del riesgo en la secuencia de transacciones con un activo. Continuación

Evaluación del riesgo en la secuencia de transacciones con un activo. Continuación

Este artículo desarrolla las ideas propuestas en la parte anterior y continua su análisis. Aquí se describen las cuestiones de la distribución de los beneficios, la modelación y el estudio de las regularidades estadísticas.
preview
Casi un constructor para crear asesores

Casi un constructor para crear asesores

Ofrecemos nuestro propio conjunto de funciones comerciales como asesor listo para usar. El método presentado nos permite obtener multitud de estrategias comerciales con solo añadir indicadores y cambiar los parámetros de entrada.
Creación de un panel de información mediante las clases de la Librería estándar y Google Chart API
Creación de un panel de información mediante las clases de la Librería estándar y Google Chart API

Creación de un panel de información mediante las clases de la Librería estándar y Google Chart API

El primer objetivo del lenguaje de programación MQL5 es la creación de sistemas de trading automatizados e instrumentos complejos para el análisis técnico. Pero por otro lado, nos permite crear sistemas de información interesantes para el seguimiento del estado de los mercados, y nos proporciona una conexión de retorno con el trader. El artículo describe los componentes de la Librería estándar de MQL5 y muestra ejemplos sobre su utilización en la práctica para alcanzar estos objetivos. Además, se muestra un ejemplo de uso de Google Chart API para la creación de gráficos.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXI): Clases comerciales - El objeto comercial multiplataforma básico
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXI): Clases comerciales - El objeto comercial multiplataforma básico

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXI): Clases comerciales - El objeto comercial multiplataforma básico

En este artículo vamos a comenzar un nuevo apartado de la biblioteca, las clases comerciales, y también vamos a analizar la creación de un objeto comercial básico único para las plataformas MetaTrader 5 y MetaTrader 4. Dicho objeto comercial, al enviar una solicitud al servidor, presupondrá que los parámetros de la solicitud comercial que se le han transmitido han sido verificados y son correctos.
Sobre nuevos raíles: Indicadores personalizados en MQL5
Sobre nuevos raíles: Indicadores personalizados en MQL5

Sobre nuevos raíles: Indicadores personalizados en MQL5

No voy a enumerar todas las posibilidades y características de la nueva terminal y el lenguaje. Son numerosas y algunas de ellas merecen ser tratadas en un artículo separado. Tampoco hay aquí código escrito en lenguaje de programación orientado a objeto. Es un tema demasiado importante como para ser tan solo mencionado como ventaja adicional para los programadores. En este artículo vamos a ver los indicadores, su estructura, diseño, tipos y detalles de su programación al compararlos con MQL4. Espero que este artículo sea de utilidad tanto para principiantes como para programadores experimentados. Puede que algunos de estos últimos encuentren algo nuevo.
Creación de un Asesor Experto multisistema y multidivisa
Creación de un Asesor Experto multisistema y multidivisa

Creación de un Asesor Experto multisistema y multidivisa

El artículo constituye una introducción a una estructura para un Asesor Experto que opera con múltiples símbolos y utiliza varios sistemas de trading simultáneamente. Si ya identificó los parámetros de entrada óptimos para todos sus Asesores Expertos y consiguió buenos resultados de la prueba para cada uno de ellos separadamente, pregúntese qué resultados conseguiría si probara todos los Asesores Expertos simultáneamente, con todas sus estrategias en conjunto.
Clasificador bayesiano ingenuo para las señales de un conjunto de indicadores
Clasificador bayesiano ingenuo para las señales de un conjunto de indicadores

Clasificador bayesiano ingenuo para las señales de un conjunto de indicadores

En el artículo se analiza la aplicación de la fórmula bayesiana para aumentar la fiabilidad de los sistemas comerciales usando las señales de varios indicadores independientes. Los cálculos teóricos se comprueban con la ayuda de un sencillo experto universal, adaptable para trabajar con indicadores aleatorios.
Recetas MQL5 - Programando los canales móviles
Recetas MQL5 - Programando los canales móviles

Recetas MQL5 - Programando los canales móviles

En este artículo se muestra un método de programación del sistema de canales equidistantes. Se analizan ciertos matices en la construcción de este tipo de canales. Asimismo, se realiza una tipificación de los canales, proponiendo un método de canales móviles de tipo universal. Para implementar el código, se ha utilizado el instrumental de la POO.
Nuevo enfoque a la interpretación de la divergencia clásica e inversa. Parte 2
Nuevo enfoque a la interpretación de la divergencia clásica e inversa. Parte 2

Nuevo enfoque a la interpretación de la divergencia clásica e inversa. Parte 2

En este artículo vamos a analizar en clave crítica la divergencia clásica y estudiar la efectividad de diferentes indicadores. Asimismo, ofreceremos distintas variantes de filtrado para aumentar la precisión de análisis y continuaremos analizando soluciones no estándar. Como resultado, crearemos una herramienta atípica para resolver la tarea marcada.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXX): Solicitudes comerciales pendientes - Control de los objetos de solicitudes
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXX): Solicitudes comerciales pendientes - Control de los objetos de solicitudes

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXX): Solicitudes comerciales pendientes - Control de los objetos de solicitudes

En el anterior artículo, creamos las clases de los objetos de solicitudes pendientes que se corresponden con el concepto general de los objetos de la biblioteca. En el presente artículo, nos ocuparemos de la clase que permite controlar los objetos de solicitudes pendientes.
Dibujo de indicadores de aguja usando la clase CCanvas
Dibujo de indicadores de aguja usando la clase CCanvas

Dibujo de indicadores de aguja usando la clase CCanvas

Los instrumentos indicadores de esfera nos rodean por todas partes: en los coches y aviones, en la industria y en nuestra vida cotidiana. Se aplican cuando se requiere una rápida reacción al valor controlado por parte del operador. En este artículo conoceremos la biblioteca de instrumentos indicadores para MetaTrader 5.
Simulación de patrones que surgen al comerciar con cestas de parejas de divisas. Parte I
Simulación de patrones que surgen al comerciar con cestas de parejas de divisas. Parte I

Simulación de patrones que surgen al comerciar con cestas de parejas de divisas. Parte I

Comenzamos a simular los patrones y comprobar las metodologías descritas en los artículos dedicados al comercio con cestas de parejas de divisas. Vamos a ver en la práctica cómo se aplican los patrones de ruptura de los niveles de sobrecompra/sobreventa.
LifeHack para tráders: Informe comparativo de varias simulaciones
LifeHack para tráders: Informe comparativo de varias simulaciones

LifeHack para tráders: Informe comparativo de varias simulaciones

En el artículo se analiza el inicio simultáneo de la simulación del asesor en cuatro símbolos diferentes. La comparación final de los cuatro informes de la simulación se realizará en un recuadro, como sucede al elegir los productos en una tienda online. Como bonus adicional, se muestran los gráficos de distribución creados de forma automática para cada símbolo.
MQL5-RPC. Llamadas a procedimientos remotos desde MQL5: acceso al servicio web y analizador XML-RPC ATC para divertirse y conseguir beneficios
MQL5-RPC. Llamadas a procedimientos remotos desde MQL5: acceso al servicio web y analizador XML-RPC ATC para divertirse y conseguir beneficios

MQL5-RPC. Llamadas a procedimientos remotos desde MQL5: acceso al servicio web y analizador XML-RPC ATC para divertirse y conseguir beneficios

Este artículo describe el esquema conceptual de MQL5-RPC que permite las llamadas a procedimientos remotos desde MQL5. Comienza con los fundamentos de XML-RPC, la implementación de MQL5 y continúa con dos ejemplos de uso real. El primer ejemplo es el uso de un servicio web externo y el segundo es un cliente del servicio del analizador XML-RPC ATC 2011 simple. Si está interesado en conocer cómo se implementan y analizan las distintas estadísticas de ATC 2011 en tiempo real, este es su artículo.
Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 3)
Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 3)

Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 3)

En este artículo se muestra la siguiente versión de la librería Easy And Fast (versión 3). Hemos corregido algunos fallos, así como hemos añadido nuevas posibilidades. Para más información, lea a continuación.
El indicador Cuerda de Erik Nayman
El indicador Cuerda de Erik Nayman

El indicador Cuerda de Erik Nayman

En el presente artículo explicamos cómo funciona el indicador "Cuerda" (Rope), nos basamos en la obra de Erik L. Nayman "The Small Encyclopedia of Trader" (La pequeña enciclopedia del trader). Este indicador muestra la dirección de la tendencia mediante los valores alcistas (toros) y bajistas (osos) calculados en un periodo de tiempo determinado. Explicamos los principios de creación y cálculo de indicadores, ofreciendo algunos ejemplos de código. También cubrimos la construcción de un Asesor Experto basado en el indicador "Cuerda", así como la optimización de los parámetros externos.
Evaluación del riesgo en la secuencia de transacciones con un activo
Evaluación del riesgo en la secuencia de transacciones con un activo

Evaluación del riesgo en la secuencia de transacciones con un activo

En este artículo se describe el uso de los métodos del cálculo de probabilidades y la estadística matemática en el análisis de los sistemas comerciales.
Documentación generada automáticamente para el código de MQL5
Documentación generada automáticamente para el código de MQL5

Documentación generada automáticamente para el código de MQL5

La mayoría de desarrolladores de código Java estarán familiarizados con la documentación generada automáticamente que puede obtenerse con JavaDocs. La idea es añadir comentarios al código de forma semiestructurada para que pueda ser extraída en forma de una archivo de ayuda por el que sea fácil navegar. El mundo de C++ tiene también una serie de autogeneradores de documentación, siendo líderes SandCastle y Doxygen, ambos de Microsoft. El artículo describe el uso de Doxygen para crear archivos de ayuda de html a partir de comentarios estructurados en código MQL5. El experimento funcionó muy bien y creo que la documentación de ayuda que ofrece Doxygen a partir del código MQL5 añadirá una gran cantidad de valor a este.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XX): Creación y guardado de los recursos del programa
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XX): Creación y guardado de los recursos del programa

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XX): Creación y guardado de los recursos del programa

En el artículo, vamos a analizar el guardado de datos en el código fuente del programa, así como la creación de archivos de sonido y audio a partir del mismo. Con frecuencia, al crear un programa, necesitamos usar sonidos e imágenes. En el lenguaje MQL existen varias posibilidades de uso de estos datos.
Libro de Recetas MQL5: Usar Diferentes Modos de Impresión
Libro de Recetas MQL5: Usar Diferentes Modos de Impresión

Libro de Recetas MQL5: Usar Diferentes Modos de Impresión

Este es el primer artículo de la serie de Libros de Recetas MQL5. Comenzaré con ejemplos sencillos para permitir a aquellos que están dando sus primeros pasos en programación que se familiaricen poco a poco con el nuevo lenguaje. Recuerdo mis primeros esfuerzos para diseñar y programar sistemas de trading. Debo decir que fue bastante complicado, teniendo en cuenta el hecho de que fue el primer lenguaje de programación en mi vida. No obstante, resultó ser más fácil de lo que pensaba, y solo me costó unos pocos meses desarrollar un programa con una cierta complejidad.
Dibujar los canales; visión interna y externa
Dibujar los canales; visión interna y externa

Dibujar los canales; visión interna y externa

Supongo que no es ninguna exageración decir que los canales representan la segunda herramienta más popular para el análisis del mercado y la toma de decisiones de trading por detrás de los promedios móviles. Sin profundizar demasiado en los detalles de las estrategias de trading que usan los canales y sus componentes, vamos a hablar de la base matemática y práctica de la implementación de un indicador, que dibuja un canal definido por tres extremos en la pantalla del terminal de cliente.
Examinamos en la práctica el método adaptativo del seguimiento del mercado
Examinamos en la práctica el método adaptativo del seguimiento del mercado

Examinamos en la práctica el método adaptativo del seguimiento del mercado

La principal diferencia del sistema de trading que se propone en el artículo consiste en el uso de las herramientas matemáticas para analizar las cotizaciones bursátiles. En este sistema, se aplica la filtración digital y la estimación espectral de las series temporales discretas. Han sido descritos los aspectos teóricos de la estrategia y ha sido construido el Asesor Experto (EA) para testearla.
Neuroredes profundas (Parte III). Selección de ejemplos y reducción de dimensiones
Neuroredes profundas (Parte III). Selección de ejemplos y reducción de dimensiones

Neuroredes profundas (Parte III). Selección de ejemplos y reducción de dimensiones

Este artículo continúa la serie de publicaciones sobre las neuroredes profundas. Vamos a analizar la selección de ejemplos (eliminación de ruidos), la reducción de los datos de entrada y la división del conjunto en train/val/test durante la preparación de los datos.
preview
Redes neuronales: así de sencillo (Parte 13): Normalización por lotes (Batch Normalization)

Redes neuronales: así de sencillo (Parte 13): Normalización por lotes (Batch Normalization)

En el artículo anterior, comenzamos a analizar varios métodos para mejorar la calidad del aprendizaje de la red neuronal. En este artículo, proponemos al lector continuar con este tema y analizar la normalización por lotes de los datos, un enfoque muy interesante.
Desarrollo de robots comerciales usando programación visual
Desarrollo de robots comerciales usando programación visual

Desarrollo de robots comerciales usando programación visual

El artículo muestra las capacidades del editor botbrains.app, una plataforma sin código para desarrollar robots comerciales. Para crear un robot comercial, no necesitamos programar: simplemente debemos arrastrar los bloques necesarios al esquema, indicar sus parámetros y establecer los vínculos entre ellos.
Asesor Experto multiplataforma: las clases CExpertAdvisor y CExpertAdvisor
Asesor Experto multiplataforma: las clases CExpertAdvisor y CExpertAdvisor

Asesor Experto multiplataforma: las clases CExpertAdvisor y CExpertAdvisor

En el artículo final de la serie sobre el asesor comercial multiplataforma, hablaremos sobre las clases CExpertAdvisor y CExpertAdvisors, que sirven de contendores para los componentes del experto anteriormente descritos. Asimismo, analizaremos la implementación del monitoreo de las nuevas barras y el guardado de datos.
Scalping combinatorio: analizando transacciones del pasado para aumentar el rendimiento de las transacciones futuras
Scalping combinatorio: analizando transacciones del pasado para aumentar el rendimiento de las transacciones futuras

Scalping combinatorio: analizando transacciones del pasado para aumentar el rendimiento de las transacciones futuras

Ofrecemos al lector la descripción de una tecnología para aumentar la eficacia de cualquier sistema de comercio automático. El artículo expone brevemente la idea, los fundamentos básicos, las posibilidades y las desventajas del método.
Interfaces gráficas II: Control "Menú principal" (Capítulo 4)
Interfaces gráficas II: Control "Menú principal" (Capítulo 4)

Interfaces gráficas II: Control "Menú principal" (Capítulo 4)

Es el artículo final de la segunda parte de la serie sobre las interfaces gráficas. Aquí vamos a considerar la creación del control “Menú principal”. Se demostrará el proceso de su desarrollo y la configuración de los manejadores de las clases de la librería para una correcta reacción a las acciones del usuario. Además, hablaremos de los modos de conexión de los menús contextuales a los elementos del menú principal. Aparte de eso, trataremos la cuestión del bloqueo de los controles inactivos en el momento actual.