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
Ampliación de la librería estándar de MQL5 y la reutilización del código
Ampliación de la librería estándar de MQL5 y la reutilización del código

Ampliación de la librería estándar de MQL5 y la reutilización del código

La librería estándar de MQL5 le facilita la vida como desarrollador. No obstante, no abarca todas las necesidades de todos los desarrolladores del mundo, con lo cual querrá tener a su disposición más material personalizado para dar un paso más y ampliarla. En este artículo, se describe la integración del indicador técnico Zig-Zag de MetaQuotes en la librería estándar. Para conseguir nuestro objetivo, nos hemos basado en la filosofía de diseño de MetaQuotes.
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.
preview
Desarrollo de un EA comercial desde cero (Parte 25): Dotando de robustez al sistema (II)

Desarrollo de un EA comercial desde cero (Parte 25): Dotando de robustez al sistema (II)

Aquí terminaremos de dar un empujón en el rendimiento del EA... así que prepárense para una larga lectura. Lo primero que haremos para que nuestro EA sea robusto es eliminar del código todo y absolutamente todo lo que no forme parte del sistema comercial.
Experto comercial universal: Las estrategias de usuario y las clases comerciales auxiliares (Parte 3)
Experto comercial universal: Las estrategias de usuario y las clases comerciales auxiliares (Parte 3)

Experto comercial universal: Las estrategias de usuario y las clases comerciales auxiliares (Parte 3)

En este artículo continuamos con la descripción de los algoritmos del motor comercial CStrategy. En la tercera parte de esta serie de artículos se analizan con detalle ejemplos de escritura de estrategias comerciales específicas que utilizan este enfoque. Además, se presta gran atención a los algoritmos auxiliares: el sistema de registro y el acceso a los datos bursátiles con la ayuda de un indexador convencional (Close[1], Open[0], etc.).
preview
Cómo construir un EA que opere automáticamente (Parte 12): Automatización (IV)

Cómo construir un EA que opere automáticamente (Parte 12): Automatización (IV)

Si crees que los sistemas automatizados son sencillos, eso indica que aún no has entendido del todo lo necesario para crearlos. En este texto, hablaremos de un problema al que se enfrentan muchos Expert Advisors: la ejecución indiscriminada de órdenes, y de una posible solución a este problema.
Cómo hemos desarrollado el servicio de señales comerciales MetaTrader y el trading social en general
Cómo hemos desarrollado el servicio de señales comerciales MetaTrader y el trading social en general

Cómo hemos desarrollado el servicio de señales comerciales MetaTrader y el trading social en general

Estamos perfeccionando activamente el servicio Señales, deshaciéndonos en el proceso de los anteriores desarrollos e introduciendo cambios en los mecanismos existentes. El MetaTrader Signals de hace dos años y el MetaTrader Signals actual son dos servicios totalmente diferentes.
Sistema de notificaciones de voz para evetos comerciales y señales
Sistema de notificaciones de voz para evetos comerciales y señales

Sistema de notificaciones de voz para evetos comerciales y señales

En nuestros tiempos, los asistentes de voz juegan hace mucho un papel considerable en la vida del hombre, ya sea como navegador, buscador de voz o traductor. Por eso, en el presente artículo trataremos de desarrollar un sistema sencillo y comprensible de notificaciones de voz para los diferentes eventos comerciales, los estados del mercado o las señales de los sistemas comerciales.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXIV): Clase comercial principal - corrección automática de parámetros erróneos
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXIV): Clase comercial principal - corrección automática de parámetros erróneos

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXIV): Clase comercial principal - corrección automática de parámetros erróneos

En el presente artículo, analizaremos el manejador de parámetros erróneos de la orden comercial, mejoraremos la clase comercial básica y también corregiremos el funcionamiento de la clase de eventos comerciales: ahora, todos los eventos comerciales, tanto únicos, como simultáneos en un mismo tick, serán correctamente determinados en los programas.
preview
Buscando patrones estacionales en el mercado de divisas con la ayuda del algoritmo CatBoost

Buscando patrones estacionales en el mercado de divisas con la ayuda del algoritmo CatBoost

En el presente artículo, mostramos la posibilidad de crear modelos de aprendizaje automático con filtros temporales y también descubrimos la efectividad de este enfoque. Ahora, podremos descartar el factor humano, diciéndole simplemente al modelo: "Quiero que comercies a una hora determinada de un día concreto de la semana". Así, podremos delegar en el algoritmo la búsqueda de patrones.
preview
Cómo construir un EA que opere automáticamente (Parte 08): OnTradeTransaction

