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
Los estilos de representación en MQL5
Los estilos de representación en MQL5

Los estilos de representación en MQL5

Hay 6 estilos de representación en MQL4 y 18 en MQL5. Por ello, merece la pena dedicar un artículo a una introducción sobre los estilos de representación en MQL5. En este artículo vamos a tratar en profundidad los estilos de representación en MQL5. Además, crearemos un indicador para mostrar estos estilos y configurar el trazado.
Algorítmos genéticos vs. Búsqueda simple en el Optimizador MetaTrader 4
Algorítmos genéticos vs. Búsqueda simple en el Optimizador MetaTrader 4

Algorítmos genéticos vs. Búsqueda simple en el Optimizador MetaTrader 4

El artículo compara el tiempo y los resultados de la optimización del Asesor experto utilizando algoritmos genéticos y los que se obtienen con la búsqueda simple.
Diagramas horizontales en los gráficos de MеtaTrader 5
Diagramas horizontales en los gráficos de MеtaTrader 5

Diagramas horizontales en los gráficos de MеtaTrader 5

El desarrollador a veces se enfrenta a las tareas relacionadas con el dibujado de los diagramas horizontales en el gráfico del terminal, aunque eso no ocurre con frecuencia. ¿De qué tipo de tareas se trata? Se trata de los indicadores de distribución de los volúmenes para un determinado período. Además, son las tares de distribución del precio, diferentes versiones de la profundidad del mercado (Market Depth), etc. En este artículo se consideran las cuestiones de la creación y gestión de los diagramas en los gráficos, como de los arrays de las primitivas gráficas.
Aprendiendo a diseñar un sistema comercial basado en RSI
Aprendiendo a diseñar un sistema comercial basado en RSI

Aprendiendo a diseñar un sistema comercial basado en RSI

En este artículo, hablaremos sobre otro indicador popular y de uso común: RSI. Asimismo, aprenderemos a desarrollar un sistema comercial basado en las lecturas de este indicador.
preview
Análisis de spread Bid/Ask en MetaTrader 5

Análisis de spread Bid/Ask en MetaTrader 5

Un indicador para informar de los niveles de spread Bid/Ask de sus brókeres. Ahora podremos usar los datos de ticks de MT5 para analizar cuál ha sido realmente el promedio histórico real del spread Bid/Ask reciente. No deberíamos necesitar mirar el spread actual, porque está disponible si mostramos las líneas de precio Bid/Ask.
Series temporales de previsión financiera
Series temporales de previsión financiera

Series temporales de previsión financiera

Las series temporales de previsión financiera son un elemento imprescindible para cualquier actividad de inversión. El concepto de invertir, poner dinero ahora para obtener beneficios en el futuro, está basado en el concepto de predecir el futuro. Por lo tanto, las series temporales de previsión financiera forman la base de las actividades de toda la industria de la inversión; todos los intercambios organizados y otros sistemas de trading de instrumentos financieros.
Lógica difusa en las estrategias comerciales
Lógica difusa en las estrategias comerciales

Lógica difusa en las estrategias comerciales

En este artículo, se analiza el ejemplo del uso de la lógica difusa (fuzzy logic) para la construcción de un sistema comercial simple con la aplicación de la librería Fuzzy. Han sido propuestas las opciones de la mejora del sistema mediante la combinación de la lógica difusa, algoritmos genéticos y redes neuronales.
Monitoreo multidivisas de las señales comerciales (Parte 1): Desarrollando la estructura de la aplicación
Monitoreo multidivisas de las señales comerciales (Parte 1): Desarrollando la estructura de la aplicación

Monitoreo multidivisas de las señales comerciales (Parte 1): Desarrollando la estructura de la aplicación

En este artículo, analizaremos la idea del monitoreo multidivisas de las señales comerciales, desarrollaremos la estructura y el prototipo de la futura aplicación, así como, crearemos su plantilla para el trabajo ulterior. Crearemos paso a paso una aplicación multidivisas ajustada de forma flexible que permite tanto crear las señales comerciales, como ayudar a los traders a buscarlas.
Patrones con ejemplos (Parte I): Pico múltiple
Patrones con ejemplos (Parte I): Pico múltiple

Patrones con ejemplos (Parte I): Pico múltiple

El artículo inicia un ciclo de análisis de patrones de reversión en el marco del trading algorítmico. Comenzaremos la idea examinando la primera y más interesante familia entre estos patrones, originada a partir de los patrones Double Top y Double Bottom.
¿Qué es un Martingale? y ¿es razonable usarlo?
¿Qué es un Martingale? y ¿es razonable usarlo?

