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
LifeHack para tráders: Optimización "silenciosa" o Trazando la distribución de trades
LifeHack para tráders: Optimización "silenciosa" o Trazando la distribución de trades

LifeHack para tráders: Optimización "silenciosa" o Trazando la distribución de trades

Análisis de la historia comercial y la construcción de los gráficos HTML de distribuciónde de los resultados comerciales dependiendo de la hora de entrada en la posición. Los gráficos se representan en tres segmentos, por horas, días y meses.
Interfaces gráficas X: Control "Gráfico estándar" (build 4)
Interfaces gráficas X: Control "Gráfico estándar" (build 4)

Interfaces gráficas X: Control "Gráfico estándar" (build 4)

En este artículo vamos a analizar el control de la interfaz gráfica como «Gráfico estándar». Nos permitirá crear los arrays de objetos-gráficos con posibilidad del desplazamiento horizontal sincronizado del gráfico. Aparte de eso, continuaremos optimizando el código de la librería para reducir el consumo de los recursos de CPU.
Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 3)
Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 3)

Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 3)

En este artículo se muestra la siguiente versión de la librería Easy And Fast (versión 3). Hemos corregido algunos fallos, así como hemos añadido nuevas posibilidades. Para más información, lea a continuación.
preview
Distribuciones Estadísticas en MQL5: tomamos lo mejor de R y lo hacemos más rápido

Distribuciones Estadísticas en MQL5: tomamos lo mejor de R y lo hacemos más rápido

Vamos a analizar las funciones para trabajar con las principales distribuciones estadísticas implementadas en el lenguaje R. Se trata de las distribuciones de Cauchy, Weibull, normal, log-normal, logística, exponencial, uniforme, la distribución gamma, la distribución beta central y no central, la distribución chi-cuadrado, la distribución F de Fisher, la distribución t de Student, así como las distribuciones binomial discreta y binomial negativa, la geométrica, la hipergeométrica y la distribución de Poisson. Además, también existen funciones de cálculo de los momentos teóricos de las distribuciones, que permiten valorar el grado de correspondencia entre la distribución real y la modelada.
Comparando MQL5 y QLUA - ¿Por qué las operaciones comerciales en MQL5 son hasta 28 veces más rápidas?
Comparando MQL5 y QLUA - ¿Por qué las operaciones comerciales en MQL5 son hasta 28 veces más rápidas?

Comparando MQL5 y QLUA - ¿Por qué las operaciones comerciales en MQL5 son hasta 28 veces más rápidas?

Muchos tráders a menudo no reflexionan sobre la velocidad a la que su solicitud llega hasta la bolsa, cuánto tiempo tarda en ejecutarse una vez está allí, y en qué momento el terminal del tráder conoce finalmente el resultado de la operación comercial. Habíamos prometido comparar la velocidad de las operaciones comerciales, porque nadie había hecho antes que nosotros semejantes mediciones con la ayuda de los programas en MQL5 y QLUA.
Valoración rápida de señales: actividad comercial, gráficos de reducción/carga y distribuciones MFE/MAE
Valoración rápida de señales: actividad comercial, gráficos de reducción/carga y distribuciones MFE/MAE

Valoración rápida de señales: actividad comercial, gráficos de reducción/carga y distribuciones MFE/MAE

Al buscar una Señal, los suscriptores en primer lugar se orientan por el crecimiento general en la cuenta comercial del Proveedor, y esto es lógico en cierta medida. Pero aparte de esto, conviene prestar atención a los riesgos potenciales que conlleva una estrategia comercial concreta. En este artículo vamos a mostrar cómo valorar de forma rápida y visual la Señal que le interese con la ayuda de varios índices.
Comercio con portafolio en MetaTrader 4
Comercio con portafolio en MetaTrader 4

Comercio con portafolio en MetaTrader 4

