Artículos de programación MQL4 y 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
Cómo escribir una biblioteca DLL para MQL5 en 10 minutos (Parte II): Escribiendo en el entorno de Visual Studio 2017
Cómo escribir una biblioteca DLL para MQL5 en 10 minutos (Parte II): Escribiendo en el entorno de Visual Studio 2017

Cómo escribir una biblioteca DLL para MQL5 en 10 minutos (Parte II): Escribiendo en el entorno de Visual Studio 2017

El artículo original «básico» de ningún modo perdió su actualidad, y todos los interesados en este asunto deben leerlo sí o sí. Pero ya pasó bastante tiempo desde aquel entonces, y ahora la versión Visual Studio 2017 es de la actualidad, disponiendo de una interfaz ligeramente modificada, mientras que la propia plataforma MetaTrader 5 tampoco estaba sin desarrollo. El presente artículo describe las etapas de la creación del proyecto DLL, sus configuraciones y el trabajo común con las herramientas del terminal MetaTrader 5.
Los principios del cálculo económico de los indicadores
Los principios del cálculo económico de los indicadores

Los principios del cálculo económico de los indicadores

Las llamadas a los usuarios y a los indicadores técnicos requieren muy poco espacio en el código del programa de los sistemas de trading automatizados. Se trata a menudo de pocas líneas de código. Pero con frecuencia, son estas pocas líneas de código las que requieren la mayor parte del tiempo, destinada a probar el Expert Advisor. Por lo tanto, hay que tener en cuenta mucho más de lo parecía al principio todo lo que está relacionado con los cálculos de datos en un indicador. Este artículo trata justamente esta cuestión.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXIX): Solicitudes comerciales pendientes - Clases de objetos de solicitudes
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXIX): Solicitudes comerciales pendientes - Clases de objetos de solicitudes

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

En artículos anteriores, comprobamos el concepto de solicitudes comerciales pendientes. Una solicitud pendiente, en esencia, es una orden comercial normal, pero ejecutada según una condición concreta. En esta ocasión, vamos a crear clases completas de objetos de solicitudes pendientes: el objeto de solicitud básico y sus herederos.
Comprobar el mito: todo el día de trading depende de cómo se cotiza la sesión asiática
Comprobar el mito: todo el día de trading depende de cómo se cotiza la sesión asiática

Comprobar el mito: todo el día de trading depende de cómo se cotiza la sesión asiática

En este artículo revisaremos la declaración bien conocida que "El trading de todo el día depende de cómo se cotiza la sesión de Asia".
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte II): Colección de órdenes y transacciones históricas
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte II): Colección de órdenes y transacciones históricas

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte II): Colección de órdenes y transacciones históricas

En el primer artículo, comenzamos a crear una gran biblioteca multiplataforma, cuyo cometido es facilitar la creación de programas para las plataformas MetaTrader 5 y MetaTrader 4. Creamos el objeto abstracto COrder, que es el objeto básico para guardar los datos de las órdenes y transacciones históricas, así como de las órdenes y posiciones de mercado. Ahora, vamos a crear todos los objetos necesarios para guardar los datos de la historia de la cuenta en colecciones.
Interfaces gráficas IV: Elementos informativos de la interfaz (Capítulo 1)
Interfaces gráficas IV: Elementos informativos de la interfaz (Capítulo 1)

Interfaces gráficas IV: Elementos informativos de la interfaz (Capítulo 1)

En este momento, la librería para la creación de las interfaces gráficas contiene el formulario y varios controles que pueden ser adjuntados a este formulario. Ahora tenemos todo preparado para considerar la cuestión del modo de ventanas múltiples, pero nos ocuparemos de ello en el segundo capítulo de este artículo. Primero, vamos a escribir las clases que nos permitirán crear los elementos informativos de la interfaz, tales como: la “barra de estado” y la “descripción emergente”.
Dibujando niveles de ruptura horizontales utilizando fractales
Dibujando niveles de ruptura horizontales utilizando fractales

Dibujando niveles de ruptura horizontales utilizando fractales

Este artículo describe la creación de un indicador que muestra los niveles de soporte y resistencia por medio de fractales alcistas/bajistas.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVII): Trabajando con las solicitudes comerciales - Colocación de órdenes pendientes
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVII): Trabajando con las solicitudes comerciales - Colocación de órdenes pendientes

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVII): Trabajando con las solicitudes comerciales - Colocación de órdenes pendientes

