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
Monitoreo multidivisas de las señales comerciales (Parte 2): Implementando la parte visual de la aplicación
Monitoreo multidivisas de las señales comerciales (Parte 2): Implementando la parte visual de la aplicación

Monitoreo multidivisas de las señales comerciales (Parte 2): Implementando la parte visual de la aplicación

En el artículo anterior, creamos la plantilla de la aplicación en la que se basará todo nuestro trabajo siguiente. Ahora, pasaremos paso a paso a su desarrollo, es decir, diseñaremos la parte visual de la aplicación y configuraremos las interacciones básicas entre los controles de la interfaz.
Indicadores personalizados e infografía en CCanvas
Indicadores personalizados e infografía en CCanvas

Indicadores personalizados e infografía en CCanvas

En este artículo se analizarán nuevos tipos de indicadores con una estructura de implementación más compleja. Se describirá la construcción de los indicadores de los tipos pseudo-3D y la creación de infografías que cambian de manera dinámica.
preview
Indicadores no lineales

Indicadores no lineales

En este artículo, intentaremos analizar algunas formas de construir indicadores no lineales, así como su uso en el trading. Existen bastantes indicadores en la plataforma comercial MetaTrader que utilizan enfoques no lineales.
Interfaces gráficas II: Configuración de los manejadores de eventos de la librería (Capítulo 3)
Interfaces gráficas II: Configuración de los manejadores de eventos de la librería (Capítulo 3)

Interfaces gráficas II: Configuración de los manejadores de eventos de la librería (Capítulo 3)

En los artículos anteriores hemos implementado las clases para la creación de todas las partes integrantes del menú principal. Ha llegado el momento para conocer los manejadores de eventos en las clases base principales y en las clases de los controles creados. Se presta una atención especial a la gestión del estado del gráfico dependiendo de la posición del cursor del ratón.
Estudiamos la clase CCanvas. Implementación de la transparencia de los objetos gráficos
Estudiamos la clase CCanvas. Implementación de la transparencia de los objetos gráficos

Estudiamos la clase CCanvas. Implementación de la transparencia de los objetos gráficos

¿Está harto del gráfico anguloso de las medias móviles? ¿Quiere usted dibujar en el terminal algo más bonito que un simple rectángulo rellenado? Ahora es posible dibujar de manera vistosa en el terminal. Para ello existe la clase de creación de gráficos personalizados CCanvas. Con ayuda de esta clase, es posible conseguir transparencia, mezclar los colores y alcanzar la ilusión de transparencia con ayuda de la superposición y la mezcla de colores.
Dibujando emisiones de indicador en MQL5
Dibujando emisiones de indicador en MQL5

Dibujando emisiones de indicador en MQL5

En este artículo vamos a considerar la emisión de indicadores, un nuevo enfoque de la investigación de mercados. El cálculo de la emisión se basa en la intersección de indicadores distintos: aparecen más y más puntos con diferentes colores y formas después de cada tick. Forman numerosas agrupaciones como nebulosas, nubes, rastros, líneas, arcos, etc. Estas formas ayudan a detectar los resortes ocultos y las fuerzas que afectan al movimiento de los precios del mercado.
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.
Rastreo, Depuración y Análisis Estructural de Código Fuente
Rastreo, Depuración y Análisis Estructural de Código Fuente

Rastreo, Depuración y Análisis Estructural de Código Fuente

Todos los problemas que supone la creación de una estructura de código ejecutado y su rastreo se pueden solucionar sin grandes dificultades. Esta posibilidad ha aparecido en MetaTrader 5 a causa de la nueva prestación del lenguaje MQL5: creación automática de variables de tipo complejo de datos (estructuras y clases) y su eliminación al salir del alcance local. Este artículo contiene la descripción de la metodología y la herramienta ya preparada.
¿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.
Investigación de recurrencia estadística de direcciones de la vela
Investigación de recurrencia estadística de direcciones de la vela

Investigación de recurrencia estadística de direcciones de la vela