En el artículo se analizan los principios del trading con portafolio y las peculiaridades de su aplicación al mercado de divisas. También se estudian varios modelos matemáticos sencillos para formar el portafolio. Se muestran ejemplos de la implementación práctica del comercio con portafolio en MetaTrader 4: un indicador de portafolio y un asesor para el comercio semiautomático. Asimismo, se describen los elementos de las estrategias comerciales, sus ventajas y sus "escollos ocultos".
Trabajando con cestas de parejas de divisas en el mercado fórex
Trabajando con cestas de parejas de divisas en el mercado fórex

Trabajando con cestas de parejas de divisas en el mercado fórex

En el artículo se analizan cuestiones relacionadas con la división en grupos de las parejas de divisas, las cestas; también sobre cómo obtener datos sobre el estado de estas cestas (por ejemplo, sobrecompra o sobreventa); qué indicadores pueden proporcionar estos datos; y al fin, sobre cómo se puede aplicar la información obtenida en el trading práctico.
Red Neuronal: EA autooptimizable
Red Neuronal: EA autooptimizable

Red Neuronal: EA autooptimizable

¿Podríamos diseñar un EA que periódicamente, según ordenara su código, autooptimizara los criterios de apertura o cierre de posición?.¿Qué pasaría si implementamos en el EA una red neuronal (perceptrón multicapa) que sea el módulo que analice el historial y evalúe la estrategia?. Podríamos decirle al código: "optimiza cada mes (cada semana, cada día o cada hora) la red neuronal y continúa tu trabajo". ¡De esta forma, tendríamos un EA autooptimizable!
Recetas MQL5 - Señales comerciales de los canales móviles
Recetas MQL5 - Señales comerciales de los canales móviles

Recetas MQL5 - Señales comerciales de los canales móviles

En el artículo se muestra el proceso de desarrollo e implemementación de una clase-señalizadora en base a los canales móviles. A cada versión de la señal le sigue una estrategia comercial con los resultados de la simulación. Para crear las clases derivadas se usan las ​​clases de Biblioteca estándar.
Asesor experto multiplataforma: reutilizando los componentes de la Biblioteca Estándar MQL5
Asesor experto multiplataforma: reutilizando los componentes de la Biblioteca Estándar MQL5

Asesor experto multiplataforma: reutilizando los componentes de la Biblioteca Estándar MQL5

En la Biblioteca Estándar MQL5 hay ciertos componentes que pueden resultar útiles en las versiones de los asesores expertos multiplataforma para MQL4. En esta artículo analizaremos los métodos de creación de ciertos componentes de la Biblioteca Estándar MQL5 que son compatibles con el compilador MQL4.
Cómo desarrollar y depurar rápidamente cualquier estrategia de scalping en MetaTrader 5
Cómo desarrollar y depurar rápidamente cualquier estrategia de scalping en MetaTrader 5

Cómo desarrollar y depurar rápidamente cualquier estrategia de scalping en MetaTrader 5

Los sistemas automáticos de scalping se consideran por derecho propio la cima del trading automático, y precisamente por ello, son a la vez los más complejos a la hora de escribir el código. En este artículo vamos a mostrar cómo se pueden construir estrategias basadas en el análisis de ticks entrantes con la ayuda de los recursos de depuración incorporados y de la simulación visual. Para desarrollar las reglas de entrada y salida con frecuencia se necesitan años de comercio manual. Pero con la ayuda de MetaTrader 5 usted podrá comprobar cualquier estrategia similar en la historia real.
Red neuronal profunda con Stacked RBM. Auto-aprendizaje, auto-control
Red neuronal profunda con Stacked RBM. Auto-aprendizaje, auto-control

Red neuronal profunda con Stacked RBM. Auto-aprendizaje, auto-control

El artículo es la continuación de artículos anteriores sobre neuroredes profundas y elección de predictores. En este veremos las particularidades de una neurored iniciada con Stacked RBM, así como su implementación en el paquete "darch".
Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 2)
Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 2)

Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 2)