Cómo construir un EA que opere automáticamente (Parte 08): OnTradeTransaction

En este artículo, te mostraré cómo puedes utilizar el sistema de manejo de eventos para poder procesar con más agilidad y de mejor manera las cuestiones relacionadas con el sistema de órdenes, para que el EA sea más rápido. Así, éste no tendrá que estar buscando información todo el tiempo.
Recetas MQL5 - procesamiento de eventos personalizados del gráfico
Recetas MQL5 - procesamiento de eventos personalizados del gráfico

Recetas MQL5 - procesamiento de eventos personalizados del gráfico

En este artículo vamos a estudiar varios aspectos sobre la confección de proyectos y el procesamiento de los eventos personalizados del gráfico en el entorno MQL5. Se propondrá un ejemplo de aproximación para la clasificación de eventos. Asimismo, se muestra el código de programa de la clase de evento y la clase de procesador de eventos personalizados.
Resultados del Mercado MQL5 en el segundo periodo de 2013
Resultados del Mercado MQL5 en el segundo periodo de 2013

Resultados del Mercado MQL5 en el segundo periodo de 2013

Tras año y medio de exitoso trabajo, el Mercado MQL5 se ha convertido en la tienda más grande de trading de estrategias comerciales e indicadores técnicos. En ella se han publicado cerca de 800 aplicaciones comerciales de 350 desarrolladores de todo el mundo. Además, los traders ya han comprado e instalado en sus terminales MetaTrader 5 más de 100.000 programas comerciales.
El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL. Parte 2
El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL. Parte 2

El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL. Parte 2

En este artículo, presentamos un nuevo concepto para la descripción de la interfaz de ventana de los programas MQL con la ayuda de las construcciones del lenguaje MQL. La creación de GUI basadas en el marcado MQL ofrece una funcionalidad adicional para almacenar la caché y generar de manera dinámica elementos, y también para gestionar los estilos y los nuevos esquemas de procesamiento de eventos. Aquí, ofrecemos la versión mejorada de la biblioteca estándar de los elementos de control.
Aprendiendo a diseñar un sistema comercial basado en el Oscilador Estocástico
Aprendiendo a diseñar un sistema comercial basado en el Oscilador Estocástico

Aprendiendo a diseñar un sistema comercial basado en el Oscilador Estocástico

En este artículo, continuaremos con nuestra serie dedicada al diseño de sistemas comerciales. En esta ocasión, aprenderemos a diseñar un sistema de trading usando uno de los indicadores más útiles y populares, el indicador Oscilador Estocástico, que servirá para construir un nuevo bloque en nuestro conocimiento de los fundamentos.
Cuentos de robots comerciales: ¿mejor poco, pero mejor?
Cuentos de robots comerciales: ¿mejor poco, pero mejor?

Cuentos de robots comerciales: ¿mejor poco, pero mejor?

Hace dos años, en el artículo "La última cruzada" usted y yo, querido lector, vimos juntos un método (bastante interesante y poco usado en la actualidad) de representación de la información en el mercado, el gráfico de punto y forma. Ahora le propongo intentar escribir un robot comercial, basado en patrones que se pueden ver en los gráficos de punto y forma.
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.
Comprendemos la "memoria" del mercado usando la diferenciación y el análisis entrópico
Comprendemos la "memoria" del mercado usando la diferenciación y el análisis entrópico

Comprendemos la "memoria" del mercado usando la diferenciación y el análisis entrópico

El área de la aplicación de la diferenciación fraccionada es bastante amplia. Por ejemplo, los algoritmos del aprendizaje automático normalmente reciben una serie diferencial en la entrada. El problema es que es necesario mostrar los datos nuevos de acuerdo con la historia existente para que el modelo del aprendizaje automático pueda reconocerlos. En este artículo, se considera un enfoque original en la diferenciación de una serie temporal, además, se muestra el ejemplo de un sistema comercial auto-optimizable a base de una serie diferencial obtenida.
Interfaces gráficas VII: Control "Pestañas" (Capítulo 2)
Interfaces gráficas VII: Control "Pestañas" (Capítulo 2)

Interfaces gráficas VII: Control "Pestañas" (Capítulo 2)