En el presente artículo, continuaremos trabajando con las solicitudes comerciales e implementaremos la colocación de órdenes pendientes. Asimismo, corregiremos algunos errores localizados en el funcionamiento de la clase comercial.
Desarrollo de una Startup social tecnológica, Parte II: Programamos el cliente REST en MQL5
Desarrollo de una Startup social tecnológica, Parte II: Programamos el cliente REST en MQL5

Desarrollo de una Startup social tecnológica, Parte II: Programamos el cliente REST en MQL5

Hoy vamos a dar forma acabada a la idea de publicación de las señales comerciales del EA en el Twitter a base de PHP. Hemos empezado a hablar sobre eso en la primera parte del artículo. Vamos a reunir las partes separadas del SDSS. En cuanto al lado del cliente de la arquitectura del sistema, vamos a utilizar la nueva función WebRequest() del MQL5 para el envío de las señales comerciales vía HTTP.
Instrumental para el comercio manual rápido: Trabajando con órdenes abiertas y órdenes pendientes
Instrumental para el comercio manual rápido: Trabajando con órdenes abiertas y órdenes pendientes

Instrumental para el comercio manual rápido: Trabajando con órdenes abiertas y órdenes pendientes

En este artículo, ampliaremos las posibilidades del instrumental, añadiremos al mismo las capacidades de abrir posiciones comerciales, y también crearemos un recuadro para registrar las órdenes abiertas y las órdenes pendientes con la posibilidad de editar las mismas.
Trading automatizado atípico
Trading automatizado atípico

Trading automatizado atípico

Trading eficaz y cómodo con la plataforma MT4 sin análisis detallado del mercado: ¿es posible? ¿Se puede llevar a cabo un trading así? Supongo que sí. ¡Especialmente en términos de trading automatizado!
Características de los Asesores Expertos
Características de los Asesores Expertos

Características de los Asesores Expertos

La creación de Asesores Expertos con la plataforma MetaTrader tiene una serie de particularidades.
preview
Aprendiendo a diseñar un sistema de trading con Force Index

Aprendiendo a diseñar un sistema de trading con Force Index

Aquí tenemos un nuevo artículo de nuestra serie destinada a la creación de sistemas comerciales basados en indicadores técnicos populares. En esta ocasión, analizaremos el indicador Force Index y aprenderemos a crear sistemas comerciales basados en él.
Pegado de contrato de futuros en MetaTrader 5
Pegado de contrato de futuros en MetaTrader 5

Pegado de contrato de futuros en MetaTrader 5

El análisis técnico de los contratos de futuros (futuros, en lo sucesivo) se ve dificultado por la breve duración de su circulación. En gráficos relativamente cortos resulta difícil llevar a cabo el análisis técnico, por ejemplo, la cantidad de barras en el gráfico diurno de futuros en el índice de la bolsa ucraniana UX-9.13 es de algo más de 100. Por eso al trader le surge la cuestión sobre la construcción de instrumentos sintéticos sobre los futuros. En el artículo veremos el tema del pegado de la historia de los contratos de futuros con diferentes fechas de duración en el terminal MetaTrader 5.
Matemáticas del mercado: beneficios, pérdidas, costes
Matemáticas del mercado: beneficios, pérdidas, costes

Matemáticas del mercado: beneficios, pérdidas, costes

En este artículo, le mostraremos cómo calcular el beneficio o las pérdidas totales de cualquier operación, incluyendo la comisión y el swap. Hoy crearemos un modelo matemático más preciso, escribiremos el código basado en él y lo compararemos con un referente. También intentaremos meternos analizar los entresijos de la función principal de MQL5 para calcular el beneficio y llegaremos al fondo de todos los valores necesarios de la especificación.
preview
Desarrollo de un EA comercial desde cero (Parte 31): Rumbo al futuro (IV)

Desarrollo de un EA comercial desde cero (Parte 31): Rumbo al futuro (IV)

Seguiremos eliminando cosas del interior del EA. Sin embargo, este será el último artículo de esta serie. Lo último que se removerá en esta serie de artículos es el sistema de sonido. Tal vez esto los confunda si no han seguido estos artículos.
Notas de aficionado: ZigZag
Notas de aficionado: ZigZag

Notas de aficionado: ZigZag

