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
Libro de Recetas MQL5: Escribir el Historial de Transacciones y Crear Gráficos de Saldo para cada Símbolo en Excel
Libro de Recetas MQL5: Escribir el Historial de Transacciones y Crear Gráficos de Saldo para cada Símbolo en Excel

Libro de Recetas MQL5: Escribir el Historial de Transacciones y Crear Gráficos de Saldo para cada Símbolo en Excel

Al explicar mis ideas en varios foros, a menudo utilizo ejemplos de mis resultados de simulación en forma de capturas de pantalla de gráficos de Microsoft Excel. Muchas veces me ha llegado la pregunta de cómo se pueden crear estos gráficos. Ahora por fin tengo algo de tiempo para explicarlo todo en este artículo.
preview
Optimización móvil continua (Parte 7): Encajando la parte lógica del optimizador automático con la parte gráfica y el control de la misma desde el programa

Optimización móvil continua (Parte 7): Encajando la parte lógica del optimizador automático con la parte gráfica y el control de la misma desde el programa

Este artículo es el penúltimo de la serie, y describe cómo encajar la parte gráfica del programa del optimizador automático con su parte lógica. En él, analizaremos el proceso de inicio y optimización, comenzando por la pulsación del botón y terminando el redireccionamiento al gestor de optimizaciones.
preview
SQLite: trabajo nativo con bases de datos en SQL en MQL5

SQLite: trabajo nativo con bases de datos en SQL en MQL5

El desarrollo de estrategias comerciales está relacionado con el procesamiento de grandes volúmenes de datos. Ahora, usted podrá trabajar directamente en MQL5 con bases de datos con la ayuda de solicitudes SQL basadas en SQLite. Una ventaja importante de este motor es que toda la base de datos se encuentra en un único archivo estándar, ubicado en la computadora del usuario.
Método de construcción de los niveles de resistencia y apoyo con los recursos de MQL5
Método de construcción de los niveles de resistencia y apoyo con los recursos de MQL5

Método de construcción de los niveles de resistencia y apoyo con los recursos de MQL5

En este artículo se describe la manera de encontrar los cuatro puntos extremos para, partiendo de ellos, construir acto seguido los niveles de resistencia y apoyo. Para encontrar los extremos en el gráfico de la pareja de divisas, se usa el incador RSI. Como ejemplo, se muestra el código de un indicador que representa los niveles de resistencia y apoyo.
Usar WinInet.dll para el intercambio de datos entre terminales por internet
Usar WinInet.dll para el intercambio de datos entre terminales por internet

Usar WinInet.dll para el intercambio de datos entre terminales por internet

En este artículo se describen los principios para trabajar con internet mediante las peticiones HTTP y el intercambio de datos entre terminales, usando un servidor intermedio. Se presenta una clase de la librería MqlNet para trabajar con los recursos de internet en el entorno MQL5. Seguir los precios por distintos brokers, intercambiar mensajes con otros traders sin salir del terminal, buscar informaciones en internet; estos son solamente algunos ejemplos que se repasan en este artículo.
Gap - ¿una estrategia rentable o 50/50?
Gap - ¿una estrategia rentable o 50/50?

Gap - ¿una estrategia rentable o 50/50?

La investigación de la aparición de gaps se relaciona con la situación en la que se da una diferencia sustancial entre el precio de cierre del marco temporal anterior y el precio de apertura del siguiente, así como en la dirección en la que irá la barra diaria. Uso de la función DLL GetOpenFileName de sistema.
Aplicar un Indicador a Otro
Aplicar un Indicador a Otro

Aplicar un Indicador a Otro

Al escribir un indicador que usa la forma corta de la llamada de función OnCalculate(), puede que no se dé cuenta del hecho de que un indicador se puede calcular no solo por datos de precio, sino también por datos de otro indicador (independientemente de si viene incorporado o es personalizado). ¿Desea mejorar un indicador para su correcta aplicación a los datos del otro indicador? En este artículo, revisaremos todos los pasos para realizar tal modificación.
Análisis de los gráficos del Balance/Equidad usando los símbolos y ORDER_MAGIC de los Asesores Expertos
Análisis de los gráficos del Balance/Equidad usando los símbolos y ORDER_MAGIC de los Asesores Expertos

