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
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.
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.
Nuevo enfoque a la interpretación de la divergencia clásica e inversa. Parte 2
Nuevo enfoque a la interpretación de la divergencia clásica e inversa. Parte 2

Nuevo enfoque a la interpretación de la divergencia clásica e inversa. Parte 2

En este artículo vamos a analizar en clave crítica la divergencia clásica y estudiar la efectividad de diferentes indicadores. Asimismo, ofreceremos distintas variantes de filtrado para aumentar la precisión de análisis y continuaremos analizando soluciones no estándar. Como resultado, crearemos una herramienta atípica para resolver la tarea marcada.
Cómo añadir nuevos idiomas de interfaz de usuario a la plataforma de Meta Trader 5
Cómo añadir nuevos idiomas de interfaz de usuario a la plataforma de Meta Trader 5

Cómo añadir nuevos idiomas de interfaz de usuario a la plataforma de Meta Trader 5

La interfaz de usuario de la plataforma de Meta Trader 5 está traducida a varios idiomas. No se preocupe si su idioma no se encuentra entre los soportados. Puede fácilmente completar la traducción usando la utilidad especial del paquete multilenguaje de Meta Trader 5, puesta a disposición de todos los usuarios de manera gratuita por MetaQuotes Software Corp. En este artículo mostraremos algunos ejemplos sobre cómo añadir nuevos idiomas de interfaz de usuario a la plataforma de Meta Trader 5.
Utilizando hojas de cálculo para construir estrategias comerciales
Utilizando hojas de cálculo para construir estrategias comerciales

Utilizando hojas de cálculo para construir estrategias comerciales

El artículo describe los principios y técnicas básicos que nos permiten analizar cualquier estrategia usando hojas de cálculo: Excel, Calc, Google. Asimismo, hemos comparado los resultados con el simulador de MetaTrader 5.
preview
Redes neuronales: así de sencillo (Parte 12): Dropout

Redes neuronales: así de sencillo (Parte 12): Dropout

A la hora de proseguir el estudio de las redes neuronales, probablemente merezca la pena prestar un poco de atención a los métodos capaces de aumentar su convergencia durante el entrenamiento. Existen varios de estos métodos. En este artículo, proponemos al lector analizar uno de ellos: el Dropout (dilución).
preview
Cómo detectar tendencias y patrones de gráficos usando MQL5

Cómo detectar tendencias y patrones de gráficos usando MQL5

El artículo presenta un método para detectar automáticamente patrones de acción del precio usando MQL5, tales como tendencias (ascendentes, descendentes, laterales) y patrones de gráficos (pico doble, valle doble).
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.
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.
MQL5 Wizard: Cómo crear un módulo de gestión de riesgo y dinero
MQL5 Wizard: Cómo crear un módulo de gestión de riesgo y dinero

MQL5 Wizard: Cómo crear un módulo de gestión de riesgo y dinero

El generador de estrategias de trading de MQL5 Wizard simplifica enormemente los procesos de pruebas de los conceptos de trading. En este artículo se describe el modo de desarrollar un módulo de gestión de dinero y habilitarlo en MQL5 Wizard. Como ejemplo, vamos a considerar un algoritmo de gestión de dinero, en el cual se determina el tamaño de la operación mediante los resultados de la transacción anterior. Además, el artículo aborda la descripción del formato de la clase creada para MQL5 Wizard.
preview
Símbolo personalizados: fundamentos de uso en la práctica

Símbolo personalizados: fundamentos de uso en la práctica

El presente artículo está dedicado a la generación programática de los símbolos personalizados que sirven para mostrar varios métodos populares de representación de cotizaciones. Asimismo, ofrecemos una adaptación poco invasiva de asesores para comerciar con un símbolo real desde el gráfico del símbolo personalizado derivado. Los códigos fuente se adjuntan al artículo.
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.
Gestión de errores y logging en MQL5
Gestión de errores y logging en MQL5

Gestión de errores y logging en MQL5

Este artículo se centra en aspectos generales sobre el manejo de los errores de software. Explicaremos qué significa el término logging mediante algunos ejemplos implementados con herramientas de MQL5.
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".
El poder del ZigZag (Parte I). Desarrollando la clase base del indicador
El poder del ZigZag (Parte I). Desarrollando la clase base del indicador

El poder del ZigZag (Parte I). Desarrollando la clase base del indicador

Muchos investigadores no prestan la atención suficiente a la definición del comportamiento de los precios. En este caso, además, se usan métodos complejos que con frecuencia son simplemente «cajas negras», tales como: aprendizaje de máquinas o redes neuronales. En estos casos, lo más importante es: «¿Qué datos suministrar a la entrada para el entrenamiento de este u otro modelo?»
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.
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.
Llega el nuevo MetaTrader 5 y MQL5
Llega el nuevo MetaTrader 5 y MQL5