¿Qué es un Martingale? y ¿es razonable usarlo?

Este artículo contiene una descripción detallada del sistema Martingale, así como los precisos cálculos necesarios para responder a la pregunta: "¿Es razonable usar Martingale?"
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXXIII): Solicitudes comerciales pendientes - Cierre de posiciones según condiciones
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXXIII): Solicitudes comerciales pendientes - Cierre de posiciones según condiciones

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXXIII): Solicitudes comerciales pendientes - Cierre de posiciones según condiciones

Continuamos trabajando con la funcionalidad de la biblioteca para implementar el comercio con la ayuda de solicitudes pendientes. Ya hemos implementado el envío de solicitudes comerciales según condiciones para la apertura de posiciones y la colocación de órdenes pendientes. Hoy, implementaremos el cierre de posiciones completo, parcial o por opuesta, según condiciones.
Implementación de un Expert Advisor tipo "arrastrar y soltar" semiautomático e interactivo basado en el riesgo predefinido y la relación R/R (riesgo/beneficio)
Implementación de un Expert Advisor tipo "arrastrar y soltar" semiautomático e interactivo basado en el riesgo predefinido y la relación R/R (riesgo/beneficio)

Implementación de un Expert Advisor tipo "arrastrar y soltar" semiautomático e interactivo basado en el riesgo predefinido y la relación R/R (riesgo/beneficio)

Algunos operadores realizan todas sus operaciones de forma automática, y algunos hacen una mezcla de operaciones automáticas y manuales basadas ​​en las salidas de varios indicadores. Y como miembro de este último grupo, necesitaba una herramienta interactiva para poder evaluar de forma dinámica los niveles de riesgo y de beneficio, directamente desde el gráfico. En este artículo vamos a presentar una forma de implementación de un Expert Advisor con un riesgo de pérdida de patrimonio y relación R/R predefinidos. Se pueden modificar los parámetros de riesgo, R/R y el tamaño del lote durante la ejecución en el panel del EA.
Rayos Elder (Bulls Power y Bears Power)
Rayos Elder (Bulls Power y Bears Power)

Rayos Elder (Bulls Power y Bears Power)

Sistema comercial Rayos Elder basado en los indicadores Bulls Power, Bears Power y Moving Average (EMA — promediación exponencial). Este sistema fue descrito por Alexander Elder en su libro "Vivir del Trading" (Trading for a living).
Aprendiendo a diseñar un sistema de trading con las Bandas de Bollinger
Aprendiendo a diseñar un sistema de trading con las Bandas de Bollinger

Aprendiendo a diseñar un sistema de trading con las Bandas de Bollinger

En este artículo, hablaremos sobre las Bandas de Bollinger, uno de los indicadores más populares en el mundo del trading. Asimismo, trataremos el análisis técnico y veremos cómo diseñar un sistema de trading algorítmico basado en el indicador de las Bandas de Bollinger.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 38): Colección de series temporales - Actualización en tiempo real y acceso a los datos desde el programa
Trabajando con las series temporales en la biblioteca DoEasy (Parte 38): Colección de series temporales - Actualización en tiempo real y acceso a los datos desde el programa

Trabajando con las series temporales en la biblioteca DoEasy (Parte 38): Colección de series temporales - Actualización en tiempo real y acceso a los datos desde el programa

En el artículo, analizaremos la actualización en tiempo real de los datos de las series temporales, así como el envío de mensajes sobre el evento "Nueva barra" al gráfico del programa de control de todas las series temporales de todos los símbolos para poder procesar estos eventos en nuestros propgramas. Para determinar la necesidad de actualizar las series temporales para el símbolo y los periodos del gráfico no actuales, usaremos la clase "Nuevo tick".
FANN2MQL Neural Network Tutorial
FANN2MQL Neural Network Tutorial

FANN2MQL Neural Network Tutorial

Este artículo trata de mostrar cómo utilizar las redes neuronales, a través de FANN2MQL, utilizando un ejemplo fácil: enseñando un patrón simple para la neuralnetwork y pruebar para ver si puede reconocer patrones que nunca ha visto.
preview
Optimización móvil continua (Parte 1): Mecanismo de trabajo con los informes de optimización

Optimización móvil continua (Parte 1): Mecanismo de trabajo con los informes de optimización

La primera parte del artículo está dedicada a la creación de una herramienta para trabajar con los informes de optimización y su importación desde el terminal, así como a los procesos de filtrado y clasificación de los datos obtenidos. MetaTrader 5 permite descargar informes sobre las pasadas de optimización, pero querríamos tener la posibilidad de añadir al informe nuestros propios datos.
Construimos un asesor usando módulos individuales
Construimos un asesor usando módulos individuales

