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
Cómo crear documentación usando los códigos fuente MQL5
Cómo crear documentación usando los códigos fuente MQL5

Cómo crear documentación usando los códigos fuente MQL5

En el artículo se analiza la creación de documentación para el código en MQL5, comenzando por la automatización de la colocación de los tags necesarios. A continuación, se describe el trabajo con el programa Doxygen, su correcta configuración y la obtención de resultados en diferentes formatos: en html, en HtmlHelp y en PDF.
Implementación práctica de filtros digitales en MQL5 para principiantes
Implementación práctica de filtros digitales en MQL5 para principiantes

Implementación práctica de filtros digitales en MQL5 para principiantes

La idea del filtrado de señales digitales ha sido ampliamente discutida en foros sobre el tema de la elaboración de sistemas de trading. Y sería imprudente no crear un código estándar de filtros digitales en MQL5. En este artículo el autor describe la transformación de código simple de indicadores SMA de su artículo "Indicadores personalizados en MQL5 para principiantes", en el código de un filtro digital más complejo y universal. Este artículo es consecuencia del artículo anterior. También trata sobre cómo reemplazar texto en el código y cómo corregir errores de programación.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XVIII): Interactividad del objeto de cuenta con cualquier otro objeto de la biblioteca
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XVIII): Interactividad del objeto de cuenta con cualquier otro objeto de la biblioteca

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XVIII): Interactividad del objeto de cuenta con cualquier otro objeto de la biblioteca

En el presente artículo, hemos organizado el funcionamiento del objeto de cuenta en el nuevo objeto básico de todos los objetos de la biblioteca, hemos mejorado el objeto básico CBaseObj y hemos puesto a prueba el establecimiento de los parámetros monitoreados, así como la obtención de eventos para cualquier objeto de la biblioteca.
Interfaces gráficas IX: Elementos "Indicador de progreso" y "Gráfico lineal" (Capítulo 2)
Interfaces gráficas IX: Elementos "Indicador de progreso" y "Gráfico lineal" (Capítulo 2)

Interfaces gráficas IX: Elementos "Indicador de progreso" y "Gráfico lineal" (Capítulo 2)

El segundo capítulo de la novena parte de la serie estará dedicada a los elementos «Indicador de progreso» y «Gráfico lineal». Como siempre mostraremos los ejemplos detallados de cómo puede usar estos elementos en sus aplicaciones MQL.
Monitoreo multidivisas de las señales comerciales (Parte 3): Introduciendo los algoritmos para la búsqueda
Monitoreo multidivisas de las señales comerciales (Parte 3): Introduciendo los algoritmos para la búsqueda

Monitoreo multidivisas de las señales comerciales (Parte 3): Introduciendo los algoritmos para la búsqueda

En los artículos anteriores, conseguimos desarrollar la parte visual de la aplicación, así como implementar la interacción entre los elementos de la interfaz. Ahora, vamos a añadir la lógica interna y el algoritmo para preparar los datos de las señales comerciales, la configuración de las mismas, la búsqueda y la visualización en el monitoreo.
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.
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.
Interfaces gráficas II: Control "Elemento del menú" (Capítulo 1)
Interfaces gráficas II: Control "Elemento del menú" (Capítulo 1)

Interfaces gráficas II: Control "Elemento del menú" (Capítulo 1)

En la segunda parte de la serie demostraremos el proceso del desarrollo de los controles como el menú principal y el menú contextual. Además, trataremos la cuestión del dibujo de los controles, y para ello vamos a crear una clase especial. También aclararemos detalladamente la cuestión de la gestión de los eventos del programa, inclusive los eventos del usuario.
preview
Aprendizaje automático y Data Science - Redes neuronales (Parte 01): Análisis de redes neuronales con conexión directa

Aprendizaje automático y Data Science - Redes neuronales (Parte 01): Análisis de redes neuronales con conexión directa

A muchos les gustan todas las operaciones que hay detrás de las redes neuronales, pero pocos las entienden. En este artículo, intentaremos explicar en términos sencillos lo que ocurre detrás un perceptrón multinivel con conexión Feed Forward.
Interfaces gráficas I: Formulario para controles (Capítulo 2)
Interfaces gráficas I: Formulario para controles (Capítulo 2)