Seguramente, un iluso que pensara operar cerca de los extremos visitaría cada aprendiz de trader cuando es viera una polilínea "enigmática" por primera vez. Es tan simple, ciertamente. Este es el máximo. Y este es el mínimo. Una bonita imagen en el historial. ¿Y qué ocurre en la práctica? Se dibuja un rayo. Parecerá que este es el pico. Es el momento de vender. Y ahora vamos hacia abajo. Pero, demonios, no es así. El precio se mueve traicioneramente hacia abajo. ¡Sooo! Es una nimiedad, no un indicador. Y nos deshacemos de él.
preview
Aprendiendo a diseñar un sistema de trading con Awesome Oscillator

Aprendiendo a diseñar un sistema de trading con Awesome Oscillator

En este nuevo artículo de la serie, nos familiarizaremos con otra herramienta técnica útil para el trading: el indicador Awesome Oscillator (AO). Asimismo, aprenderemos a desarrollar sistemas comerciales basados en las lecturas de este indicador.
preview
Desarrollo de un robot en Python y MQL5 (Parte 1): Preprocesamiento de datos

Desarrollo de un robot en Python y MQL5 (Parte 1): Preprocesamiento de datos

Desarrollar un robot de trading basado en aprendizaje automático: Una guía detallada. El primer artículo de la serie trata de la recogida y preparación de datos y características. El proyecto se ejecuta utilizando el lenguaje de programación y las librerías Python, así como la plataforma MetaTrader 5.
preview
Redes neuronales: así de sencillo (Parte 6): Experimentos con la tasa de aprendizaje de la red neuronal

Redes neuronales: así de sencillo (Parte 6): Experimentos con la tasa de aprendizaje de la red neuronal

Ya hemos hablado sobre algunos tipos de redes neuronales y su implementación. En todos los casos, hemos usado el método de descenso de gradiente para entrenar las redes neuronales, lo cual implica la elección de una tasa de aprendizaje. En este artículo, queremos mostrar con ejemplos lo importante que resulta elegir correctamente la tasa de aprendizaje, y también su impacto en el entrenamiento de una red neuronal.
preview
Scalping Orderflow en MQL5

Scalping Orderflow en MQL5

Este Asesor Experto de MetaTrader 5 implementa una estrategia Scalping Orderflow con gestión avanzada de riesgos. Utiliza múltiples indicadores técnicos para identificar oportunidades de negociación basadas en los desequilibrios del flujo de órdenes (Orderflow). Las pruebas retrospectivas muestran una rentabilidad potencial, pero resaltan la necesidad de una mayor optimización, especialmente en la gestión de riesgos y en los ratios de resultados comerciales. Adecuado para operadores experimentados, requiere pruebas y comprensión exhaustivas antes de la implementación en vivo.
Interfaces gráficas I: "Animar" la interfaz gráfica (Capítulo 3)
Interfaces gráficas I: "Animar" la interfaz gráfica (Capítulo 3)

Interfaces gráficas I: "Animar" la interfaz gráfica (Capítulo 3)

En el artículo anterior de esta serie hemos empezado a desarrollar la clase del formulario para los controles. En este artículo continuaremos el desarrollo de la clase llenándola con los métodos para el desplazamiento del formulario dentro del área del gráfico, así como integraremos este elemento de la interfaz en el núcleo de la librería. Además de eso, configuraremos todo de tal manera que, al situar el cursor sobre los controles del formulario, éstos cambien su color.
Las Tablas Electrónicas en MQL5
Las Tablas Electrónicas en MQL5

Las Tablas Electrónicas en MQL5

El artículo describe una clase de matrices dinámicas bidimensionales que contienen los diferentes tipos de datos en su primera dimensión. Es conveniente almacenar los datos en forma de tablas para poder resolver una gran variedad de problemas de disposición, almacenamiento y funcionamiento con información de diferentes clases. El código fuente de la clase que implementa la funcionalidad de trabajar con tablas está adjunto al artículo.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte IV): Eventos comerciales
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte IV): Eventos comerciales

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte IV): Eventos comerciales

En los anteriores artículos, comenzamos a crear una gran biblioteca multiplataforma, cuyo objetivo es facilitar la escritura de programas para las plataformas MetaTrader 5 y MetaTrader 4. Ya disponemos de una colección de órdenes y transacciones históricas, y órdenes y posiciones de mercado, así como de una clase para seleccionar y filtrar órdenes cómodamente. En esta parte, vamos a continuar desarrollando el objeto básico, además de enseñar a la biblioteca Engine a monitorear los eventos comerciales en la cuenta.
Análisis técnico: ¿Qué analizamos?
Análisis técnico: ¿Qué analizamos?