Construimos un asesor usando módulos individuales

Durante el desarrollo de indicadores, asesores y scripts, el desarrollor se ve obligado a crear constantemente fragmentos de código terminados, que no tienen relación directa con la estrategia de trading. En el artículo vamos a analizar diferentes métodos para proyectar asesores usando los bloques individuales proyectados anteriormente: trailing, filtros, horarios, etcétera. Asimismo, hemos analizado las peculiaridades de este tipo de proyectos.
Scalping Agradable
Scalping Agradable

Scalping Agradable

Este artículo describe un método para crear una herramienta de scalping. El enfoque de apertura de posiciones que presentaremos puede aplicarse a cualquier tipo de trading.
¿Qué es un Martingale?
¿Qué es un Martingale?

¿Qué es un Martingale?

Es una descripción corta de varias ilusiones que aparecen cuando se hace trading utilizando estrategias de apuesta martingale o utiliza mal los picos y los mecanismos por el estilo.
Experto comercial universal: trabajando con órdenes pendientes y cobertura (parte 5)
Experto comercial universal: trabajando con órdenes pendientes y cobertura (parte 5)

Experto comercial universal: trabajando con órdenes pendientes y cobertura (parte 5)

Este artículo continúa la presentación a los lectores del motor comercial CStrategy. A petición de multitud de usuarios, se han añadido funciones de trabajo con órdenes pendientes al motor comercial. Asimismo, las últimas versiones de MetaTrader 5 han comenzado a dar soporte a cuentas con cobertura. Ahora CStrategy también da soporte a las mismas. En el artículo se da una descripción detallada de un algoritmo para trabajar con órdenes pendientes, así como de los principios de funcionamiento de CStrategy con las cuentas con cobertura.
MQL5 Wizard: Cómo enseñar a un Asesor Experto a abrir las órdenes pendientes de cualquier precio
MQL5 Wizard: Cómo enseñar a un Asesor Experto a abrir las órdenes pendientes de cualquier precio

MQL5 Wizard: Cómo enseñar a un Asesor Experto a abrir las órdenes pendientes de cualquier precio

El artículo describe un método para modificar el código de un módulo de señal de trading para la implementación de la funcionalidad que le permite ajustar órdenes pendientes con cualquier diferencia del precio actual: puede ser el precio de cierre o de apertura de la barra anterior o el valor del promedio móvil. Hay muchas opciones. Lo importante es que puede establecer cualquier precio de apertura para una orden pendiente. Este artículo será muy útil para los traders que operan con órdenes pendientes.
ZUP - ZigZag universal con Patrones de Pesavento. Segunda parte
ZUP - ZigZag universal con Patrones de Pesavento. Segunda parte

ZUP - ZigZag universal con Patrones de Pesavento. Segunda parte

ZUP - ZigZag universal con Patrones de Pesavento. Segunda parte - Descripción de las herramientas incorporadas
Interfaces gráficas VIII: Control "Calendario" (Capítulo 1)
Interfaces gráficas VIII: Control "Calendario" (Capítulo 1)

Interfaces gráficas VIII: Control "Calendario" (Capítulo 1)

En la octava parte de la serie sobre la creación de las interfaces gráficas en el entorno de los terminales de trading MetaTrader nosotros vamos a considerar los controles compuestos (complejos): calendarios, lista jerárquica (en forma de árbol), explorador de archivos. A cada uno de estos controles le dedicaremos un artículo personal, puesto que el contenido del material es bastante extenso. Pues bien, en el primer artículo de esta parte se describe el control “Calendario” y su versión ampliada, “Calendario desplegable”.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXXI): Solicitudes comerciales pendientes - Apertura de posiciones según condiciones
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXXI): Solicitudes comerciales pendientes - Apertura de posiciones según condiciones

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXXI): Solicitudes comerciales pendientes - Apertura de posiciones según condiciones

A partir de este artículo, vamos a crear una funcionalidad que permita comerciar con la ayuda de solicitudes comerciales según una cierta condición. Por ejemplo, al llegar o superar una determinada hora, o bien al superar el parámetro de beneficio establecido, o bien al registrarse un evento de cierre de posición por stop loss.
La estrategia comercial 'Momentum Pinball'
La estrategia comercial 'Momentum Pinball'

La estrategia comercial 'Momentum Pinball'