Interfaces gráficas I: Formulario para controles (Capítulo 2)

En este artículo vamos a crear el primero y el más importante elemento de las interfaces gráficas: formulario para los controles. A este formulario se le puede adjuntar múltiples controles de diferentes tipos en cualquier orden y secuencia.
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.
MQL5 para principiantes, protección antivandálica de los objetos gráficos
MQL5 para principiantes, protección antivandálica de los objetos gráficos

MQL5 para principiantes, protección antivandálica de los objetos gráficos

¿Qué haría si de repente se borraran los paneles gráficos de control, o alguien los modificara? En este artículo enseñamos a evitar las situaciones donde el gráfico se puede quedar con objectos sin dueño. Las controlaremos cuando, tras eliminar la aplicación, los objetos se renombran o se borran programáticamente.
preview
Redes neuronales: así de sencillo (Parte 7): Métodos de optimización adaptativos

Redes neuronales: así de sencillo (Parte 7): Métodos de optimización adaptativos

En artículos anteriores, hemos usado el descenso de gradiente estocástico para entrenar una red neuronal utilizando una única tasa de aprendizaje para todas las neuronas de la red. En este artículo, proponemos al lector buscar métodos de aprendizaje adaptativo que nos permitan modificar la tasa de aprendizaje de cada neurona. Vamos a echar un vistazo a las ventajas y desventajas de este enfoque.
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.
preview
Desarrollo de un Asesor Experto (EA) en MQL5 basado en la estrategia de ruptura del rango de consolidación

Desarrollo de un Asesor Experto (EA) en MQL5 basado en la estrategia de ruptura del rango de consolidación

Este artículo describe los pasos para crear un Asesor Experto (EA) que aproveche las rupturas de precios después de los períodos de consolidación. Al identificar rangos de consolidación y establecer niveles de ruptura, los operadores pueden automatizar sus decisiones comerciales basándose en esta estrategia. El Asesor Experto tiene como objetivo proporcionar puntos de entrada y salida claros y evitar rupturas falsas.
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.
Controles gráficos personalizados. Parte 2. Librería de control
Controles gráficos personalizados. Parte 2. Librería de control

Controles gráficos personalizados. Parte 2. Librería de control