En el primer capítulo de la séptima parte han sido presentadas tres clases de los controles para la creación de las tablas: tabla de las etiquetas de texto (CLabelsTable), tabla de los campos de edición (CTable) y la tabla dibujada (CCanvasTable). En este artículo (capítulo 2) hablaremos del control “Pestañas”.
Crear aplicación interactiva para visualizar los canales RSS en MetaTrader 5
Crear aplicación interactiva para visualizar los canales RSS en MetaTrader 5

Crear aplicación interactiva para visualizar los canales RSS en MetaTrader 5

En este artículo se describe cómo crear la aplicación que visualiza los canales RSS. Además, hablaremos sobre los aspectos del uso de la Biblioteca estándar durante la creación de los programas interactivos en MetaTrader 5.
El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL (Parte 3). Diseñador de formas
El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL (Parte 3). Diseñador de formas

El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL (Parte 3). Diseñador de formas

En este artículo, finalizaremos la descripción del nuevo concepto para la construcción de la interfaz de ventana de los programas MQL con la ayuda de las construcciones del lenguaje MQL. El editor gráfico especial permitirá ajustar de forma interactiva una disposición formada por las clases básicas de elementos de GUI, y después exportarla a una descripción MQL para usarla en nuestro proyecto MQL. Asimismo, presentamos la construcción interna del editor y las instrucciones para el usuario. Los códigos fuente se adjuntan al final del artículo.
Modelando series temporales con ayuda de símbolos personalizados según las leyes de distribución establecidas
Modelando series temporales con ayuda de símbolos personalizados según las leyes de distribución establecidas

Modelando series temporales con ayuda de símbolos personalizados según las leyes de distribución establecidas

En el artículo se presenta una panorámica de las posibilidades del terminal a la hora de crear y trabajar con símbolos personalizados, ofreciendo diversas opciones de modelado de la historia comercial con la ayuda de símbolos personalizados, de tendencia y diferentes patrones gráficos.
preview
Desarrollando un EA comercial desde cero (Parte 12): Time and Trade (I)

Desarrollando un EA comercial desde cero (Parte 12): Time and Trade (I)

Vamos a crear un Time & Trade de rápida interpretación para para lectura de flujo ordenes. Esta es la primera parte en la que construiremos este sistema. En el próximo artículo completaremos el sistema con la información que falta, ya que para ello necesitaremos agregar varias cosas nuevas a nuestro código EA.
Desarrollando un algoritmo de autoadaptación (Parte II): Aumentando la efectividad
Desarrollando un algoritmo de autoadaptación (Parte II): Aumentando la efectividad

Desarrollando un algoritmo de autoadaptación (Parte II): Aumentando la efectividad

En este artículo, continuaremos el tema del anterior. No obstante, primero flexibilizaremos el algoritmo desarrollado anteriormente. El algoritmo se ha vuelto más estable, con un aumento en el número de velas en la ventana de análisis o con un aumento en el porcentaje del umbral del preponderancia de velas descendentes o ascendentes. Hemos tenido que llegar a un compromiso y establecer un tamaño de muestra más grande para el análisis o un porcentaje mayor de preponderancia de la vela predominante.
Visualizando la optimización de una estrategia comercial en MetaTrader 5
Visualizando la optimización de una estrategia comercial en MetaTrader 5

Visualizando la optimización de una estrategia comercial en MetaTrader 5

En el artículo se ha implementado una aplicación MQL con interfaz gráfica para la visualización ampliada del proceso de optimización. La interfaz gráfica ha sido creada con la ayuda de la última versión de la biblioteca EasyAndFast. En ocasiones, a muchos usarios les surge la siguiente pregunta: ¿para qué necesitamos las interfaces gráficas en las aplicaciones MQL? En este artículo se muestra uno de los numerosos casos en los que pueden resultar útiles para los tráders.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte III): Colección de órdenes y posiciones de mercado, búsqueda y filtrado
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte III): Colección de órdenes y posiciones de mercado, búsqueda y filtrado

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte III): Colección de órdenes y posiciones de mercado, búsqueda y filtrado

En el primer artículo, comenzamos la creación de una gran biblioteca multiplataforma para construir con facilidad programas en las plataformas MetaTrader 5 y MetaTrader 4. Acto seguido, continuamos el desarrollo de la biblioteca y corregimos las órdenes y transacciones históricas. En esta ocasión, vamos a crear una clase que nos permita elegir y filtrar cómodamente órdenes y posiciones en las listas de colecciones; en concreto, crearemos un objeto básico de la biblioteca, llamado Engine, y añadiremos a la biblioteca una colección de órdenes y posiciones de mercado.
Plantilla para proyectar el MVC y posibilidades de uso (Parte 2): Esquema de interacción entre los tres componentes
Plantilla para proyectar el MVC y posibilidades de uso (Parte 2): Esquema de interacción entre los tres componentes