¿Es posible predecir el comportamiento del mercado de un próximo corto intervalo de tiempo, basado en las tendencias recurrentes de direcciones de la vela, en momentos específicos durante todo el día? Es decir, si tal suceso se encuentra en primer lugar. Esta pregunta probablemente surgió en la mente de cada trader. El propósito de este artículo es intentar predecir el comportamiento del mercado, basado en las repeticiones estadísticas de las direcciones de la vela durante intervalos específicos de tiempo.
Interfaces gráficas II: Controles "Línea separadora" y "Menú contextual" (Capítulo 2)
Interfaces gráficas II: Controles "Línea separadora" y "Menú contextual" (Capítulo 2)

Interfaces gráficas II: Controles "Línea separadora" y "Menú contextual" (Capítulo 2)

En este artículo nos ocuparemos de la creación del control llamado “Línea separadora”. Se podrá utilizarlo no sólo como un elemento independiente de la interfaz, sino también como parte de otros controles. Después de eso, tendremos todo lo necesario para desarrollar la clase del menú contextual, que también será considerado al detalle en el presente artículo. Además, vamos a introducir adiciones necesarias en la clase que sirve de base para almacenar los punteros a todos los controles de la interfaz gráfica de la aplicación.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVI): Trabajando con las solicitudes comerciales pendientes - primera implementación (apertura de posiciones)
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVI): Trabajando con las solicitudes comerciales pendientes - primera implementación (apertura de posiciones)

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVI): Trabajando con las solicitudes comerciales pendientes - primera implementación (apertura de posiciones)

En el presente artículo, vamos a organizar el guardado de ciertos datos en el valor del número mágico de las órdenes y posiciones, y también implementaremos las solicitudes comerciales. Para comprobar el concepto, crearemos una primera solicitud pendiente de prueba para abrir posiciones de mercado al recibir del servidor un error que requiera la espera y el envío de una solicitud repetida.
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!
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.
LifeHack para tráders: indicadores de balance, reducción, carga y ticks durante la simulación
LifeHack para tráders: indicadores de balance, reducción, carga y ticks durante la simulación

LifeHack para tráders: indicadores de balance, reducción, carga y ticks durante la simulación

¿Cómo convertir la simulación en algo más visual? La respuesta es sencilla: hay que usar en el simulador uno o varios indicadores, un indicador de ticks, un indicador de balance y equidad, un indicador de reducción y carga del depósito. Esto permitirá realizar un seguimiento visual de la naturaleza de los ticks, o de los cambios de balance y equidad, o de la reducción y la carga del depósito.
WebRequest multiflujo asincrónico en MQL5
WebRequest multiflujo asincrónico en MQL5

WebRequest multiflujo asincrónico en MQL5

En el artículo se analiza una biblioteca que permite aumentar la efectividad del trabajo con solicitudes HTTP en MQL5. La ejecución de WebRequest en el modo no bloqueante se ha implementado en flujos adicionales usando gráficos y expertos auxiliares, intercambio de eventos personalizados y lectura de recursos compartidos. Se adjuntan los códigos fuente.
Recetas MQL5 - órdenes ОСО
Recetas MQL5 - órdenes ОСО

Recetas MQL5 - órdenes ОСО

En el comercio, el trader usa diferentes mecanismos e interacciones, también entre órdenes. En este artículo se propone una solución para procesar las órdenes OCO. Además, implica las clases de la Biblioteca Estándar, y también se crean los nuevos tipos de datos.
Analizando resultados comerciales con la ayuda de informes HTML
Analizando resultados comerciales con la ayuda de informes HTML

Analizando resultados comerciales con la ayuda de informes HTML

Aparte de los informes comerciales, MetaTrader 5 permite guardar informes sobre la simulación y la optimización de expertos. El informe de simulación, al igual que la historia comercial, puede guardarse en dos formatos: XLSX y HTML, mientras que el informe de oprtimización se guarda en formato XML. En este artículo, vamos a analizar con detalle el informe HTML del simulador, el informe XML de optimización y el informe HTML con la historia comercial.
preview
Redes neuronales: así de sencillo (Parte 11): Variaciones de GTP