El segundo artículo de la serie "Controles gráficos personalizados" introduce una librería de control para gestionar los principales problemas que surgen en la interacción del programa (Expert Advisor, script, indicador) con el usuario. La librería contiene un gran número de clases ((CInputBox, CSpinInputBox, CCheckBox, CRadioGroup, CVSсrollBar, CHSсrollBar, CList, CListMS, CComBox, CHMenu, CVMenu, CHProgress, CDialer, CDialerInputBox, CTable) y ejemplos de su uso.
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?
Construir un analizador de espectro
Construir un analizador de espectro

Construir un analizador de espectro

Este artículo pretende que sus lectores se familiaricen con una posible variante del uso de los objetos gráficos en el lenguaje MQL5. Analiza un indicador que implementa un panel para la gestión de un analizador de espectro simple usando objetos gráficos. El artículo va dirigido a los lectores que están familiarizados con los conceptos básicos de MQL5.
Creando un EA gradador multiplataforma (Parte II): Cuadrícula en el rango en la dirección de la tendencia
Creando un EA gradador multiplataforma (Parte II): Cuadrícula en el rango en la dirección de la tendencia

Creando un EA gradador multiplataforma (Parte II): Cuadrícula en el rango en la dirección de la tendencia

Hoy trataremos de desarrollar un EA gradador para trabajar en el rango en la dirección de la tendencia. Será usado para los instrumentos de Forex o para los mercados de materias primas. Según las pruebas, nuestro EA gradador demostraba las ganancias desde el año 2018. El mal consiste en que demostraba pérdidas constantes de 2014 a 2018.
preview
Kit de herramientas de negociación MQL5 (Parte 1): Desarrollo de una biblioteca EX5 de gestión de posiciones

Kit de herramientas de negociación MQL5 (Parte 1): Desarrollo de una biblioteca EX5 de gestión de posiciones

Aprenda a crear un conjunto de herramientas de desarrollador para gestionar diversas operaciones de posición con MQL5. En este artículo, demostraré cómo crear una librería de funciones (ex5) que realizarán operaciones de gestión de posiciones simples a avanzadas, incluyendo el manejo automático y la notificación de los diferentes errores que surgen al tratar con tareas de gestión de posiciones con MQL5.
Uso de MetaTrader 5 como proveedor de señales comerciales para MetaTrader 4
Uso de MetaTrader 5 como proveedor de señales comerciales para MetaTrader 4

Uso de MetaTrader 5 como proveedor de señales comerciales para MetaTrader 4

En este artículo se discuten las particularidades del uso de MetaTrader 5 como proveedor de señales comerciales para MetaTrader 4. Ustedes conocerán cómo crear un sencillo proveedor de señales desde MetaTrader 5 y cómo conectarlo a varios terminales MetaTrader 4. Además, conocerán cómo copiar en tiempo real las transacciones de los participantes de Automated Trading Championship a su cuenta real en MetaTrader 4.
Trading social en las plataformas comerciales MetaTrader 4 y MetaTrader 5
Trading social en las plataformas comerciales MetaTrader 4 y MetaTrader 5

Trading social en las plataformas comerciales MetaTrader 4 y MetaTrader 5

¿Qué es el trading social? Es el trabajo conjunto y mútuamente beneficioso realizado entre traders e inversores: los traders de éxito ceden su tráfico comercial para la monitorización, y los inversores potenciales, de esta forma, pueden hacer un seguimiento de sus éxitos y copiar las operaciones del trader que más les guste.
Gráfico PairPlot basado en CGraphic para analizar correlaciones entre los arrays de datos (series temporales)
Gráfico PairPlot basado en CGraphic para analizar correlaciones entre los arrays de datos (series temporales)

Gráfico PairPlot basado en CGraphic para analizar correlaciones entre los arrays de datos (series temporales)

En el proceso del análisis técnico, a menudo a los traders se les plantea la tarea de comparar varias series temporales. La realización de este análisis requiere las herramientas correspondientes. En este artículo, yo propongo desarrollar una herramienta para el análisis gráfico y la búsqueda de las correlaciones entre dos y más series temporales.
Trademinator 3: el auge de las máquinas de trading
Trademinator 3: el auge de las máquinas de trading

Trademinator 3: el auge de las máquinas de trading

En el artículo "Dr. Tradelove..." creamos un Expert Advisor que optimiza independientemente los parámetros del sistema de trading preseleccionado. Además, decidimos crear un Expert Advisor que no solo pudiera optimizar los parámetros de un sistema de trading subyacente al EA, sino también elegir el mejor de varios sistemas de trading. Vamos a ver qué sale de esto...
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXV): Procesando los errores retornados por el servidor comercial
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXV): Procesando los errores retornados por el servidor comercial

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXV): Procesando los errores retornados por el servidor comercial

Después de enviar una orden comercial al servidor, no deberíamos pensar que "ya está todo hecho", ya que ahora tendremos que comprobar los códigos de error, o bien la ausencia de los mismos. En el presente artículo, vamos a implementar el procesamiento de los errores retornados por el servidor comercial, preparando asimismo la base para crear solicitudes comerciales pendientes.
Guía práctica de MQL5: Controles de la subventana del indicador: Barra de desplazamiento
Guía práctica de MQL5: Controles de la subventana del indicador: Barra de desplazamiento

Guía práctica de MQL5: Controles de la subventana del indicador: Barra de desplazamiento

Vamos a continuar explorando los diversos controles y esta vez nos centraremos en la barra de desplazamiento. Al igual que en el artículo anterior llamado "Guía práctica de MQL5: Controles de la subventana del indicador: Botones", todas las operaciones se llevarán a cabo en la subventana del indicador. Tome un momento para leer el artículo mencionado anteriormente, ya que proporciona una descripción detallada de la utilización de eventos en la función OnChartEvent(), asimismo, se verá este punto muy por encima en este artículo. Con fines ilustrativos, esta vez vamos a crear una barra de desplazamiento vertical para una larga lista de todas las propiedades de los instrumentos financieros que se puedan obtener mediante los recursos de MQL5.
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.
preview
Cómo convertirse en un proveedor de señales exitoso en MQL5.com

