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
Price Action. Automatización de la estrategia del patrón envolvente (Engulfing)
Price Action. Automatización de la estrategia del patrón envolvente (Engulfing)

Price Action. Automatización de la estrategia del patrón envolvente (Engulfing)

Este artículo describe el proceso de creación de un Asesor Experto para MetaTrader 4 basado en el patrón Engulfing, además del principio de reconocimiento del patrón, las reglas para colocar las órdenes pendientes y las órdenes Stop. Se proporcionan los resultados de la prueba y optimización.
Manejar el Terminal de MetaTrader mediante DLL
Manejar el Terminal de MetaTrader mediante DLL

Manejar el Terminal de MetaTrader mediante DLL

El artículo aborda el manejo de los elementos de la interfaz de usuario mediante una librería DLL adicional a través de un ejemplo que cambia la configuración de entrega de notificaciones push. El código fuente de la librería y el script del ejemplo están adjuntos al artículo.
Comprobación estadística del sistema de gestión de dinero de Labouchere
Comprobación estadística del sistema de gestión de dinero de Labouchere

Comprobación estadística del sistema de gestión de dinero de Labouchere

Este artículo aborda las propiedades estadísticas del sistema de gestión de dinero de Labouchere. Se considera que es menos agresivo que el sistema de tipo Martingala, ya que en lugar de duplicar las apuestas se incrementan en una cantidad determinada.
Price Action. Automatización de la estrategia de la barra interna (Inside Bar)
Price Action. Automatización de la estrategia de la barra interna (Inside Bar)

Price Action. Automatización de la estrategia de la barra interna (Inside Bar)

Este artículo describe el desarrollo de un Asesor Experto en MetaTrader 4 basado en la estrategia de la barra interna, incluyendo los principios de detección de la barra interna, así como las reglas para establecer las órdenes pendientes y las órdenes Stop. Se proporcionan también los resultados de la prueba y la optimización.
Estrategia de trading basada en la dirección y velocidad del movimiento de los precios
Estrategia de trading basada en la dirección y velocidad del movimiento de los precios

Estrategia de trading basada en la dirección y velocidad del movimiento de los precios

El artículo proporciona un repaso a una idea basada en el análisis de la dirección del movimiento de los precios y de su velocidad. Lo hemos hecho en forma de un Asesor Experto en el lenguaje MQL4 para explorar la viabilidad de esta estrategia. También vamos a determinar los mejores parámetros mediante la prueba, el análisis y la optimización del ejemplo proporcionado en el artículo.
Definir las condiciones del trading mediante los niveles de soporte y resistencia y el movimiento del precio
Definir las condiciones del trading mediante los niveles de soporte y resistencia y el movimiento del precio

Definir las condiciones del trading mediante los niveles de soporte y resistencia y el movimiento del precio

Este artículo describe cómo se puede utilizar el movimiento del precio y el seguimiento de los niveles de soporte y resistencia para entrar al mercado en el momento oportuno. También se describe un sistema de trading que combina de manera efectiva las características anteriores para determinar las condiciones del trading. Se explica el código MQL4 correspondiente que se puede utilizar en los Asesores Expertos basados en estos conceptos de trading.
Mejorar la calidad del código mediante la prueba unitaria
Mejorar la calidad del código mediante la prueba unitaria

Mejorar la calidad del código mediante la prueba unitaria

Incluso en los programas más sencillos surgen a menudo errores que parecen increíbles. "¿Cómo he podido escribir esto?" es la primera pregunta que nos viene a la mente cuando surge este tipo de errores. "¿Cómo puedo evitarlo?" es la segunda pregunta, pero con menos frecuencia. Es imposible crear un código exento al cien por cien de errores, especialmente en los proyectos grandes, pero es posible utilizar técnicas para detectarlos a tiempo. Este artículo describe cómo se puede mejorar la calidad del código MQL4 con la ayuda del conocido método de pruebas unitarias (Unit Testing).
Calificación de Asesores Expertos dentro de un Asesor Experto
Calificación de Asesores Expertos dentro de un Asesor Experto

Calificación de Asesores Expertos dentro de un Asesor Experto