Redes neuronales: así de sencillo (Parte 11): Variaciones de GTP

Hoy en día, quizás uno de los modelos de lenguaje de redes neuronales más avanzados sea GPT-3, que en su versión máxima contiene 175 mil millones de parámetros. Obviamente, no vamos a crear semejante monstruo en condiciones domésticas. Pero sí que podemos ver qué soluciones arquitectónicas se pueden usar en nuestro trabajo y qué ventajas nos ofrecerán.
Libro de Recetas MQL5: Desarrollo de un Marco de Trabajo para un Sistema de Trading Basado en la Estrategia de Triple Pantalla
Libro de Recetas MQL5: Desarrollo de un Marco de Trabajo para un Sistema de Trading Basado en la Estrategia de Triple Pantalla

Libro de Recetas MQL5: Desarrollo de un Marco de Trabajo para un Sistema de Trading Basado en la Estrategia de Triple Pantalla

En este artículo desarrollaremos un marco de trabajo para un sistema de trading basado en la estrategia de Triple Pantalla en MQL5. El Asesor Experto no se desarrollará de cero. En lugar de ello, simplemente modificaremos el programa del artículo anterior "MQL5 Cookbook: Using Indicators to Set Trading Conditions in Expert Advisors" (“Libro de Recetas MQL5: Usar Indicadores Para Configurar Condiciones de Trading en Asesores Expertos”), que sustancialmente ya vale para nuestros propósitos. El artículo también demostrará cómo se pueden modificar fácilmente los patrones de programas ya hechos.
Trabajando con las funciones de red, o MySQL sin DLL: Parte I - el conector
Trabajando con las funciones de red, o MySQL sin DLL: Parte I - el conector

Trabajando con las funciones de red, o MySQL sin DLL: Parte I - el conector

Hace relativamente poco, aparecieron en MetaTrader 5 las funciones de red. Este hecho abre un amplio abanico de posibilidades para los programadores que desarrollan productos para el Mercado, ya que ahora es posible implementar aquello que antes no se podía conseguir sin bibliotecas dinámicas. En este artículo, nos familiarizaremos con ellas usando como ejemplo la escritura de un conector MySQL.
preview
Gestionando el Horario (Parte 2): Funciones

Gestionando el Horario (Parte 2): Funciones

Determinando la compensación del bróker y la hora GMT de forma automática. En lugar de pedir ayuda a su bróker, de quien probablemente recibirá una respuesta insuficiente (quién estaría dispuesto a explicar dónde se ha metido la hora faltante), simplemente nos fijaremos en cómo estos calculan sus precios en las semanas de cambio horario, pero evitando engorrosos cálculos manuales: un programa se encargará de ello, después de todo, ¿para qué tenemos un PC?
preview
Redes neuronales: así de sencillo (Parte 3): Redes convolucionales

Redes neuronales: así de sencillo (Parte 3): Redes convolucionales

Continuando el tema de la redes neuronales, proponemos al lector analizar las redes neuronales convolucionales. Este tipo de redes neuronales ha sido desarrollado para buscar objetos en una imagen. Asimismo, analizaremos cómo nos pueden ayudar al operar en los mercados financieros.
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.
La última cruzada
La última cruzada

La última cruzada

Eche un vistazo a su terminal de cliente. ¿Qué sistema de presentación del precio puede ver? Barras, velas, líneas. Perseguimos el tiempo y los precios mientras que solo obtenemos beneficio a partir de los precios. ¿Debemos prestar atención solo a los precios cuando analizamos el mercado? Este artículo propone un algoritmo y un script para el trazado de punto y forma ("ceros y cruces"). Se consideran varios patrones de precio cuyo uso práctico se muestra mediante las recomendaciones que se incluyen.
Swaps (parte I) : Bloqueo de posiciones y posiciones sintéticas
Swaps (parte I) : Bloqueo de posiciones y posiciones sintéticas

Swaps (parte I) : Bloqueo de posiciones y posiciones sintéticas

