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
Gráficos en la biblioteca DoEasy (Parte 84): Clases herederas del objeto gráfico abstracto estándar
Gráficos en la biblioteca DoEasy (Parte 84): Clases herederas del objeto gráfico abstracto estándar

Gráficos en la biblioteca DoEasy (Parte 84): Clases herederas del objeto gráfico abstracto estándar

En este artículo, analizaremos la creación de las clases herederas del objeto gráfico abstracto estándar del terminal. El objeto de esta clase describirá las propiedades comunes para todos los objetos gráficos, es decir, se tratará simplemente de un cierto objeto gráfico. Para aclarar su pertenencia a un objeto gráfico real, necesitaremos heredar de él, y en la clase del objeto heredado, escribir las propiedades inherentes a ese objeto gráfico en particular.
preview
Algoritmos de optimización de la población: Algoritmo de optimización de ballenas (Whale Optimization Algorithm, WOA)

Algoritmos de optimización de la población: Algoritmo de optimización de ballenas (Whale Optimization Algorithm, WOA)

El algoritmo de optimización de ballenas (WOA) es un algoritmo metaheurístico inspirado en el comportamiento y las estrategias de caza de las ballenas jorobadas. La idea básica del WOA es imitar el método de alimentación denominado "red de burbujas", en el que las ballenas crean burbujas alrededor de la presa para atacarla después en espiral.
preview
Redes neuronales: así de sencillo (Parte 80): Modelo generativo y adversarial del Transformador de grafos (GTGAN)

Redes neuronales: así de sencillo (Parte 80): Modelo generativo y adversarial del Transformador de grafos (GTGAN)

En este artículo, le presentamos el algoritmo GTGAN, introducido en enero de 2024 para resolver problemas complejos de disposición arquitectónica con restricciones gráficas.
preview
Redes neuronales: así de sencillo (Parte 21): Autocodificadores variacionales (VAE)

Redes neuronales: así de sencillo (Parte 21): Autocodificadores variacionales (VAE)

En el anterior artículo, vimos el algoritmo del autocodificador. Como cualquier otro algoritmo, tiene ventajas y desventajas. En la implementación original, el autocodificador se encarga de dividir los objetos de la muestra de entrenamiento tanto como sea posible. Y en este artículo, en cambio, hablaremos de cómo solucionar algunas de sus deficiencias.
preview
Biblioteca de análisis numérico ALGLIB en MQL5

Biblioteca de análisis numérico ALGLIB en MQL5

En este artículo, echaremos un vistazo rápido a la biblioteca de análisis numérico ALGLIB 3.19, sus aplicaciones y sus nuevos algoritmos, que pueden mejorar la eficiencia del análisis de datos financieros.
Enfoque ideal sobre el desarrollo y el análisis de sistemas comerciales
Enfoque ideal sobre el desarrollo y el análisis de sistemas comerciales

Enfoque ideal sobre el desarrollo y el análisis de sistemas comerciales

En el presente artículo, trataremos de mostrar con qué criterio elegir un sistema o señal para invertir nuestro dinero, además de cuál es el mejor enfoque para desarrollar sistemas comerciales y por qué este tema es tan importante en el comercio en fórex.
preview
Desarrollando un EA comercial desde cero (Parte 11): Sistema de órdenes cruzadas

Desarrollando un EA comercial desde cero (Parte 11): Sistema de órdenes cruzadas

Creación de un sistema de órdenes cruzadas. Hay una clase de activos que les hace la vida muy difícil a los comerciantes, estos son los activos de contratos futuros, y ¿por qué le hacen la vida difícil al comerciante?
preview
Analizamos PrintFormat() y tomamos ejemplos listos para usar

Analizamos PrintFormat() y tomamos ejemplos listos para usar