Análisis de los gráficos del Balance/Equidad usando los símbolos y ORDER_MAGIC de los Asesores Expertos

Cuando la cobertura (hedging) fue introducida en MetaTrader 5, apareció una perfecta oportunidad de negociar simultáneamente con varios Asesores Expertos en la misma cuenta. Además, puede surgir la situación cuando una estrategia es rentable, mientras que la otra trae pérdidas, y al final el gráfico del beneficio baila alrededor de cero. En este caso, es útil construir los gráficos del Balance y la Equidad para cada estrategia comercial por separado.
Desarrollando las interfaces gráficas a base de .Net Framework e C# (Parte 2): Elementos gráficos adicionales
Desarrollando las interfaces gráficas a base de .Net Framework e C# (Parte 2): Elementos gráficos adicionales

Desarrollando las interfaces gráficas a base de .Net Framework e C# (Parte 2): Elementos gráficos adicionales

Este artículo es una continuación lógica de la publicación anterior «Desarrollando las interfaces gráficas para los Asesores Expertos e indicadores a base de .Net Framework y C#» y familiariza a los lectores con nuevos elementos gráficos para crear las interfaces gráficas.
MQL5 Wizard: Nueva Versión
MQL5 Wizard: Nueva Versión

MQL5 Wizard: Nueva Versión

Este artículo contiene descripciones de los nuevos elementos disponibles en el MQL5 Wizard actualizado. La arquitectura actualizada de señales nos permite crear robots de trading basados en la combinación de varios patrones de mercado. El ejemplo que contiene este artículo explica el procedimiento de creación interactiva de un Asesor Experto.
preview
Aplicación práctica de las redes neuronales en el trading. Python (Parte I)

Aplicación práctica de las redes neuronales en el trading. Python (Parte I)