Plantilla para proyectar el MVC y posibilidades de uso (Parte 2): Esquema de interacción entre los tres componentes

Este artículo continúa y completa el tema planteado en el último artículo: la plantilla MVC en los programas MQL. En este artículo, veremos un posible esquema de interacción entre estos tres componentes.
Interfaces gráficas XI: Integración de la librería gráfica estándar (build 16)
Interfaces gráficas XI: Integración de la librería gráfica estándar (build 16)

Interfaces gráficas XI: Integración de la librería gráfica estándar (build 16)

Desde hace poco tiempo, fue presentada la nueva versión de la librería gráfica para el diseño de los gráficos científicos (clase CGraphic). En esta actualización de la librería para la creación de las interfaces gráficas será presentada la versión con nuevo control para crear los gráficos. Ahora, será aún más fácil visualizar los datos de diferentes tipos.
Diseñar e implementar nuevos widgets GUI basados en la clase CChartObject
Diseñar e implementar nuevos widgets GUI basados en la clase CChartObject

Diseñar e implementar nuevos widgets GUI basados en la clase CChartObject

Tras haber escrito antes un artículo sobre un Expert Advisor semiautomático con un interfaz GUI, me he dado cuenta de la conveniencia de mejorar el interfaz con algunas características nuevas para indicadores y Expert Advisors más complejos. Y después de familiarizarme con las clases de la librería estándar de MQL5, he implementado unos widgets nuevos. En este artículo se describe el proceso de diseño e implementación de nuevos widgets GUI de MQL5, que pueden utilizarse con indicadores y Expert Advisors. Los widgets descritos en este artículo son CChartObjectSpinner, CChartObjectProgressBar y CChartObjectEditTable.
preview
Aproximación por fuerza bruta a la búsqueda de patrones (Parte II): Inmersión

Aproximación por fuerza bruta a la búsqueda de patrones (Parte II): Inmersión

En el presente artículo, continuaremos con el tema de la fuerza bruta. Intentaremos destacar mejor los patrones con la ayuda de la nueva versión mejorada de nuestro programa y trataremos de encontrar la diferencia en la estabilidad usando distintos segmentos temporales y diferentes marcos temporales para las cotizaciones.
Instrumental para el comercio manual rápido: Funcionalidad básica
Instrumental para el comercio manual rápido: Funcionalidad básica

Instrumental para el comercio manual rápido: Funcionalidad básica

En la actualidad, cada vez son más los tráders que dan el salto a los sistemas comerciales automáticos. Muchos de ellos, o bien demandan una configuración inicial, o bien (una parte de los mismos) que los sistemas ya estén totalmente automatizados. No obstante, queda una parte significativa de tráders que comercian manualmente, a la antigua. En este artículo, crearemos un conjunto de herramientas para el comercio automático rápido con la ayuda de atajos de teclado y la ejecución de acciones comerciales rápidas en un solo clic.
Conexión del Asesor Experto con ICQ en MQL5
Conexión del Asesor Experto con ICQ en MQL5

Conexión del Asesor Experto con ICQ en MQL5

Este artículo describe el método de intercambio de información entre el Asesor Experto y usuarios de ICQ, y presenta varios ejemplos. El material facilitado resultará interesante para aquellos que deseen recibir información de trading remotamente de un terminal de cliente, a través de un ICQ client en su teléfono móvil o PDA.
preview
Aproximación por fuerza bruta a la búsqueda de patrones (Parte IV): Funcionalidad mínima

Aproximación por fuerza bruta a la búsqueda de patrones (Parte IV): Funcionalidad mínima

En este artículo, mostraremos una versión mejorada de la fuerza bruta, basada en los objetivos establecidos en el artículo anterior, y trataremos de abarcar este tema de la forma más amplia posible usando los asesores y la configuración obtenidos con este método. También ofreceremos a la comunidad la posibilidad de probar la nueva versión del programa.
preview
Matrices y vectores en MQL5: funciones de activación

Matrices y vectores en MQL5: funciones de activación