En este artículo se continúa con el tema de la escritura de código para los sistemas comerciales descritos en el libro de Linda Raschke y Laurence Connors "Secretos bursátiles. Estrategias comerciales de alto rendiemiento a corto plazo". En esta ocasión, analizaremos el sistema 'Momentum Pinball', describiendo la creación de dos indicadores, un robot comercial y un bloque comercial para el sistema.
Aplicando la teoría de probabilidades usando el trading con gaps
Aplicando la teoría de probabilidades usando el trading con gaps

Aplicando la teoría de probabilidades usando el trading con gaps

Aplicamos los métodos de la teoría de probabilidades y estadística matemática en el proceso del desarrollo y el testeo de estrategias comerciales. Buscamos un valor óptimo para los riesgos de la transacción usando las diferencias entre el precio y el paseo aleatorio. Ha sido demostrado que si los precios se comportan como un paseo aleatorio sin desviación (falta de una tendencia con dirección), el trading rentable es imposible.
Discretización de series temporales con generación aleatoria de "ruidos"
Discretización de series temporales con generación aleatoria de "ruidos"

Discretización de series temporales con generación aleatoria de "ruidos"

Nos hemos acostumbrado a analizar el mercado con la ayuda de barras o velas que "hacen cortes" en la serie temporal a intervalos regulares de tiempo. Pero, ¿cuánto deforma realmente este método de discretización la estructura real de los movimientos de mercado? Discretizar una señal sonora a intervalos temporales iguales resulta una solución aceptable, porque una función sonora supone una función que cambia con el tiempo. En sí misma, una señal es una amplitud que depende del tiempo, y esta propiedad en ella es fundamental.
Creando un EA gradador multiplataforma
Creando un EA gradador multiplataforma

Creando un EA gradador multiplataforma

En este artículo, vamos a prender a escribir asesores que funcionan tanto en MetaTrader 4, como en MetaTrader 5. Para ello, trataremos de escribir un asesor que funcione según el principio de creación de cuadrículas de órdenes. Un gradador es un experto cuyo principal principio de trabajo consiste en colocar simultáneamente varias órdenes límite por encima del precio actual, y la misma cantidad por debajo.
preview
Combinatoria y teoría de la probabilidad en el trading (Parte I): Fundamentos

Combinatoria y teoría de la probabilidad en el trading (Parte I): Fundamentos

En esta serie de artículos, buscaremos una aplicación práctica de la teoría de probabilidad para describir el proceso del trading y la fijación de los precios. En el primer artículo, nos familiarizaremos con los conceptos básicos de la combinatoria y la teoría de probabilidad, y analizaremos el primer ejemplo de la aplicación de fractales dentro de la teoría de probabilidad.
Control de la pendiente de la curva de balance durante el funcionamiento de un Expert Advisor
Control de la pendiente de la curva de balance durante el funcionamiento de un Expert Advisor

Control de la pendiente de la curva de balance durante el funcionamiento de un Expert Advisor

Encontrar reglas para un sistema de trading y programarlas en un Expert Advisor es la mitad del trabajo. De algún modo, hay que corregir el funcionamiento del Expert Advisor, ya que acumula los resultados del trading. En este artículo se describe una de las metodologías que permite mejorar el rendimiento de un Expert Advisor a través de una retroalimentación que mide la pendiente de la curva de balance.
La Regla de Oro de los Traders
La Regla de Oro de los Traders

La Regla de Oro de los Traders

Con el fin de obtener ganancias basadas en altas expectativas, debemos entender tres principios básicos del buen trading: 1) conocer el riesgo al entrar en el mercado; 2) cortar sus pérdidas temprano y deje ejecutar su beneficio; 3) conocer la expectativa de su sistema – probar y ajustar regularmente. Este artículo proporciona un código programa que arrastra posiciones abiertas y se actualiza con el segundo principio de oro, ya que permite ganancias en el más alto nivel posible.
Aplicación de los contenedores para componer la interfaz gráfica: clase CBox
Aplicación de los contenedores para componer la interfaz gráfica: clase CBox

Aplicación de los contenedores para componer la interfaz gráfica: clase CBox

En este artículo se describe el método alternativo de creación de la interfaz gráfica a base de los esquemas de composición y contenedores usando el gestor de composición, a saber, la clase CBox. La clase Cbox representa un medio auxiliar de control que actúa como contenedor de los elementos principales de control de la interfaz gráfica. Facilita el diseño de paneles gráficos, y a veces reduce el tiempo de la escritura del código.
Creando un EA gradador multiplataforma (última parte): la diversificación como método para aumentar la rentabilidad
Creando un EA gradador multiplataforma (última parte): la diversificación como método para aumentar la rentabilidad

Creando un EA gradador multiplataforma (última parte): la diversificación como método para aumentar la rentabilidad