Cómo convertirse en un proveedor de señales exitoso en MQL5.com

El objetivo principal de este artículo es mostrar un camino sencillo y pormenorizado para convertirse en el mejor proveedor de señales en MQL5.com. Basándome en mis conocimientos y experiencia, explicaré lo que cualquier proveedor de señales necesita para tener éxito, incluido cómo encontrar, probar y optimizar una buena estrategia. Además, le ofreceré consejos sobre cómo publicar su señal, escribir una descripción convincente y realizar una promoción y gestión efectivas.
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.
Libro de Recetas MQL5: Analizar Propiedades de Posición en el Probador de Estrategias de MetaTrader 5
Libro de Recetas MQL5: Analizar Propiedades de Posición en el Probador de Estrategias de MetaTrader 5

Libro de Recetas MQL5: Analizar Propiedades de Posición en el Probador de Estrategias de MetaTrader 5

En esta ocasión presentaremos una versión modificada del Asesor Experto del artículo anterior "MQL5 Cookbook: Position Properties on the Custom Info Panel" (“Propiedades de Posición en el Panel de Información Personalizada”). Algunos de los aspectos a los que nos referiremos incluyen la obtención de datos de barras, la comprobación de eventos de barra nueva en el símbolo actual, la inclusión de una clase de trading de la Biblioteca Estándar a un archivo, la creación de una función para buscar señales de trading, y una función para ejecutar operaciones de trading, así como para terminar eventos de trading en la función OnTrade().
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.
Guía práctica de MQL5: Desarrollo de un indicador de volatilidad multisímbolo en MQL5
Guía práctica de MQL5: Desarrollo de un indicador de volatilidad multisímbolo en MQL5

Guía práctica de MQL5: Desarrollo de un indicador de volatilidad multisímbolo en MQL5

En este artículo, trataremos el desarrollo de un indicador de volatilidad multisímbolo. El desarrollo de los indicadores multisímbolo puede presentar algunas dificultades para los desarrolladores novatos de MQL5 que este artículo ayudará a aclarar. Los temas importantes que aparecerán a lo largo del desarrollo de un indicador multisímbolo tendrán que ver con la sincronización de otros símbolos respecto al símbolo actual, la falta de algunos datos de los indicadores y la identificación del principio de las barras "true" (verdaderas) en un periodo de tiempo determinado. Se tendrán en cuenta de cerca todas estas cuestiones en este artículo.
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
Algoritmos de optimización de la población: Algoritmo de optimización de cuco (Cuckoo Optimization Algorithm — COA)

Algoritmos de optimización de la población: Algoritmo de optimización de cuco (Cuckoo Optimization Algorithm — COA)

El siguiente algoritmo que analizaremos será la optimización de la búsqueda de cuco usando los vuelos de Levy. Este es uno de los últimos algoritmos de optimización, así como el nuevo líder en la clasificación.
preview
Aprendiendo a diseñar un sistema de trading con VIDYA

Aprendiendo a diseñar un sistema de trading con VIDYA

Bienvenidos a un nuevo artículo de la serie dedicada a la creación de sistemas comerciales basados en indicadores técnicos populares. En este artículo hablaremos sobre el indicador VIDYA (Variable Index Dynamic Average) y crearemos un sistema comercial basado en sus lecturas.
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.
preview
Optimización móvil continua (Parte 2): Mecanismo de creación de informes de optimización para cualquier robot

Optimización móvil continua (Parte 2): Mecanismo de creación de informes de optimización para cualquier robot

Si el primer artículo de la serie estaba dedicado a la creación de la biblioteca DLL que utilizaremos en nuestro optimizador automático y en el robot, este estará completamente dedicado al lenguaje MQL5.
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.
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.