Desde la anterior publicación del artículo de esta serie, la librería Easy And Fast ha adquirido nuevas posibilidades. Ha sido hecha la optimización parcial del esquema y del código de la librería, eso ha reducido un poco el consumo de recursos de la CPU. Algunos métodos que se repiten con frecuencia en muchas clases de los controles han sido traspasados a la clase base CElement.
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.
Asesor experto multiplataforma: Introducción
Asesor experto multiplataforma: Introducción

Asesor experto multiplataforma: Introducción

En este artículo se describe con detalle un método para desarrollar de forma rápida y sencilla un asesor experto multiplataforma. El método propuesto aúna funciones comunes para ambas versiones en una clase y desarrolla la implementación para las funciones incompatibles en las clases heredadas.
Estudiamos la clase CCanvas. Suavizado y sombras
Estudiamos la clase CCanvas. Suavizado y sombras

Estudiamos la clase CCanvas. Suavizado y sombras

El algoritmo de suavizado de la clase CCanvas es la base de todas las construcciones en las que se usa el suavizado. En el artículo se cuenta cómo funciona este algoritmo y se muestran ejemplos visuales de su funcionamiento. Además, se analizará el dibujado de las sombras de los objetos gráficos y se desarrollará un algoritmo detallado del dibujado de la sombra en el elemento canvas. Para los cálculos se ha utilizado la biblioteca de análisis numérico ALGLIB.
Interfaces gráficas IX: Control "Paleta para seleccionar el color" (Capítulo 1)
Interfaces gráficas IX: Control "Paleta para seleccionar el color" (Capítulo 1)

Interfaces gráficas IX: Control "Paleta para seleccionar el color" (Capítulo 1)

Con este artículo se abre la novena parte de la serie sobre el desarrollo de la librería para la creación de las interfaces gráficas en el entorno de los terminales de trading MetaTrader. Se compone de dos partes en las que se muestran nuevos controles y elementos de la interfaz: «Paleta para seleccionar el color», «Botón para abrir la paleta de colores», «Indicador de progreso» y «Gráfico lineal».
Protección contra activaciones erróneas del robot comercial
Protección contra activaciones erróneas del robot comercial

Protección contra activaciones erróneas del robot comercial

La rentabilidad de los sistemas comerciales se determina no solo por la lógica y la precisión del análisis de la dinámica de los instrumentos financieros, sino también por la calidad del algoritmo de ejecución de esta lógica. Una expresión característica de ejecución defectuosa de la lógica principal del robot comercial son las activaciones erróneas. En el artículo se analizan variantes para resolver este problema.
Lógica difusa para crear estrategias de trading manual
Lógica difusa para crear estrategias de trading manual

Lógica difusa para crear estrategias de trading manual

Este artículo sugiere las maneras de mejorar la estrategia de trading manual mediante la aplicación de teoría de conjuntos difusa. Como ejemplo hemos incluido una descripción paso a paso en la búsqueda de la estrategia y la selección de sus parámetros, seguido de la aplicación de lógica difusa para desenfocar criterios demasiado formales para entrar en el mercado. Así, después de la modificación de la estrategia obtenemos condiciones flexibles para la apertura de una posición que tiene una reacción razonable a una situación de mercado.
Evaluando la efectividad de los sistemas comerciales mediante el análisis de sus componentes
Evaluando la efectividad de los sistemas comerciales mediante el análisis de sus componentes

Evaluando la efectividad de los sistemas comerciales mediante el análisis de sus componentes

En este artículo vamos a investigar la efectividad de los sistemas comerciales complejos mediante el análisis de la efectividad de sus componentes por separado. Cualquier análisis, sea de tipo gráfico, basado en indicadores o de cualquier otro tipo, es uno de los componentes clave para comerciar con éxito en los mercados financieros. Este artículo es una investigación sui generis de varios sistemas comerciales sencillos independientes, en la que se analiza su efectividad y la utilidad de su aplicación conjunta.
Cómo crear un indicador de gráficos no estándar para MetaTrader Market
Cómo crear un indicador de gráficos no estándar para MetaTrader Market