Análisis técnico: ¿Qué analizamos?

En este artículo se han intentado de analizar de forma global algunas peculiaridades de la representación de las cotizaciones accesibles para el análisis en el terminal MetaTrader. En el presente artículo no vamos a hablar de técnologías de programación, nuestro análisis tiene un carácter más general.
preview
Creación de una interfaz gráfica de usuario interactiva en MQL5 (Parte 1): Creación del panel

Creación de una interfaz gráfica de usuario interactiva en MQL5 (Parte 1): Creación del panel

Este artículo explora los pasos fundamentales en la elaboración e implementación de un panel de Interfaz Gráfica de Usuario (GUI) utilizando MetaQuotes Language 5 (MQL5). Los paneles de utilidades personalizados mejoran la interacción del usuario en la negociación simplificando las tareas habituales y visualizando la información esencial de la negociación. Al crear paneles personalizados, los operadores pueden agilizar su flujo de trabajo y ahorrar tiempo durante las operaciones.
preview
Aprendiendo a diseñar un sistema de trading con el indicador de Acumulación/Distribución

Aprendiendo a diseñar un sistema de trading con el indicador de Acumulación/Distribución

En este nuevo artículo de la serie sobre la creación de sistemas comerciales basados en indicadores técnicos populares, analizaremos el indicador de Acumulación/Distribución (A/D). También desarrollaremos un sistema comercial para la plataforma MetaTrader 5 utilizando algunas estrategias simples.
Technical Analysis: How Do We Analyze?
Technical Analysis: How Do We Analyze?

Technical Analysis: How Do We Analyze?

This article briefly describes the author's opinion on redrawing indicators, multi-timeframe indicators and displaying of quotes with Japanese candlesticks. The article contain no programming specifics and is of a general character.
preview
Algoritmos de optimización de la población: Algoritmo de recocido simulado (Simulated Annealing, SA). Parte I

Algoritmos de optimización de la población: Algoritmo de recocido simulado (Simulated Annealing, SA). Parte I

El algoritmo de recocido simulado es una metaheurística inspirada en el proceso de recocido de los metales. En nuestro artículo, realizaremos un análisis exhaustivo del algoritmo y mostraremos cómo muchas percepciones comunes y mitos que rodean a este método de optimización (el más popular y conocido) pueden ser incorrectos e incompletos. Anuncio de la segunda parte del artículo: "¡Conozca el algoritmo de recocido Isotrópico Simulado (Simulated Isotropic Annealing, SIA) del propio autor!"
Interfaces gráficas VI: Controles "Casilla de verificación", "Campo de edición" y sus tipos combinados (Capítulo 1)
Interfaces gráficas VI: Controles "Casilla de verificación", "Campo de edición" y sus tipos combinados (Capítulo 1)

Interfaces gráficas VI: Controles "Casilla de verificación", "Campo de edición" y sus tipos combinados (Capítulo 1)

Este artículo empieza la sexta parte de la serie sobre el desarrollo de la librería para la creación de las interfaces gráficas en los terminales MetaTrader. En el primer capítulo hablaremos sobre los siguientes controles: “casilla de verificación”, “campo de edición” y los tipos combinados de estos controles.
Recetas de MQL5 - procesamiento de eventos típicos del gráfico
Recetas de MQL5 - procesamiento de eventos típicos del gráfico

Recetas de MQL5 - procesamiento de eventos típicos del gráfico

En este artículo se analizan los eventos típicos del gráfico y se dan ejemplos de su procesamiento. Han sido considerados los eventos del ratón, evento del teclazo, creación/cambio de propiedades, eliminación del objeto gráfico, clic del ratón en el gráfico y en el objeto gráfico, desplazamiento del objeto gráfico con ratón, fin de edición del texto en el campo de introducción, así como los eventos de modificación del gráfico. Cada evento va acompañado con ejemplos de programas en MQL5.
¿Los diez "errores" del principiante en trading?
¿Los diez "errores" del principiante en trading?

¿Los diez "errores" del principiante en trading?