Mediante el trading virtual, puede crear un Asesor Experto adaptativo que llevará a cabo la activación y desactivación de operaciones en el mercado real. ¡Combinar varias estrategias en un sólo Asesor Experto! Su Asesor Experto multisistema elegirá automáticamente la mejor estrategia de trading para operar en el mercado real en base a la rentabilidad de las operaciones virtuales. Este método permite reducir la disminución e incrementar la rentabilidad de sus operaciones en el mercado. ¡Experimente y comparta sus resultados con los demás! Creo que hay mucha gente interesada en conocer sus estrategias.
Superposición e interferencia de los instrumentos financieros
Superposición e interferencia de los instrumentos financieros

Superposición e interferencia de los instrumentos financieros

Cuantos más factores influyen en el comportamiento de un par de divisas, más difícil será evaluar su comportamiento y hacer previsiones. Por lo tanto, si conseguimos extraer de los componentes de un par de divisas los valores de una divisa local en función del tiempo, podremos reducir significativamente el movimiento de la divisa local en comparación con el par de divisas que contiene esta divisa, además del número de factores que influyen en su comportamiento. Por consiguiente, mejoramos la precisión de la evaluación de su comportamiento y la predicción de sus valores. ¿Cómo podemos hacerlo?
Kit del trader: Indicadores para el diseño
Kit del trader: Indicadores para el diseño

Kit del trader: Indicadores para el diseño

Este artículo incluye las principales tareas para el diseño de los indicadores, así como soluciones y automatizaciones.
Interfaces gráficas V: Barra de desplazamiento vertical y horizontal (Capítulo 1)
Interfaces gráficas V: Barra de desplazamiento vertical y horizontal (Capítulo 1)

Interfaces gráficas V: Barra de desplazamiento vertical y horizontal (Capítulo 1)

Seguimos analizando el proceso de desarrollo de la librería para la creación de las interfaces gráficas en el entorno de los terminales de trading MetaTrader. En el primer capítulo de la quinta parte de la serie vamos a desarrollar las clases para la creación de los controles como las barras de desplazamiento verticales y horizontales.
Alerta y comentario para indicadores externos.
Alerta y comentario para indicadores externos.

Alerta y comentario para indicadores externos.

En un trabajo práctico, un trader puede encontrarse con la siguiente situación: es necesario conseguir una "alerta" o un mensaje de texto en una pantalla (en una ventana de gráfico) que indique de la aparición de una señal de un indicador. El artículo contiene un ejemplo de muestra de información sobre los objetos gráficos creados por un indicador externo.
Interacción entre MetaTrader 4 y MATLAB Engine (Máquina virtual MATLAB)
Interacción entre MetaTrader 4 y MATLAB Engine (Máquina virtual MATLAB)

Interacción entre MetaTrader 4 y MATLAB Engine (Máquina virtual MATLAB)

El artículo contiene las consideraciones en relación a la creación de una librería DLL: el envase que habilitará la interacción de MetaTrader 4 y el paquete de escritorio matemático de MATLAB. Describe los errores y las maneras de resolverlos. Este artículo está destinado a programadores preparados en C/C++ que utilizan el compilador Borland C++ Builder 6.
Canales. Modelos avanzados. Ondas Wolfe
Canales. Modelos avanzados. Ondas Wolfe

Canales. Modelos avanzados. Ondas Wolfe

El artículo describe las reglas de fabricación de patrones de las Ondas Wolfe. Aquí encontrará los detalles de construcción y reglas para una fabricación precisa, lo que ayuda a encontrar las formaciones correctas de las ondas de forma rápida y correcta.
Promediación efectiva de algoritmos con retraso mínimo: Uso en indicadores y en Asesores Expertos
Promediación efectiva de algoritmos con retraso mínimo: Uso en indicadores y en Asesores Expertos

Promediación efectiva de algoritmos con retraso mínimo: Uso en indicadores y en Asesores Expertos

Este artículo describe las funciones de promediación personalizadas de alta calidad desarrolladas por el autor: JJMASeries(), JurXSeries(), JLiteSeries(), ParMASeries(), LRMASeries(), T3Series(). El autor considera la sustitución en caliente de estas funciones en los indicadores utilizando la llamada de la función SmoothXSeries().
Recetas para "Neuronets"
Recetas para "Neuronets"

Recetas para "Neuronets"

El objetivo de este artículo es para que los principiantes cocinen tartas "multicapas".
Carpeta de programa de la Terminal de cliente de MetaTrader4
Carpeta de programa de la Terminal de cliente de MetaTrader4

Carpeta de programa de la Terminal de cliente de MetaTrader4