En los anteriores artículos de la serie, hemos intentado crear de formas distintas un asesor gradador más o menos rentable. En esta ocasión, vamos a tratar de aumentar la rentabilidad del asesor comercial con la ayuda de la diversificación. Nuestro objetivo es el 100% de beneficio anual anhelado por todos, con un 20% de reducción máxima del balance.
Crear un Indicador Multidivisa Usando un Número de Buffers de Indicador Intermediarios
Crear un Indicador Multidivisa Usando un Número de Buffers de Indicador Intermediarios

Crear un Indicador Multidivisa Usando un Número de Buffers de Indicador Intermediarios

Últimamente se ha dado un aumento reciente en los análisis de conglomerados del mercado FOREX. MQL5 abre nuevas posibilidades para investigar las tendencias del movimiento de pares de divisas. Un elemento clave de MQL5 que lo diferencia de MQL4, es la posibilidad de usar una cantidad ilimitada de buffers de indicador. Este artículo describe un ejemplo de la creación de un indicador multidivisa.
Libro de Recetas MQL5: Desarrollar un Asesor Experto Multidivisa con un Número Ilimitado de Parámetros
Libro de Recetas MQL5: Desarrollar un Asesor Experto Multidivisa con un Número Ilimitado de Parámetros

Libro de Recetas MQL5: Desarrollar un Asesor Experto Multidivisa con un Número Ilimitado de Parámetros

En este artículo crearemos un patrón que usa un solo conjunto de parámetros para la optimización del sistema de trading, a la vez que permite un número ilimitado de parámetros. La lista de símbolo se creará en un archivo de texto estándar (*.txt). Los parámetros de entrada para cada símbolo también se almacenarán en archivos. De esta forma podremos evitar la restricción del terminal del número de parámetros centrada de un Asesor Experto.
Neuroredes gratis y a mogollón: NeuroPro y MetaTrader 5
Neuroredes gratis y a mogollón: NeuroPro y MetaTrader 5

Neuroredes gratis y a mogollón: NeuroPro y MetaTrader 5

Si los programas especializados de nueroredes para el trading le parecen caros o complicados (o al contrario, primitivos), entonces pruebe NeuroPro, está en ruso, es gratuito y contiene el conjunto ideal de posibilidades para los aficionados. Prodrá familiarizarse con su uso en MetaTrader 5 en este artículo.
Desarrollo de una Startup social tecnológica, Parte I: Publicamos las Señales de MetaTrader 5 en el Twitter
Desarrollo de una Startup social tecnológica, Parte I: Publicamos las Señales de MetaTrader 5 en el Twitter

Desarrollo de una Startup social tecnológica, Parte I: Publicamos las Señales de MetaTrader 5 en el Twitter

Hoy vamos a hablar sobre cómo podemos vincular el terminal MetaTrader 5 con una cuenta del Twitter para publicar las señales de su Asesor Experto. Estamos desarrollando el Sistema social del soporte para la toma de decisiones (SDSS por sus siglas en inglés Social Decision Support System, denominado en adelante como SDSS) con PHP a base del servicio web RESTful. Esta idea se basa en la concepción del trading automático, o así denominado el trading mediante los ordenadores. Queremos que las señales comerciales automáticas del Asesor Experto (EA) pasen por los filtros de las facultades cognitivas de la mente humana.
Reversión: disminuyendo la reducción máxima y simulando otros mercados
Reversión: disminuyendo la reducción máxima y simulando otros mercados

Reversión: disminuyendo la reducción máxima y simulando otros mercados

En este artículo continuaremos analizando el tema de la reversión. Intentaremos disminuir la reducción máxima del balance hasta un nivel aceptable con los instrumentos analizados anteriormente. También vamos a comprobar si se reduce el beneficio obtenido. Asimismo, comprobaremos cómo funciona la reversión en otros mercados, tales como los mercados de valores, materias primas, índices y ETF, agrario. ¡Atención, el artículo contiene muchas imágenes!
Guía práctica de MQL5: Controles de la subventana del indicador: Botones
Guía práctica de MQL5: Controles de la subventana del indicador: Botones

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

En este artículo, vamos a ver un ejemplo del desarrollo de una interfaz de usuario con controles mediante botones. Para transmitir la idea de interactividad al usuario, los botones cambiarán de color cuando se pasa el cursor por encima de ellos. Cuando el cursor está encima de un botón, el color de este último será ligeramente oscurecido, haciéndose notablemente más oscuro cuando se pulsa el botón. Además, vamos a añadir tooltips (información sobre herramientas) a cada botón, creando así una interfaz intuitiva.