Llega el nuevo MetaTrader 5 y MQL5

Esta es sólo una breve reseña de MetaTrader 5. No puedo describir todas las nuevas funciones del sistema en tan poco tiempo; las pruebas empezaron el 09/09/2009. Esta es una fecha simbólica, y estoy seguro de que será un número afortunado. Han pasado pocos días desde que tengo la versión beta del terminal MetaTrader 5 y MQL5. No he conseguido probar todas sus funciones, pero ya estoy impresionado.
Libro de Recetas MQL5: Usar Indicadores para Configurar Condiciones de Trading en Asesores Expertos
Libro de Recetas MQL5: Usar Indicadores para Configurar Condiciones de Trading en Asesores Expertos

Libro de Recetas MQL5: Usar Indicadores para Configurar Condiciones de Trading en Asesores Expertos

En este artículo continuaremos modificando el Asesor Experto en el que hemos estado trabajando durante los artículos anteriores de la serie de Libros de Recetas MQL5. En esta ocasión, reforzaremos el Asesor Experto con indicadores cuyos valores se usarán para comprobar las condiciones de apertura de posición. Además crearemos una lista desplegable en los parámetros externos para poder seleccionar uno de los tres indicadores de trading.
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.
preview
Stoploss de PriceAction Fijo o RSI fijo (Smart StopLoss)

Stoploss de PriceAction Fijo o RSI fijo (Smart StopLoss)

Los Stop Loss son una herramienta importante en cuanto a la gestión de dinero en el trading. El uso efectivo de stop-loss, take profit y el tamaño de lote puede hacer que un tráder sea más consistente en el comercio y, sobre todo, que logre mayor rentabilidad. Aunque el stop-loss es una gran herramienta, existen desafíos derivados de su uso. El principal es la caza de stop-loss. Este artículo analiza cómo reducir la caza de stop-loss en el trading y la compara con el uso clásico de stop-loss para determinar su rentabilidad.
Cómo ser un mejor programador (parte 07): Apuntes para convertirse en un desarrollador freelance exitoso
Cómo ser un mejor programador (parte 07): Apuntes para convertirse en un desarrollador freelance exitoso

Cómo ser un mejor programador (parte 07): Apuntes para convertirse en un desarrollador freelance exitoso

¿Desea convertirse en un desarrollador freelance de éxito en MQL5? Si la respuesta es sí, este artículo es justo para usted.
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!
preview
Ejemplo de creación de la estrategia comercial compleja Owl

Ejemplo de creación de la estrategia comercial compleja Owl

Mi estrategia se basa en los fundamentos clásicos del trading y en el perfeccionamiento de indicadores ampliamente usados en todo tipo de mercados. En la práctica, se trata de una herramienta lista para usar que nos permite sacar el máximo rendimiento a la nueva estrategia de negociación rentable propuesta.
Combinando una estrategia de tendencia y una de flat
Combinando una estrategia de tendencia y una de flat

Combinando una estrategia de tendencia y una de flat

Existen diferenets estrategias comerciales. Unas buscan la dirección del movimiento y comercian según la tendencia. Otras definen los intervalos de las oscilaciones de precio y comercian dentro de estos corredores. Así que nos surge la pregunta, ¿podemos combinar los dos enfoques para aumentar la rentabilidad de nuestro comercio?
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.
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.
El Papel de las Distribuciones Estadísticas en el Trabajo del Trader
El Papel de las Distribuciones Estadísticas en el Trabajo del Trader

El Papel de las Distribuciones Estadísticas en el Trabajo del Trader

Este artículo es una continuación lógica de mi artículo "Statistical Probability Distributions in MQL5" ("Distribuciones de Probabilidad Estadísticas en MQL5"), que presentó las clases para trabajar con algunas distribuciones estadísticas teóricas. Ahora que ya tenemos una base teórica, sugiero proceder directamente a conjuntos de datos reales para darle un uso a esta base.
preview
Algoritmos de optimización de la población: Algoritmo Boids, o algoritmo de comportamiento de bandada (Algoritmo Boids, Boids)

Algoritmos de optimización de la población: Algoritmo Boids, o algoritmo de comportamiento de bandada (Algoritmo Boids, Boids)

En este artículo, realizamos un estudio del algoritmo Boids, que se basa en ejemplos únicos del comportamiento de enjambre o bandada de animales. El algoritmo Boids, a su vez, ha servido de base para la creación de toda una clase de algoritmos agrupados bajo el nombre de "inteligencia de enjambre".
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XV): Colección de objetos de símbolo.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XV): Colección de objetos de símbolo.

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XV): Colección de objetos de símbolo.