En este artículo, describiremos solo uno de los aspectos del aprendizaje automático: las funciones de activación. En las redes neuronales artificiales, las funciones de activación de neuronas calculan el valor de la señal de salida en función de los valores de una señal de entrada o un conjunto de señales de entrada. Hoy le mostraremos lo que hay "debajo del capó".
preview
Algoritmos de optimización de la población: Colonia de abejas artificiales (Artificial Bee Colony - ABC)

Algoritmos de optimización de la población: Colonia de abejas artificiales (Artificial Bee Colony - ABC)

Hoy estudiaremos el algoritmo de colonia de abejas artificiales. Asimismo, complementaremos nuestros conocimientos con nuevos principios para el estudio de los espacios funcionales. En este artículo hablaremos sobre mi interpretación de la versión clásica del algoritmo.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XII): Implementando la clase de objeto "cuenta" y la colección de objetos de cuenta
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XII): Implementando la clase de objeto "cuenta" y la colección de objetos de cuenta

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XII): Implementando la clase de objeto "cuenta" y la colección de objetos de cuenta

En el artículo anterior, definimos los eventos de cierre de posiciones para MQL4 en la biblioteca y eliminamos las propiedades de las órdenes que nos resultaban innecesarias. En el presente artículo, analizaremos la creación del objeto "Cuenta", crearemos una colección de objetos de cuenta y prepararemos la funcionalidad de para monitorear los eventos de las cuentas.
preview
¡200 usd por su artículo de trading algorítmico!

¡200 usd por su artículo de trading algorítmico!

Escriba un artículo y contribuya al desarrollo del trading algorítmico. Comparta su experiencia en el comercio y la programación y le pagaremos 200 dólares. Además, la publicación en el popular sitio web MQL5.com será una gran oportunidad para su promoción personal en el entorno profesional. Le leerán miles de tráders. Podrá debatir sus ideas con personas afines, adquirir nuevas experiencias y rentabilizar sus conocimientos.
preview
Desarrollo de un EA comercial desde cero (Parte 23): Un nuevo sistema de órdenes (VI)

Desarrollo de un EA comercial desde cero (Parte 23): Un nuevo sistema de órdenes (VI)

Haremos más fluido el sistema de ordenes. Aquí les mostraré cómo y dónde hacer cambios en el código para tener algo más fluido que nos permita modificar los límites de posición mucho más rápido.
Algoritmo de autoadaptación (Parte IV): Funcionalidad adicional y pruebas
Algoritmo de autoadaptación (Parte IV): Funcionalidad adicional y pruebas

Algoritmo de autoadaptación (Parte IV): Funcionalidad adicional y pruebas

Seguimos completando el algoritmo con la funcionalidad mínima necesaria y realizando pruebas con el material obtenido. La rentabilidad ha resultado baja, pero los artículos nos muestran un modelo que nos permite comerciar con beneficios de una forma completamente automática con instrumentos comerciales completamente diferentes, y no solo diferentes, sino que también se comercian en mercados fundamentalmente distintos.
Interfaces gráficas XI: Campos de edición y combobox en las celdas de la tabla (build 15)
Interfaces gráficas XI: Campos de edición y combobox en las celdas de la tabla (build 15)

Interfaces gráficas XI: Campos de edición y combobox en las celdas de la tabla (build 15)

En esta actualización de la librería, el control «Tabla» (clase CTable) será completado con nuevas opciones. Vamos a ampliar la gama de los controles en las celdas de la tabla, completándola esta vez con los campos de edición y los combobox. Como adición, a esta actualización ha sido añadida la posibilidad que permite al usuario de la aplicación MQL controlar los tamaños de la ventana durante su ejecución.
preview
Redes neuronales: así de sencillo (Parte 28): Algoritmo de gradiente de políticas

Redes neuronales: así de sencillo (Parte 28): Algoritmo de gradiente de políticas

Continuamos analizando los métodos de aprendizaje por refuerzo. En el artículo anterior, nos familiarizamos con el método de aprendizaje Q profundo, en el que entrenamos un modelo para predecir la próxima recompensa dependiendo de la acción realizada en una situación particular. Luego realizamos una acción según nuestra política y la recompensa esperada, pero no siempre es posible aproximar la función Q, o su aproximación no ofrece el resultado deseado. En estos casos, los métodos de aproximación no se utilizan para funciones de utilidad, sino para una política (estrategia) de acciones directa. Precisamente a tales métodos pertenece el gradiente de políticas o policy gradient.