Cómo crear un indicador de gráficos no estándar para MetaTrader Market

Con la ayuda de gráficos offline, de la programación en el lenguaje MQL4 y un poco de empeño usted podrá conseguir gráficos de cualquier tipo: "Punto-figura", "Renko", "Kagi", "Range bars", equivolumen, etc. En este artículo le mostraremos cómo hacer esto sin usar DLL, de forma que pueda publicar y adquirir estos indicadores "dos en uno" en el Mercado.
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.
Simulación de estrategias comerciales con ticks reales
Simulación de estrategias comerciales con ticks reales

Simulación de estrategias comerciales con ticks reales

En este artículo le mostraremos los resultados de la simulación de una estrategia comercial sencilla en 3 modos: "1 minuto OHLC", "Todos los ticks" y "Cada tick en base a ticks reales" usando los ticks guardados en la historia.
Expresiones regulares para los traders
Expresiones regulares para los traders

Expresiones regulares para los traders

Una expresión regular es un lenguaje especial para el manejo de textos mediante la aplicación de una regla especificada, también llamada un regex o regexp para abreviar. En este artículo, vamos a mostrar cómo manejar un informe sobre el trade con la librería RegularExpressions para MQL5 y también demostrar los resultados de optimización después de usarlo.
Usando archivos de texto para guardar los parámetros de entrada de asesores, indicadores y scripts
Usando archivos de texto para guardar los parámetros de entrada de asesores, indicadores y scripts

Usando archivos de texto para guardar los parámetros de entrada de asesores, indicadores y scripts

En el artículo vamos a analizar cuestiones relacionadas con el guaradado de objetos dinámicos, matrices y otras variables en forma de propiedades de asesores, indicadores y scripts en archivos de texto. Estos son un complemento cómodo a la funcionalidad de los recursos estándar propuestos por los lenguajes MQL.
Aplicación de lógica difusa en el trading por medio del MQL4
Aplicación de lógica difusa en el trading por medio del MQL4

Aplicación de lógica difusa en el trading por medio del MQL4

El artículo se refiere a ejemplos de la aplicación de teoría de conjuntos difusa en el trading por medio del MQL4. El uso en el desarrollo de la librería FuzzyNet del MQL4 en un indicador y un Asesor Experto se describe así.
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.
Interfaces gráficas VIII: Control "Explorador de archivos" (Capítulo 3)
Interfaces gráficas VIII: Control "Explorador de archivos" (Capítulo 3)

Interfaces gráficas VIII: Control "Explorador de archivos" (Capítulo 3)

En los capítulos anteriores de la octava parte de la serie, nuestra librería se ha completado con las clases para la creación de los punteros para el cursor del ratón, calendarios y listas jerárquicas. En este artículo vamos a analizar el control “Explorador de archivos” que también puede utilizarse como parte de la interfaz gráfica de la aplicación MQL.
Interfaces gráficas VIII: Control "Lista jerárquica" (Capítulo 2)
Interfaces gráficas VIII: Control "Lista jerárquica" (Capítulo 2)

Interfaces gráficas VIII: Control "Lista jerárquica" (Capítulo 2)

En el capítulo anterior de la octava parte de la serie sobre las interfaces gráficas hemos analizado los controles “Calendario estático” y “Calendario desplegable”. El segundo capítulo va a dedicarse a un control compuesto no menos complejo, “Lista jerárquica”, sin la que no se arregla ninguna librería multifuncional para la creación de interfaces gráficas. La implementación de la lista jerárquica presentada en este artículo contiene múltiples ajustes y modos flexibles, lo que permitirá configurar este control a sus necesidades con la máxima precisión.
Qué comprobaciones debe superar un robot comercial antes de ser publicado en el Mercado
Qué comprobaciones debe superar un robot comercial antes de ser publicado en el Mercado

Qué comprobaciones debe superar un robot comercial antes de ser publicado en el Mercado