El presente artículo resultará útil tanto a principiantes como a desarrolladores experimentados. En él veremos el funcionamiento de la función PrintFormat(), analizaremos ejemplos de formato string y escribiremos plantillas para enviar información diversa al registro del terminal.
preview
Automatización de estrategias comerciales con la estrategia de tendencia Parabolic SAR en MQL5: Creación de un asesor experto eficaz

Automatización de estrategias comerciales con la estrategia de tendencia Parabolic SAR en MQL5: Creación de un asesor experto eficaz

En este artículo, automatizaremos las estrategias comerciales con la estrategia Parabolic SAR en MQL5: Creación de un asesor experto eficaz. El EA realizará operaciones basadas en las tendencias identificadas por el indicador Parabolic SAR.
preview
Redes neuronales: así de sencillo (Parte 32): Aprendizaje Q distribuido

Redes neuronales: así de sencillo (Parte 32): Aprendizaje Q distribuido

En uno de los artículos de esta serie, nos familiarizamos con el método de aprendizaje Q. Este método promedia las recompensas de cada acción. En 2017 se presentaron dos trabajos que muestran un mayor éxito al estudiar la función de distribución de recompensas. Vamos a analizar la posibilidad de utilizar esta tecnología para resolver nuestros problemas.
preview
Indicador CCI. Modernización y nuevas posibilidades

Indicador CCI. Modernización y nuevas posibilidades

En este artículo, analizaremos la posibilidad de modernizar el indicador CCI. Además, presentaremos un ejemplo de modificación de este indicador.
preview
Programación orientada a objetos (OOP) en MQL5

Programación orientada a objetos (OOP) en MQL5

Como desarrolladores, debemos aprender a crear y desarrollar software que sea reutilizable y flexible sin duplicar código, especialmente si tenemos diferentes objetos con comportamientos distintos. Esto se puede lograr fácilmente utilizando las técnicas y principios de la programación orientada a objetos. En este artículo le presentamos los conceptos básicos de la programación orientada a objetos en MQL5.
preview
Representaciones en el dominio de la frecuencia de series temporales: El espectro de potencia

Representaciones en el dominio de la frecuencia de series temporales: El espectro de potencia

En este artículo, veremos métodos asociados con el análisis de series temporales en el dominio de la frecuencia. También prestaremos atención a los beneficios del estudio de las funciones espectrales de series temporales al construir modelos predictivos. Además, analizaremos algunas perspectivas prometedoras para el análisis de series temporales en el dominio de la frecuencia utilizando la transformada discreta de Fourier (DFT).
Gráficos en la biblioteca DoEasy (Parte 75): Métodos de trabajo con primitivas y texto en el elemento gráfico básico
Gráficos en la biblioteca DoEasy (Parte 75): Métodos de trabajo con primitivas y texto en el elemento gráfico básico

Gráficos en la biblioteca DoEasy (Parte 75): Métodos de trabajo con primitivas y texto en el elemento gráfico básico

En el presente artículo, continuaremos el desarrollo de la clase de elemento gráfico de todos los elementos gráficos de la biblioteca creados sobre la base de la Biblioteca Estándar CCanvas. En concreto, crearemos los métodos para dibujar las primitivas gráficas y los métodos para mostrar el texto en un objeto de elemento gráfico.
preview
Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 1): Señales basadas en ADX combinadas con Parabolic SAR

Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 1): Señales basadas en ADX combinadas con Parabolic SAR

En este artículo, entenderemos por asesor multidivisa un asesor o robot comercial que puede comerciar (abrir/cerrar órdenes, gestionar órdenes, etc.) con más de un par de símbolos de un gráfico.
preview
Desarrollo de un EA comercial desde cero (Parte 28): Rumbo al futuro (III)

Desarrollo de un EA comercial desde cero (Parte 28): Rumbo al futuro (III)

Nuestro sistema de órdenes todavía falla en hacer una cosa, pero FINALMENTE lo resolveremos...
preview
Comprobando la informatividad de distintos tipos de medias móviles

Comprobando la informatividad de distintos tipos de medias móviles