En el artículo analizaremos la creación de una colección de símbolos basada en el objeto de símbolo abstracto básico creado en el artículo anterior. Los herederos del símbolo abstracto concretarán la información sobre el símbolo. En ellos se organizará la determinación de la accesibilidad en el programa de las propiedades del objeto de símbolo básico, y también se diferenciarán los objetos de símbolo según su pertenencia a un grupo.
Desarrollando un algoritmo de autoadaptación (Parte I): Encontrando un patrón básico
Desarrollando un algoritmo de autoadaptación (Parte I): Encontrando un patrón básico

Desarrollando un algoritmo de autoadaptación (Parte I): Encontrando un patrón básico

En la presente serie de artículos, mostraremos un ejemplo de desarrollo de algoritmos autoadaptativos que tengan en cuenta los factores máximos que surgen en los mercados. Asimismo, veremos la sistematización de estas situaciones, su descripción dentro de una lógica y su consideración a la hora de comerciar. Comenzaremos con un algoritmo muy simple, que con el tiempo adquirirá su propia teoría y evolucionará hasta convertirse en un proyecto muy complejo.
Sobre nuevos raíles: Indicadores personalizados en MQL5
Sobre nuevos raíles: Indicadores personalizados en MQL5

Sobre nuevos raíles: Indicadores personalizados en MQL5

No voy a enumerar todas las posibilidades y características de la nueva terminal y el lenguaje. Son numerosas y algunas de ellas merecen ser tratadas en un artículo separado. Tampoco hay aquí código escrito en lenguaje de programación orientado a objeto. Es un tema demasiado importante como para ser tan solo mencionado como ventaja adicional para los programadores. En este artículo vamos a ver los indicadores, su estructura, diseño, tipos y detalles de su programación al compararlos con MQL4. Espero que este artículo sea de utilidad tanto para principiantes como para programadores experimentados. Puede que algunos de estos últimos encuentren algo nuevo.
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.
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.
Dibujo de indicadores de aguja usando la clase CCanvas
Dibujo de indicadores de aguja usando la clase CCanvas

Dibujo de indicadores de aguja usando la clase CCanvas

Los instrumentos indicadores de esfera nos rodean por todas partes: en los coches y aviones, en la industria y en nuestra vida cotidiana. Se aplican cuando se requiere una rápida reacción al valor controlado por parte del operador. En este artículo conoceremos la biblioteca de instrumentos indicadores para MetaTrader 5.
preview
Aprendiendo a diseñar un sistema de trading con Fractals

Aprendiendo a diseñar un sistema de trading con Fractals

Bienvenidos a un nuevo artículo de nuestra serie destinada a la creación de sistemas comerciales basados en indicadores técnicos populares. Hoy analizaremos otra herramienta técnica, el indicador Fractals, y desarrollaremos sistemas comerciales basados en este para operar en el terminal MetaTrader 5.
preview
Trabajamos con fechas y horas en MQL5

Trabajamos con fechas y horas en MQL5

Resulta esencial que los tráders y desarrolladores de herramientas comerciales comprendan cómo manejar las fechas y horas de manera adecuada y eficaz. En este artículo, veremos cómo podemos manejar fechas y horas al crear herramientas comerciales efectivas.
Optimización automática de EAs en MetaTrader 5
Optimización automática de EAs en MetaTrader 5

Optimización automática de EAs en MetaTrader 5

En este artículo se describe el mecanismo de auto-optimización de un experto que funcione en MetaTrader 5.
Aprendiendo a diseñar un sistema de trading con ADX
Aprendiendo a diseñar un sistema de trading con ADX

Aprendiendo a diseñar un sistema de trading con ADX

En este artículo, continuaremos nuestra serie sobre el diseño de sistemas de trading usando los indicadores más populares, y hablaremos del indicador del índice direccional medio (ADX). Analizaremos este indicador con detalle para entenderlo bien y utilizarlo con una sencilla estrategia. Y es que, profundizando en un indicador, podremos usarlo mejor en el trading.
Trabajando con las funciones de red, o MySQL sin DLL: Parte II - El programa para monitorear los cambios de las propiedades de las señales
Trabajando con las funciones de red, o MySQL sin DLL: Parte II - El programa para monitorear los cambios de las propiedades de las señales

Trabajando con las funciones de red, o MySQL sin DLL: Parte II - El programa para monitorear los cambios de las propiedades de las señales

En el artículo anterior, nos familiarizamos con la implementación del conector MySQL. En esta parte, vamos a analizar su aplicación usado como ejemplo la implementación del servicio de recopilación de las propiedades de las señales y el programa. Además, el ejemplo implementado puede tener un sentido práctico en el caso de que el usuario necesite observar los cambios de las propiedades que no se representan en la página web de la señal.