El artículo describe los contenidos de la carpeta de programa de la Terminal de cliente de MetaTrader 4. El artículo resultará de utilidad a aquellos que ya han empezado a indagar en los detalles del funcionamiento de la terminal de cliente.
¿Dormir, o no dormir?
¿Dormir, o no dormir?

¿Dormir, o no dormir?

Se propone un uso alternativo de la función Sleep() en la realización de las pausas entre las acciones del AE. El método del que se habla aquí permite un uso inteligente del tiempo de máquina.
Prueba visual de la rentabilidad de los indicadores y alertas
Prueba visual de la rentabilidad de los indicadores y alertas

Prueba visual de la rentabilidad de los indicadores y alertas

De lo que avisa un indicador de trading, o simplemente el método de su cálculo, se decide generalmente cuando los AEs de prueba usan estas alertas. Sin embargo, no siempre es posible/necesario/razonable escribir un AE para cada indicador. Se puede calcular rápidamente la rentabilidad de trading en alertas de otros indicadores, utilizando un indicador especial que recoge sus alertas él mismo y dibuja una imagen del trading ideal con ellas. Puede ayudar tanto a hacer una estimación visual de los resultados obtenidos y elegir rápidamente los mejores parámetros.
La inactividad es el estímulo del progreso. Marcado semiautomático de una plantilla.
La inactividad es el estímulo del progreso. Marcado semiautomático de una plantilla.

La inactividad es el estímulo del progreso. Marcado semiautomático de una plantilla.

Entre las docenas de ejemplos de cómo trabajar con gráficos, hay un método para marcar manualmente una plantilla. Líneas de tendencia, canales, niveles de apoyo/resistencia, etc. se imponen en un gráfico. Por supuesto que hay algunos programas especiales para este tipo de programas. Cada uno decide pos sí mismo/a qué método utilizar. En este artículo, ofrezco varios métodos de marcado manual para que los considere, con la subsecuente automatización de algunos elementos de acciones rutinarias repetidas.
Vista del Análisis Técnico en el contexto de Sistemas de Control Automáticos (SCA), o "Vista inversa".
Vista del Análisis Técnico en el contexto de Sistemas de Control Automáticos (SCA), o "Vista inversa".

Vista del Análisis Técnico en el contexto de Sistemas de Control Automáticos (SCA), o "Vista inversa".

El artículo demuestra una vista alternativa del análisis técnico, que se basa en los principios de la teoría del control automático moderno y el análisis técnico en sí. Es un artículo introductorio representando la teoría con algunas aplicaciones prácticas.
Calculadora de señales
Calculadora de señales

Calculadora de señales

La calculadora de señales funciona directamente desde el terminal MetaTrader 5, y esta es su gran ventaja, ya que el terminal lleva a cabo la preselección y la clasificación de las señales. De este modo, el usuario ve en el terminal MetaTrader 5 sólo las señales con la máxima compatibilidad con su cuenta comercial.
Interfaces gráficas IV: Modo de ventanas múltiples y sistema de prioridades (Capítulo 2)
Interfaces gráficas IV: Modo de ventanas múltiples y sistema de prioridades (Capítulo 2)

Interfaces gráficas IV: Modo de ventanas múltiples y sistema de prioridades (Capítulo 2)

En este artículo vamos a ampliar la implementación de la librería hasta conseguir la posibilidad de crear las interfaces de ventanas múltiples para nuestras aplicaciones MQL. Aparte de eso, desarrollaremos el sistema de las prioridades para el clic izquierdo del ratón en los objetos gráficos. Lo vamos a necesitar para no tener problemas cuando los controles no responden inesperadamente a las acciones del usuario.
Interfaces gráficas IV: Elementos informativos de la interfaz (Capítulo 1)
Interfaces gráficas IV: Elementos informativos de la interfaz (Capítulo 1)

Interfaces gráficas IV: Elementos informativos de la interfaz (Capítulo 1)

En este momento, la librería para la creación de las interfaces gráficas contiene el formulario y varios controles que pueden ser adjuntados a este formulario. Ahora tenemos todo preparado para considerar la cuestión del modo de ventanas múltiples, pero nos ocuparemos de ello en el segundo capítulo de este artículo. Primero, vamos a escribir las clases que nos permitirán crear los elementos informativos de la interfaz, tales como: la “barra de estado” y la “descripción emergente”.
Interfaces gráficas III: Grupos de botones simples y multifuncionales (Capítulo 2)
Interfaces gráficas III: Grupos de botones simples y multifuncionales (Capítulo 2)