Todos conocemos la importancia de la media móvil para muchos tráders. Existen diferentes tipos de medias móviles que pueden resultar útiles en el trading. Vamos a echarles un vistazo y a hacer una sencilla comparación para ver cuál puede dar mejores resultados.
preview
Introducción a MQL5 (Parte 8): Guía del trading algorítmico para principiantes (II)

Introducción a MQL5 (Parte 8): Guía del trading algorítmico para principiantes (II)

Este artículo aborda preguntas comunes de principiantes en los foros de MQL5 y demuestra soluciones prácticas. Aprenda a realizar tareas esenciales como comprar y vender, obtener precios de velas y administrar aspectos del trading automatizado como límites de trading, períodos de trading y umbrales de ganancias/pérdidas. Obtenga orientación paso a paso para mejorar su comprensión e implementación de estos conceptos en MQL5.
preview
Cómo empezar a trabajar con MQL5 Algo Forge

Cómo empezar a trabajar con MQL5 Algo Forge

Le presentamos MQL5 Algo Forge, un portal especial para desarrolladores de algoritmos comerciales. El portal combina las características de Git con una interfaz fácil de usar para mantener y organizar proyectos dentro del ecosistema MQL5. Aquí podrá suscribirse a autores que le resulten interesantes, crear equipos y llevar a cabo proyectos conjuntos sobre trading algorítmico.
preview
Métodos de William Gann (Parte I): Creación del indicador de ángulos de Gann

Métodos de William Gann (Parte I): Creación del indicador de ángulos de Gann

¿Cuál es la esencia de la teoría de Gann? ¿Cómo se construyen los ángulos de Gann? Crearemos un indicador de ángulos de Gann para MetaTrader 5.
preview
Redes neuronales: así de sencillo (Parte 19): Reglas asociativas usando MQL5

Redes neuronales: así de sencillo (Parte 19): Reglas asociativas usando MQL5

Continuamos con el tema de la búsqueda de reglas asociativas. En el artículo anterior, vimos los aspectos teóricos de este tipo de problemas. En el presente artículo, mostraremos la implementación del método FP-Growth usando MQL5. Y también pondremos a prueba nuestra aplicación con datos reales.
preview
Usando la clase CCanvas en las aplicaciones MQL

Usando la clase CCanvas en las aplicaciones MQL

En este artículo, hablaremos sobre el uso de la clase CCanvas en las aplicaciones MQL, ofreciendo un análisis detallado y con ejemplos del tema. Asimismo, mostraremos a los usuarios los fundamentos necesarios para trabajar con esta herramienta.
preview
Transacciones comerciales. Estructuras de solicitud y respuesta, descripción y registro.

Transacciones comerciales. Estructuras de solicitud y respuesta, descripción y registro.

En el presente artículo veremos cómo trabajar con las estructuras de las solicitudes comerciales: la creación de una solicitud, su verificación preliminar antes de enviarla al servidor, la respuesta del servidor a una solicitud comercial y la estructura de las transacciones comerciales. Asimismo, crearemos funciones simples y cómodas para enviar órdenes comerciales al servidor y, basándonos en todo lo discutido, y también crearemos un asesor-informante sobre las transacciones comerciales.
preview
Aprendizaje automático y Data Science (Parte 9): Algoritmo de k vecinos más próximos (KNN)

Aprendizaje automático y Data Science (Parte 9): Algoritmo de k vecinos más próximos (KNN)

Se trata de un algoritmo perezoso que no aprende a partir de una muestra de entrenamiento, sino que almacena todas las observaciones disponibles y clasifica los datos en cuanto recibe una nueva muestra. A pesar de su sencillez, este método se usa en muchas aplicaciones del mundo real.
preview
Desarrollando un EA comercial desde cero (Parte 22): Un nuevo sistema de órdenes (V)

Desarrollando un EA comercial desde cero (Parte 22): Un nuevo sistema de órdenes (V)