En este artículo se explica el enfoque para elaborar un sistema de trading como una secuencia de aperturas y cierres de órdenes relacionadas en función de las condiciones existentes, precios y valores actuales del beneficio/pérdida de cada orden, no sólo en el sentido de las "señales" tradicionales. Veremos un ejemplo de realización de un sistema de trading elemental.
preview
Desarrollo de Sistemas Avanzados de Trading ICT: Implementación de señales en un indicador de Order Blocks

Desarrollo de Sistemas Avanzados de Trading ICT: Implementación de señales en un indicador de Order Blocks

En este artículo, aprenderás a desarrollar un indicador de Order Blocks basado en el volumen de la profundidad de mercado y a optimizarlo mediante buffers para mejorar su precisión. Concluimos esta fase del proyecto y nos preparamos para las siguientes, en las que implementaremos una clase de gestión de riesgos y un bot de trading que aprovechará las señales generadas por el indicador.
Asesores Expertos basados en sistemas populares de trading, y un poco de alquimia en la optimización de robots
Asesores Expertos basados en sistemas populares de trading, y un poco de alquimia en la optimización de robots

Asesores Expertos basados en sistemas populares de trading, y un poco de alquimia en la optimización de robots

Este artículo trata sobre la implementación de algoritmos de sistemas de trading sencillos. De modo que será de gran utilidad para los traders principiantes, así como para aquellas personas que se inician en la programación de EAs.
preview
Algoritmos de optimización de la población: Optimización de colonias de hormigas (ACO)

Algoritmos de optimización de la población: Optimización de colonias de hormigas (ACO)

En esta ocasión, analizaremos el algoritmo de optimización de colonias de hormigas (ACO). El algoritmo es bastante interesante y ambiguo al mismo tiempo. Intentaremos crear un nuevo tipo de ACO.
preview
Gestión de Riesgo (Parte 2): Implementando el Cálculo de Lotes en una Interfaz Gráfica

Gestión de Riesgo (Parte 2): Implementando el Cálculo de Lotes en una Interfaz Gráfica

En este artículo exploraremos cómo mejorar y aplicar de manera más efectiva los conceptos abordados en el artículo anterior, utilizando las poderosas librerías de controles gráficos de MQL5. Te guiaré paso a paso en la creación de una interfaz gráfica completamente funcional, explicando el plan de diseño detrás de ella, así como el propósito y funcionamiento de cada método empleado. Además, al final del artículo, pondremos a prueba el panel que desarrollaremos, asegurándonos de que funcione correctamente y cumpla con los objetivos planteados.
preview
Aprendizaje de máquinas de Yándex (CatBoost) sin estudiar Python y R

Aprendizaje de máquinas de Yándex (CatBoost) sin estudiar Python y R

En el artículo, descricribiremos las etapas del proceso de aprendizaje de máquinas usando un ejemplo concreto, y también adjuntaremos un código sobre el mismo. Para obtener los modelos, no necesitaremos conocer ningún lenguaje de programación como Python o R. Los conocimientos requeridos de MQL5 no serán profundos, iguales, por cierto, que los del autor del presente artículo; por eso, esperamos que este artículo sirva de guía para un amplio círculo de lectores que deseen valorar de forma experimental las posibilidades del aprendizaje de máquinas e implementar estas en sus desarrollos.
El sistema experto 'Comentador'. Aplicación práctica de indicadores embebidos en programas MQL4
El sistema experto 'Comentador'. Aplicación práctica de indicadores embebidos en programas MQL4

El sistema experto 'Comentador'. Aplicación práctica de indicadores embebidos en programas MQL4

El presente artículo describe el uso de los indicadores técnicos en el lenguaje de programación MQL4.
preview
Análisis de clústeres (Parte I): Usando la inclinación de las líneas de indicador

Análisis de clústeres (Parte I): Usando la inclinación de las líneas de indicador

El análisis de clústeres es uno de los elementos más importantes de la inteligencia artificial. En este artículo, trataremos de aplicar el análisis de inclinación del clúster del indicador para obtener valores de umbral que nos ayuden a determinar la naturaleza plana o de tendencia del mercado.
Use los canales y chats grupales de MQL5.community
Use los canales y chats grupales de MQL5.community

Use los canales y chats grupales de MQL5.community

En el sitio web MQL5.com podrá encontrar tráders de todo el mundo: estos publican artículos, códigos gratuitos y productos en el Mercado, ejecutan trabajos en freelance y codifican señales comerciales. Podrá relacionarse con ellos en el foro, los chats de tráders y los canales de MetaTrader.