Antes de su publicación, todos los productos del Mercado pasan por una comprobación preliminar de carácter obligatorio, con objeto de proporcionar un estándar único de calidad. En este artículo hablaremos de los errores más frecuentes que cometen los desarrolladores en sus indicadores técnicos y robots comerciales. Asimismo, mostraremos cómo puede usted comprobar por sí mismo su producto antes de enviarlo al Mercado.
LifeHack para tráders: indicadores de balance, reducción, carga y ticks durante la simulación
LifeHack para tráders: indicadores de balance, reducción, carga y ticks durante la simulación

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

¿Cómo convertir la simulación en algo más visual? La respuesta es sencilla: hay que usar en el simulador uno o varios indicadores, un indicador de ticks, un indicador de balance y equidad, un indicador de reducción y carga del depósito. Esto permitirá realizar un seguimiento visual de la naturaleza de los ticks, o de los cambios de balance y equidad, o de la reducción y la carga del depósito.
Experto comercial universal: integración con los módulos estándar de señales de MetaTrader (parte 7)
Experto comercial universal: integración con los módulos estándar de señales de MetaTrader (parte 7)

Experto comercial universal: integración con los módulos estándar de señales de MetaTrader (parte 7)

Esta parte está dedicada a la integración del motor comercial CStrategy con los módulos de señales incluidos en la biblioteca estándar de MetaTrader. El material describe los métodos de trabajo con las señales y la creación de estrategias de usuario basadas ellas.
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”.
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”.
Interfaces gráficas VII: Control "Tablas" (Capítulo 1)
Interfaces gráficas VII: Control "Tablas" (Capítulo 1)

Interfaces gráficas VII: Control "Tablas" (Capítulo 1)

En la séptima parte de la serie de los artículos sobre las interfaces gráficas en los terminales MetaTrader serán presentados tres tipos de tablas: tabla a base de las etiquetas de texto, tabla a base de los campos de edición y tabla dibujada. Otro control importante que se usa con bastante frecuencia son las pestañas a través de los cuales se puede ocultar o mostrar los grupos de otros controles. Eso permite al usuario diseñar las interfaces gráficas muy compactas en sus aplicaciones MQL.
Optimización propia de EA: algoritmos genéticos y evolutivos
Optimización propia de EA: algoritmos genéticos y evolutivos

Optimización propia de EA: algoritmos genéticos y evolutivos

Este artículo cubre los principales principios establecidos en los algoritmos evolutivos, su variedad y características. Llevamos a cabo un experimento con un simple Asesor Experto utilizado como ejemplo para mostrar cómo nuestro sistema de trading se beneficia de la optimización. Consideramos los programas de software que implementan genética, evolutivos y de otros tipos de optimización y proporcionar ejemplos de aplicación cuando se optimiza un sistema predictor y los parámetros del sistema de trading.
Experto comercial universal: Trabajando con trailing-stops personalizados (parte 6)
Experto comercial universal: Trabajando con trailing-stops personalizados (parte 6)

Experto comercial universal: Trabajando con trailing-stops personalizados (parte 6)

La sexta parte del artículo sobre el experto comercial universal describe el funcionamiento de los trailing-stops. Después de leerlo, usted aprenderá cómo usar normas unificadas para crear su propio módulo de trailing-stop y conectarlo al motor comercial de tal forma que el control de la posición realizado por este suceda automáticamente.
Interfaces gráficas VI: Controles "Slider" y "Slider doble" (Capítulo 2)
Interfaces gráficas VI: Controles "Slider" y "Slider doble" (Capítulo 2)

Interfaces gráficas VI: Controles "Slider" y "Slider doble" (Capítulo 2)

En el artículo anterior nuestra librería ha sido completada con cuatro controles bastante frecuentes en las interfaces gráficas: “checkbox”, “campo de edición”, “campo de edición con checkbox” y “combobox con checkbox”. El segundo capítulo de la sexta parte estará dedicado a los controles como Slider y Slider doble.
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.