Hoy seguiremos desarrollando el nuevo sistema de ordenes. No es nada fácil implementar un nuevo sistema, muchas veces nos encontramos con problemas que dificultan mucho el proceso, cuando suceden hay que parar y volver a analizar el rumbo que se está tomando.
Otras clases en la biblioteca DoEasy (Parte 66): Clases de Colección de Señales MQL5.com
Otras clases en la biblioteca DoEasy (Parte 66): Clases de Colección de Señales MQL5.com

Otras clases en la biblioteca DoEasy (Parte 66): Clases de Colección de Señales MQL5.com

En este artículo, crearemos una clase de colección de señales del Servicio de señales de MQL5.com con funciones para gestionar las señales suscritas, y también modificaremos la clase del objeto de instantánea de la profundidad de mercado para mostrar el volumen total de la profundidad de mercado de compra y venta.
preview
Desarrollando un EA comercial desde cero (Parte 08): Un salto conceptual (I)

Desarrollando un EA comercial desde cero (Parte 08): Un salto conceptual (I)

¿Cómo implementar una nueva funcionalidad de la forma más sencilla posible? Aquí daremos un paso atrás y luego daremos dos pasos adelante.
preview
Introducción a MQL5 (Parte 4): Estructuras, clases y funciones de tiempo

Introducción a MQL5 (Parte 4): Estructuras, clases y funciones de tiempo

En esta serie, seguiremos desvelando los secretos de la programación. En nuestro nuevo artículo, aprenderemos los fundamentos de las estructuras, las clases y las funciones de tiempo y adquiriremos nuevas habilidades para lograr una programación eficiente. Esta guía será probablemente útil no solo para los principiantes, sino también para los desarrolladores experimentados, ya que simplifica conceptos complejos, ofreciendo información valiosa para dominar MQL5. Así que hoy podrá seguir aprendiendo cosas nuevas, mejorando sus conocimientos de programación y dominando el mundo del trading algorítmico.
preview
Gestión de Riesgo (parte 3): Construyendo la Clase Principal para la Gestión de Riesgo

Gestión de Riesgo (parte 3): Construyendo la Clase Principal para la Gestión de Riesgo

En este artículo daremos inicio a la creación de la clase principal de gestión de riesgo, la cual será fundamental para administrar el riesgo en el sistema. Nos enfocaremos en construir las bases, definiendo estructuras, variables y funciones esenciales. Además, implementaremos los métodos necesarios para asignar valores a las pérdidas y ganancias máximas, estableciendo así los cimientos de esta gestión.
preview
Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 2): Señales del indicador - Parabolic SAR de marco temporal múltiple

Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 2): Señales del indicador - Parabolic SAR de marco temporal múltiple

En este artículo, entenderemos por asesor multidivisa un asesor o robot comercial que puede comerciar (abrir/cerrar órdenes, gestionar órdenes, por ejemplo, trailing-stop y trailing-profit, etc.) con más de un par de símbolos de un gráfico. Esta vez usaremos solo un indicador, a saber, Parabolic SAR o iSAR en varios marcos temporales, comenzando desde PERIOD_M15 y terminando con PERIOD_D1.
Uso de criptografía con aplicaciones externas
Uso de criptografía con aplicaciones externas

Uso de criptografía con aplicaciones externas

En el presente artículo, analizaremos la encriptación/desencriptación de objetos en MetaTrader y los programas externos para aclarar las condiciones en las que se obtendrán los mismos resultados con los mismos datos iniciales.
Otras clases en la biblioteca DoEasy (Parte 72): Seguimiento y registro de parámetros de los objetos de gráfico en la colección
Otras clases en la biblioteca DoEasy (Parte 72): Seguimiento y registro de parámetros de los objetos de gráfico en la colección

Otras clases en la biblioteca DoEasy (Parte 72): Seguimiento y registro de parámetros de los objetos de gráfico en la colección