En este artículo, analizaremos paso a paso la implementación de un sistema comercial basado en la programación de redes neuronales profundas en Python. Para ello, usaremos la biblioteca de aprendizaje automático TensorFlow, desarrollada por Google. Para describir las redes neuronales, utilizaremos la biblioteca de Keras.
Integración de un experto en MQL y bases de datos (SQL Server, .NET y C#)
Integración de un experto en MQL y bases de datos (SQL Server, .NET y C#)

Integración de un experto en MQL y bases de datos (SQL Server, .NET y C#)

El artículo describe cómo añadir a los expertos en MQL5 la posibilidad de trabajar con el servidor de bases de datos Microsoft SQL Server. Usaremos la importación de funciones de DLL. Para crear la DLL, se utilizará la plataforma Microsoft .NET y el lenguaje C#. Los métodos utilizados en el artículo, aunque con algunos cambios poco significativos, funcionan también para los expertos escritos en MQL4.
Trabajando con los resultados de la optimización mediante la interfaz gráfica
Trabajando con los resultados de la optimización mediante la interfaz gráfica

Trabajando con los resultados de la optimización mediante la interfaz gráfica

Continuamos desarrollar el tema del procesamiento y el análisis de los resultados de la optimización. Ahora nuestra tarea consiste en seleccionar 100 mejores resultados de la optimización y mostrarlos en la tabla de la interfaz gráfica. Hagamos que el usuario obtenga el gráfico del balance de multisímbolos y de la reducción (drawdown) en gráficos separados seleccionando una fila de la tabla de los resultados de la optimización.
Análisis de las Características Principales de las Series Cronológicas
Análisis de las Características Principales de las Series Cronológicas

Análisis de las Características Principales de las Series Cronológicas

Este artículo presenta una clase diseñada para dar un cálculo rápido preliminar de características de varias series cronológicas. Mientras esto se lleva a cabo se calculan parámetros estadísticos y la función de autocorrelación, se lleva a cabo un cálculo espectral de series cronológicas y se construye un histograma.
Estudio de técnicas de análisis de velas (Parte III): Biblioteca para el trabajo con patrones
Estudio de técnicas de análisis de velas (Parte III): Biblioteca para el trabajo con patrones

Estudio de técnicas de análisis de velas (Parte III): Biblioteca para el trabajo con patrones

El objetivo de este artículo es crear una herramienta personalizada que nos permita obtener y usar la matriz completa de información sobre los patrones vistos anteriormente. Para ello, desarrollaremos una biblioteca que podremos utilizar en nuestros indicadores, paneles comerciales, expertos, etc.
Indicador para la representación del gráfico Kagi
Indicador para la representación del gráfico Kagi

Indicador para la representación del gráfico Kagi

En este artículo se propone un indicador del gráfico Kagi con varias opciones de trazado y funciones adicionales. Además, se tiene en cuenta el principio de representación gráfica del indicador y las características de su implementación en MQL5. Los casos más conocidos de su implementación en el trading se muestran en la estrategia de intercambio Yin/Yang, alejándose de la línea de tendencia y aumentando los "hombros" o disminuyendo las "cinturas" de manera coherente.
Estudio de las figuras técnicas de Merrill
Estudio de las figuras técnicas de Merrill

Estudio de las figuras técnicas de Merrill

En el presente artículo, vamos a analizar el modelo de las figuras técnicas de Merrill, e intentaremos averiguar hasta qué punto estos patrones técnicos son útiles hoy en día. Para este propósito, crearemos una herramienta para testearlos y aplicaremos este modelo a diferentes tipos de datos, a saber: precio de cierre, sus máximos y mínimos, indicadores del tipo oscilatorio.
Optimización controlable: el método del recocido
Optimización controlable: el método del recocido

Optimización controlable: el método del recocido

En el simulador de estrategias de la plataforma comercial MetaTrader 5 solo existen dos variantes de optimización: la iteración completa de parámetros y el algoritmo genético. En este artículo se propone una nueva variante de optimización de estrategias comerciales: el método del recocido. Se muestra el algoritmo del método, su implementación y su método de inclusión en cualquier asesor. El algoritmo desarrollado se ha puesto a prueba con el asesor Moving Average.
Controles gráficos personalizados. Parte 1: Creando un control simple
Controles gráficos personalizados. Parte 1: Creando un control simple

Controles gráficos personalizados. Parte 1: Creando un control simple

Este artículo trata los principios generales del desarrollo de controles gráficos. Vamos a preparar herramientas para un trabajo rápido y adecuado con objetos gráficos, analizar un ejemplo de creación de un control simple para introducir texto o datos numéricos, así como las distintas formas de usarlo.
Cómo escribir una profundidad de mercado de scalping usando como base la biblioteca CGraphic
Cómo escribir una profundidad de mercado de scalping usando como base la biblioteca CGraphic

Cómo escribir una profundidad de mercado de scalping usando como base la biblioteca CGraphic

En este artículo se creará la funcionalidad básica de la profundidad de mercado de scalping. También se desarrollará un gráfico de ticks basado en la biblioteca gráfica CGraphic y se integrará con el recuadro de órdenes. Con la ayuda de la profundidad de mercado descrita se podrá crear un potente asistente para el comercio a corto plazo.
El método óptimo para el cálculo del volumen total de una posición mediante un número mágico determinado
El método óptimo para el cálculo del volumen total de una posición mediante un número mágico determinado

El método óptimo para el cálculo del volumen total de una posición mediante un número mágico determinado

En este artículo se analiza el problema del cálculo del volumen total de la posición de un determinado símbolo y número mágico. El método propuesto requiere solamente la parte estrictamente necesaria del historial de las transacciones, encuentra el tiempo más próximo cuando el total de la posición es igual a cero, y lleva a cabo los cálculos con las últimas transacciones. También se analiza el trabajo del terminal de cliente con variables globales.
Oscilador universal con interfaz gráfica
Oscilador universal con interfaz gráfica

Oscilador universal con interfaz gráfica

En el artículo se describe la creación de un indicador universal basado en todos los osciladores del terminal con una interfaz gráfica propia. Esto permitirá cambiar de forma rápida y cómoda los parámetros de cada oscilador por separado, directamente desde la ventana del gráfico (y sin abrir la ventana de propiedades), comparar sus índices y elegir el óptimo para usted para una tarea concreta.
Modelado 3D en MQL5
Modelado 3D en MQL5

Modelado 3D en MQL5

Una serie temporal es un sistema dinámico en el que los valores de una cierta magnitud aleatoria llegan de forma consecutiva: ininterrumpidamente o tras un cierto intervalo temporal. El paso del análisis plano del mercado al análisis con volumen permitirá mirar de una forma nueva a los complejos procesos y manifestaciones que interesan al investigador. En el artículo se describen las funciones de visualización de la representación 3-D de datos bidimensionales.
Moving Mini-Max (Minimax móvil): un nuevo indicador de análisis técnico y su implementación en MQL5
Moving Mini-Max (Minimax móvil): un nuevo indicador de análisis técnico y su implementación en MQL5

Moving Mini-Max (Minimax móvil): un nuevo indicador de análisis técnico y su implementación en MQL5

En este artículo voy a describir el proceso de implementación del indicador Moving Mini-Max basado en el artículo publicado por Z.G. Silagadze "Movig Mini-Max: un nuevo indicador para el análisis técnico". El concepto de este indicador se basa en la simulación del fenómeno del túnel cuántico, propuesto por G. Gamov en la teoría de la desintegración alfa.
Trading bidireccional y cobertura (hedging) de posiciones en MetaTrader 5 usando API HedgeTerminal, Parte 2
Trading bidireccional y cobertura (hedging) de posiciones en MetaTrader 5 usando API HedgeTerminal, Parte 2

Trading bidireccional y cobertura (hedging) de posiciones en MetaTrader 5 usando API HedgeTerminal, Parte 2

En este artículo se describe el nuevo enfoque en las cuestiones de la cobertura (hedging) de posiciones y se pone punto en las discusiones entre los usuarios de MetaTrader 4 y MetaTrader 5 sobre esta materia. Es la continuación de la primera parte: “Trading bidireccional y cobertura (hedging) de posiciones en MetaTrader 5 usando el panel HedgeTerminal, Parte 1”. En la segunda parte se describe la integración de los EAs personalizados con HedgeTerminalAPI, una biblioteca especial de virtualización que permite tradear bidireccionalmente estando en un entorno cómodo que permite gestionar sus posiciones de una manera sencilla y clara.
preview
Aplicación práctica de las redes neuronales en el trading. Pasamos a la práctica

Aplicación práctica de las redes neuronales en el trading. Pasamos a la práctica

En el presente artículo, ofrecemos la descripción y las instrucciones del uso práctico de los módulos de red neuronal en la plataforma Matlab. Asimismo, comentaremos los aspectos principales de la construcción de un sistema comercial con uso de modelos de redes neuronales (RN). Para que resulte más fácil familiarizarse con el complejo de elementos comprimidos para el presente artículo, hemos tenido que modernizarlo de forma que se puedan compatibilizar varias funciones del modelo de RN.
Trabajando con sockets en MQL, o Cómo convertirse en proveedor de señales
Trabajando con sockets en MQL, o Cómo convertirse en proveedor de señales

Trabajando con sockets en MQL, o Cómo convertirse en proveedor de señales

Los sockets... ¿Qué podría existir sin ellos en este mundo de información? Aparecieron por primera vez en 1982 y prácticamente no han cambiado hasta el día de hoy, siguen funcionando para nosotros cada segundo. Son la base de una red, las terminaciones nerviosas del Matrix en el que vivimos.
preview
Redes neuronales: así de sencillo (Parte 2): Entrenamiento y prueba de la red

Redes neuronales: así de sencillo (Parte 2): Entrenamiento y prueba de la red

En el presente artículo, proseguiremos nuestro estudio de las redes neuronales, iniciado en el artículo anterior, y analizaremos un ejemplo de uso en los asesores de la clase CNet que hemos creado. Asimismo, analizaremos dos modelos de red neuronal que han mostrado resultados semejantes tanto en su tiempo de entrenamiento, como en la precisión de sus predicciones.
preview
Gestionando el Horario (Parte 1): Fundamentos

Gestionando el Horario (Parte 1): Fundamentos

Funciones y fragmentos de código que simplifican y aclaran el manejo del tiempo, la diferencia con el bróker y los cambios en el horario de verano o invierno. La sincronización precisa puede ser un elemento crucial en el trading. A la hora actual, ¿la bolsa de valores de Londres o Nueva York está ya abierta o sigue cerrada? ¿Cuándo comienza y finaliza el horario comercial para el trading en Fórex? Para un tráder que comercia de forma manual y en vivo, esto no supone un gran problema.
Localización automática de extremos basada en un salto de precio establecido
Localización automática de extremos basada en un salto de precio establecido

Localización automática de extremos basada en un salto de precio establecido

Al automatizar estrategias comerciales que usen modelos gráficos, es necesario encontrar los extremos en los gráficos para su posterior procesamiento e interpretación. Los instrumentos existentes no siempre dan la posibilidad de hacer esto. Los algoritmos presentados en el artículo permiten encontrar todos los extremos en los gráficos. Los instrumentos desarrollados son igualmente efectivos tanto para trabajar en el mercado de tendencia, como para el movimiento lateral. Los datos obtenidos dependen en poca medida del marco temporal elegido, y se definen solo por la escala establecida.
Cómo reducir el gasto de memoria en los indicadores auxiliares
Cómo reducir el gasto de memoria en los indicadores auxiliares

Cómo reducir el gasto de memoria en los indicadores auxiliares

Si el indicador implica en sus cálculos los valores de muchos otros indicadores, este tipo de sistema gastará mucha memoria. En el artículo veremos varias maneras de reducir el gasto de memoria al usar los indicadores auxiliares. La memoria ahorrada le permitirá aumentar el número de parejas de divisas, de indicadores y estrategias usadas de manera simultánea en el terminal, incrementando así la fiabilidad de su portfolio comercial. De este modo, esta pequeña gestión de los recursos de su computadora es capaz de convertirse en recursos materiales para su propio uso.
Recetas de estadística para el trader - Hipótesis
Recetas de estadística para el trader - Hipótesis

Recetas de estadística para el trader - Hipótesis

En este artículo se estudia un concepto básico de la matemática estadística, la "hipótesis". Con ejemplos, aplicando métodos de matemática estadística, investigaremos y comprobaremos diferentes hipótesis. Se hacen generalizaciones de los datos reales con ayuda de métodos no paramétricos. Al procesar los datos, se usa el paquete Statistica la biblioteca portable de análisis numérico ALGLIB MQL5.
preview
¡Visualice esto! La biblioteca gráfica en MQL5 como un análogo de plot en el lenguaje R

¡Visualice esto! La biblioteca gráfica en MQL5 como un análogo de plot en el lenguaje R

A la hora de investigar y estudiar patrones, la representación visual con la ayuda de gráficos juega un papel fundamental. En los lenguajes populares de programación en la comunidad científica, tales como R y Python, para la visualización se usa la función especial plot. Con su ayuda, es posible dibujar líneas, gráficos de dispersión e histogramas para visualizar patrones. En MQL5 usted puede hacer lo mismo con la ayuda de la clase CGraphics.
LifeHack para tráders: cocinamos ForEach usando #define
LifeHack para tráders: cocinamos ForEach usando #define

LifeHack para tráders: cocinamos ForEach usando #define

Un escalón intermedio para aquellos que aún escriben en MQL4, pero todavía no han dado el salto a MQL5. Vamos a continuar buscando posibilidades para escribir código en el estilo MQL4. En esta ocasión, analizaremos la macrosustitución del preprocesador - #define.
Fundamentos de programación en MQL5 - Listas
Fundamentos de programación en MQL5 - Listas

Fundamentos de programación en MQL5 - Listas

La nueva versión del lenguaje de programación de estrategias comerciales -MQL [MQL5]- dispone de un conjunto de herramientas más eficaz y potente en comparación con la versión anterior [MQL4]. En primer lugar, esta ventaja se refiere a los medios de programación orientada a objetos. Este artículo se ocupa de la posibilidad del uso del tipo de datos personalizado, correspondiente al tipo complejo, como los nodos y las listas. Se pone el ejemplo del uso de las listas durante la programación de las tareas prácticas en MQL5.
preview
Uso de los recursos en MQL5

Uso de los recursos en MQL5

Los programas MQL5 no solo automatizan cálculos rutinarios, sino que también pueden crear un entorno gráfico completo. Las funciones para crear controles realmente interactivos son ahora virtualmente tan ricas como las de los lenguajes de programación. Si desea escribir un programa entero e independiente en MQL5, use los recursos disponibles en ellos. Los programas con recursos son más fáciles de mantener y distribuir.
Los miembros más activos de la comunidad MQL5 ¡han sido premiados con iPhones!
Los miembros más activos de la comunidad MQL5 ¡han sido premiados con iPhones!

Los miembros más activos de la comunidad MQL5 ¡han sido premiados con iPhones!

Después de que decidiéramos premiar a los participantes más destacados de MQL5.com, hemos seleccionado el criterio clave para determinar la contribución de cada participante al desarrollo de la Comunidad. Como resultado, tenemos los siguientes campeones que publicaron la mayor cantidad de artículos en la website - investeo (11 artículos) y victorg (10 artículos) y quien envió sus programas a la Base de Código - GODZILLA (340 programas), Integer (61 programas) y abolk (21 programas).
Teoría de probabilidad y estadística matemática con ejemplos (Parte I): Fundamentos y teoría elemental
Teoría de probabilidad y estadística matemática con ejemplos (Parte I): Fundamentos y teoría elemental

Teoría de probabilidad y estadística matemática con ejemplos (Parte I): Fundamentos y teoría elemental

El trading siempre ha estado relacionado con la toma de decisiones en condiciones de incertidumbre. Esto significa que los resultados de las decisiones tomadas no son totalmente obvios en el momento en que se toman. Por este motivo, resultan importantes los enfoques teóricos sobre la construcción de los modelos matemáticos que permiten describir estas situaciones ofreciendo información relevante e ilustrativa.
LifeHack para tráders: un back test está bien, pero cuatro están mucho mejor
LifeHack para tráders: un back test está bien, pero cuatro están mucho mejor

LifeHack para tráders: un back test está bien, pero cuatro están mucho mejor

A cualquier tráder le surge la misma pregunta antes de la primera simulación: "¿cuál de los cuatro modos debo utilizar?" Cada uno de los modos propuestos tiene sus ventajas y peculiaridades, por eso haremos la tarea más simple, ¡iniciaremos todos los modos a la vez con solo un botón! En el artículo se muestra cómo con la ayuda de Win API y un poco de magia se pueden ver los cuatro gráficos de simulación.
Interfaces gráficas I: Funciones para los botones del formulario y eliminación de los elementos de la interfaz (Capítulo 4)
Interfaces gráficas I: Funciones para los botones del formulario y eliminación de los elementos de la interfaz (Capítulo 4)

Interfaces gráficas I: Funciones para los botones del formulario y eliminación de los elementos de la interfaz (Capítulo 4)

En el presente artículo vamos a continuar desarrollando la clase CWindow. La clase será ampliada con los métodos que permitirán gestionar el formulario haciendo clics en sus controles. Vamos a implementar la posibilidad de cerrar el programa usando el botón en el formulario, así como minimizar y maximizar el formulario en caso de necesidad.