Interfaces gráficas III: Grupos de botones simples y multifuncionales (Capítulo 2)

El primer capítulo de la tercera pare de la serie estaba dedicada a los botones simples y multifuncionales. En el segundo capítulo hablaremos de los grupos de botones interconectados que permiten crear los controles, cuando el usuario puede elegir una opción de un determinado conjunto (grupo).
Interfaces gráficas III: Botones simples y multifuncionales (Capítulo 1)
Interfaces gráficas III: Botones simples y multifuncionales (Capítulo 1)

Interfaces gráficas III: Botones simples y multifuncionales (Capítulo 1)

Vamos a comenzar el análisis del control como el botón. Vamos a mostrar los ejemplos de varias clases para la creación de un botón simple, un botón con funcionalidad ampliada (“botón con imagen” y “botón de división”), así como los botones interconectados (grupos de botones y “botones de opción”). Aparte de eso, vamos a introducir algunas adiciones en las clases ya existentes de los controles con el fin de ampliar sus posibilidades.
Método para encontrar los errores en el código mediante comentarios
Método para encontrar los errores en el código mediante comentarios

Método para encontrar los errores en el código mediante comentarios

El artículo describe un método de búsqueda de errores en el código de MQL4 basado en los comentarios. Este método ha mostrado ser útil en caso de que problemas originados durante la compilación y provocados por los errores en un código razonablemente grande.
La inacción es el estímulo para el progreso o cómo trabajar con gráficos de forma interactiva
La inacción es el estímulo para el progreso o cómo trabajar con gráficos de forma interactiva

La inacción es el estímulo para el progreso o cómo trabajar con gráficos de forma interactiva

Un indicador para el trabajo interactivo con líneas de tendencia, niveles Fibo e iconos impuestos manualmente en un gráfico. Nos permite dibujar las zonas coloreadas de niveles Fibo, muestra los momentos de cruce del precio sobre la línea de tendencia y gestiona el objeto "Price label" (etiqueta del precio).
Como escribir Zig Zags rápido sin redibujado
Como escribir Zig Zags rápido sin redibujado

Como escribir Zig Zags rápido sin redibujado

Se propone un método bastante universal de escribir indicadores del tipo Zig Zag. El método incluye una parte considerable de los Zig Zags ya descritos y nos permite crear otros nuevos con relativa facilidad.
Repaso de HTML usando MQL4
Repaso de HTML usando MQL4

Repaso de HTML usando MQL4

Hoy día, HTML es uno de los tipos de documentos más utilizados. El terminal de cliente de MetaTrader 4 nos permite guardar las declaraciones, informes de pruebas y optimizaciones como archivos .html. A veces es necesario para obtener información de dichos archivos en un programa MQL4. El artículo describe una de las variantes de cómo obtener la estructura y contenidos de HTML.
Operaciones con grupos de archivos
Operaciones con grupos de archivos

Operaciones con grupos de archivos

Algunas veces es necesario realizar las mismas operaciones con un grupo de archivos. Si tenemos una lista de archivos en un grupo, esto no es un problema. Sin embargo, si necesitamos hacer esta lista nosotros mismos, surge la pregunta: "¿Cómo podemos hacerlo?" El artículo propone hacerlo mediante las funciones FindFirstFile() y FindNextFile() incluidas en kernel32.dll.
Asesores expertos basados en sistemas de trading populares y alquimia de la optimización de robots de trading (Parte VII)
Asesores expertos basados en sistemas de trading populares y alquimia de la optimización de robots de trading (Parte VII)

Asesores expertos basados en sistemas de trading populares y alquimia de la optimización de robots de trading (Parte VII)

En este artículo, el autor da un ejemplo de asesor experto que cumple los requisitos establecidos en las Reglas del Campeonato de Trading Automatizado de 2008.
Operaciones de archivo a través de WinAPI
Operaciones de archivo a través de WinAPI

Operaciones de archivo a través de WinAPI

El entorno de MQL4 se basa en el concepto de "sandbox" seguro: solo está permitido leer y guardar archivos usando el lenguaje en algunas carpetas preestablecidas. Esto protege al usuario de MetaTrader 4 del peligro potencial de dañar datos importantes en el disco duro. No obstante, a veces es necesario dejar esa área segura. Este artículo está dedicado al problema de cómo hacerlo de una forma fácil y correcta.
Cambiar los parámetros externos de los programas de MQL4 sin reiniciar
Cambiar los parámetros externos de los programas de MQL4 sin reiniciar