En el presente artículo, finalizaremos el trabajo con las clases de los objetos de gráfico y sus colecciones. Implementaremos el seguimiento automático del cambio de las propiedades de los gráficos y sus ventanas, y también el almacenamiento de los parámetros en las propiedades del objeto. Estas mejoras nos permitirán en el futuro crear una funcionalidad de eventos para la colección de gráficos al completo.
preview
Múltiples indicadores en un gráfico (Parte 05): Convirtamos el MetaTrader 5 en un sistema RAD (I)

Múltiples indicadores en un gráfico (Parte 05): Convirtamos el MetaTrader 5 en un sistema RAD (I)

A pesar de no saber programar, muchas personas son bastante creativas y tienen grandes ideas, pero la falta de conocimientos o de entendimiento sobre la programación les impide hacer algunas cosas. Aprenda a crear un Chart Trade, pero utilizando la propia plataforma MT5, como si fuera un IDE.
Gráficos en la biblioteca DoEasy (Parte 74): Elemento gráfico básico sobre la clase CCanvas
Gráficos en la biblioteca DoEasy (Parte 74): Elemento gráfico básico sobre la clase CCanvas

Gráficos en la biblioteca DoEasy (Parte 74): Elemento gráfico básico sobre la clase CCanvas

En esta ocasión, vamos a revisar el concepto de construcción de objetos gráficos del artículo anterior y a preparar una clase básica para todos los objetos gráficos de la biblioteca creados sobre la base de la clase CCanvas de la Biblioteca Estándar.
preview
Aprendizaje automático y data science (Parte 04): Predicción de una caída bursátil

Aprendizaje automático y data science (Parte 04): Predicción de una caída bursátil

En este artículo, intentaremos usar nuestro modelo logístico para predecir una caída del mercado de valores según las principales acciones de la economía estadounidense: NETFLIX y APPLE. Analizaremos estas acciones, y también usaremos la información sobre las anteriores caídas del mercado en 2019 y 2020. Veamos cómo funcionará nuestro modelo en las poco favorables condiciones actuales.
preview
Practicando el desarrollo de estrategias de trading

Practicando el desarrollo de estrategias de trading

En este artículo, intentaremos desarrollar nuestra propia estrategia de trading. Toda estrategia de trading debe basarse en algún tipo de ventaja estadística. Además, esta ventaja debería existir durante mucho tiempo.
preview
Sistema de arbitraje de alta frecuencia en Python con MetaTrader 5

Sistema de arbitraje de alta frecuencia en Python con MetaTrader 5

Hoy vamos a crear un sistema de arbitraje legal a los ojos de los brókeres, que creará miles de precios sintéticos en el mercado Fórex, los analizará y negociará con éxito para obtener beneficios.
preview
Cómo crear un panel interactivo MQL5 utilizando la clase Controls (Parte 1): Configuración del panel

Cómo crear un panel interactivo MQL5 utilizando la clase Controls (Parte 1): Configuración del panel

En este artículo, creamos un panel de control interactivo para operaciones bursátiles utilizando la clase Controls en MQL5, diseñada para optimizar las operaciones bursátiles. El panel incluye un título, botones de navegación para Operar, Cerrar e Información, y botones de acción especializados para ejecutar operaciones y gestionar posiciones. Al final del artículo, tendrás un panel base listo para futuras mejoras en futuras entregas.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 01): Primeros experimentos (I)

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 01): Primeros experimentos (I)

¿Qué te parece crear un sistema para estudiar el mercado cuando está cerrado o simular situaciones de mercado? Aquí iniciaremos una nueva secuencia de artículos para tratar este tema.
preview
Búsqueda de patrones arbitrarios de pares de divisas en Python con ayuda de MetaTrader 5

Búsqueda de patrones arbitrarios de pares de divisas en Python con ayuda de MetaTrader 5

¿Existen patrones y regularidades recurrentes en el mercado de divisas? He decidido crear mi propio sistema de análisis de patrones usando Python y MetaTrader 5. Una simbiosis de matemáticas y programación para conquistar Fórex.