En este artículo intentaremos expandir el concepto clásico de los métodos de swap en el comercio, y también hablaremos sobre por qué hemos llegado a la conclusión de que este concepto merece una atención especial y es absolutamente recomendable para el análisis y el estudio.
Lite_EXPERT2.mqh: Ejemplos de implementación de Asesores Expertos
Lite_EXPERT2.mqh: Ejemplos de implementación de Asesores Expertos

Lite_EXPERT2.mqh: Ejemplos de implementación de Asesores Expertos

En este artículo, el autor sigue familiarizando los lectores con las funciones de Lite_EXPERT2.mqh mediante ejemplos reales de implementación de Asesores Expertos. El artículo aborda el concepto de utilizar las órdenes pendientes flotantes y las órdenes pendientes que cambian de forma dinámica entre una transacción y otra en base al los valores del indicador Average True Range (ATR).
preview
Redes neuronales: así de sencillo (Parte 4): Redes recurrentes

Redes neuronales: así de sencillo (Parte 4): Redes recurrentes

Continuamos nuestra inmersión en el mundo de las redes neuronales. En el presente artículo, hablaremos de las redes neuronales recurrentes. Este tipo de redes neuronales se ofrece para su utilización con series temporales, que son precisamente los gráficos de precios en la plataforma comercial MetaTrader 5.
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.
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.
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".
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
Websockets para MetaTrader 5 — Usando la API de Windows

Websockets para MetaTrader 5 — Usando la API de Windows

En este artículo, usaremos WinHttp.dll para crear un cliente de websocket para los programas de MetaTrader 5. El cliente se implementará finalmente como una clase, y también se probará contra la API de websocket de Binary.com.
Utilización de layouts y contenedores en los controles GUI: la clase CGrid
Utilización de layouts y contenedores en los controles GUI: la clase CGrid

Utilización de layouts y contenedores en los controles GUI: la clase CGrid

Este artículo explica un método alternativo de creación de GUIs basado en layouts y contenedores por medio de un gestor de layouts: la clase CGrid. La clase CGrid es un control auxiliar que actúa como contenedor de contenedores y controles, utilizando un diseño de rejilla o cuadrícula (grid layout).
Cómo preparar las cotizaciones MetaTrader 5 para otros programas
Cómo preparar las cotizaciones MetaTrader 5 para otros programas

Cómo preparar las cotizaciones MetaTrader 5 para otros programas

En este artículo se proporcionan ejemplos sobre la creación de catálogos, copia de datos y grabaciones en un archivo, del trabajo con instrumentos de la ventana de Observación del mercado o de la lista general, ejemplos de procesamiento de errores y mucho más. Como conclusión, todo será reunido en un sólo script, con ayuda del cual se podrán grabar en el archivo datos en el formato que el usuario indique.
Señales de Trading en MetaTrader 5: ¡Una Alternativa Mejor a las Cuentas PAMM!
Señales de Trading en MetaTrader 5: ¡Una Alternativa Mejor a las Cuentas PAMM!

Señales de Trading en MetaTrader 5: ¡Una Alternativa Mejor a las Cuentas PAMM!

Nos complace anunciar que MetaTrader 5 ahora cuenta con Trading Signals (Señales de Trading), una poderosa herramienta para inversores y gestores. Mientras sigue las operaciones de un trader con éxito, ¡el terminal las reproducirá automáticamente en su cuenta!
preview
Aproximación por fuerza bruta a la búsqueda de patrones

Aproximación por fuerza bruta a la búsqueda de patrones

En este artículo buscaremos patrones en el mercado, crearemos asesores expertos usando estos como base y verificaremos cuánto tiempo dichos patrones siguen funcionando y, en general, si se mantienen.
Visualización de un calendario de noticias
Visualización de un calendario de noticias

Visualización de un calendario de noticias

En este artículo se describe la implementación de un indicador sencillo y cómodo que muestra en el área de trabajo los principales eventos económicos a partir de fuentes externas en Internet.
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.