Cambiar los parámetros externos de los programas de MQL4 sin reiniciar

El artículo describe un método para cambiar los parámetros externos de los programas de MQL4 sobre la marcha, sin reiniciar.
Notas de aficionado: ZigZag
Notas de aficionado: ZigZag

Notas de aficionado: ZigZag

Seguramente, un iluso que pensara operar cerca de los extremos visitaría cada aprendiz de trader cuando es viera una polilínea "enigmática" por primera vez. Es tan simple, ciertamente. Este es el máximo. Y este es el mínimo. Una bonita imagen en el historial. ¿Y qué ocurre en la práctica? Se dibuja un rayo. Parecerá que este es el pico. Es el momento de vender. Y ahora vamos hacia abajo. Pero, demonios, no es así. El precio se mueve traicioneramente hacia abajo. ¡Sooo! Es una nimiedad, no un indicador. Y nos deshacemos de él.
El análisis estadístico de los movimientos del mercado y su pronóstico
El análisis estadístico de los movimientos del mercado y su pronóstico

El análisis estadístico de los movimientos del mercado y su pronóstico

El presente artículo contempla las amplias posibilidades del método estadístico en el marketing. Por desgracia, los traders principiantes fracasan deliberadamente a la hora de aplicar la formidable ciencia de la estadística. Mientras tanto, es lo único que usan de forma inconscientemente cuando analizan el mercado. Además, la estadística puede dar respuesta a muchas preguntas.
Indicadores de prueba de asesores expertos no de trading
Indicadores de prueba de asesores expertos no de trading

Indicadores de prueba de asesores expertos no de trading

Todos los indicadores pueden dividirse en dos grupos: indicadores estáticos, cuya visualización, una vez mostrada, siempre es la misma en el historial y no cambia con nuevas cotizaciones entrantes, y los indicadores dinámicos, que visualizan su estado en el momento actual solo y se redibujan completamente cuando llega un nuevo precio. La eficiencia de un indicador estático es directamente visible en el gráfico. Pero ¿cómo podemos comprobar si un indicador dinámico funciona correctamente? Esta es la pregunta a la que está dedicado el artículo.
Integración del terminal de cliente de MetaTrader 4 con MS SQL Server
Integración del terminal de cliente de MetaTrader 4 con MS SQL Server

Integración del terminal de cliente de MetaTrader 4 con MS SQL Server

El artículo proporciona un ejemplo de integración del terminal de cliente de MetaTrader 4 con MS SQL Server usando una dll. Se adjuntan los códigos fuente en C++ y en MQL4 y un proyecto listo para usar y compilado de Visual C++ 6.0 SP5.
El espectáculo debe continuar, o una vez más sobre el ZigZag
El espectáculo debe continuar, o una vez más sobre el ZigZag

El espectáculo debe continuar, o una vez más sobre el ZigZag

Sobre un método obvio pero todavía no estándar de composición ZigZag y cuál es el resultado: el indicador ZigZag fractal multimarco que representa los ZigZag en tres conexiones más grandes en un único periodo de tiempo de funcionamiento. A su vez, esos periodos de tiempo mayores pueden no ser estándar tampoco y variar desde M5 a MN1.
Falacias, Parte 2. La estadística es una pseudociencia o la "crónica de la caída en picado de cada día"
Falacias, Parte 2. La estadística es una pseudociencia o la "crónica de la caída en picado de cada día"

Falacias, Parte 2. La estadística es una pseudociencia o la "crónica de la caída en picado de cada día"

Muchos intentos de aplicar los métodos estadísticos a la realidad objetiva, como las series financieras, fracasan cuando se encuentran con los procesos no estacionarios, "colas gruesas" de las distribuciones probabilísticas que los acompañan y el insuficiente volumen de la información financiera. En este artículo intentaré referirme no a las series financieras como tales, sino a su presentación subjetiva, en este caso a la forma en que un trader intenta dominar las series, como el sistema de trading. La educción de las regularidades estadísticas de los resultados del trading es una tarea muy apasionante. En algunos casos, pueden sacarse verdaderas conclusiones sobre el modelo de este proceso y estas pueden aplicarse al sistema de trading.