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
preview
Desarrollo de un EA comercial desde cero (Parte 29): Plataforma parlante

Desarrollo de un EA comercial desde cero (Parte 29): Plataforma parlante

En este artículo aprenderemos a hacer hablar a la plataforma MT5. ¿Qué tal si hacemos que el EA sea más divertido? Operar en los mercados financieros suele ser una actividad extremadamente aburrida y monótona, pero podemos hacerla un poco menos tediosa. Este proyecto podría ser peligroso en caso de que tengas un problema que te haga adicto, pero en realidad con las modificaciones todo el escenario podría ser más entretenido, menos aburrido.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 22): FOREX (III)

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 22): FOREX (III)

Para aquellos que aún no han comprendido la diferencia entre el mercado de acciones y el mercado de divisas (forex), a pesar de que este ya es el tercer artículo en el que abordo esto, debo dejar claro que la gran diferencia es el hecho de que en forex no existe, o mejor dicho, no se nos informa acerca de algunas cosas que realmente ocurrieron en la negociación.
preview
Análisis del sentimiento en Twitter con sockets

Análisis del sentimiento en Twitter con sockets

Este innovador bot comercial integra MetaTrader 5 con Python para aprovechar el análisis del sentimiento de las redes sociales en tiempo real para tomar decisiones comerciales automatizadas. Mediante el análisis del sentimiento en Twitter relacionado con instrumentos financieros específicos, el bot traduce las tendencias de las redes sociales en señales de negociación procesables. Utiliza una arquitectura cliente-servidor con comunicación por socket, lo que permite una interacción perfecta entre las capacidades de negociación de MT5 y la potencia de procesamiento de datos de Python.
preview
Alan Andrews y sus métodos de análisis de series temporales

Alan Andrews y sus métodos de análisis de series temporales

Alan Andrews es uno de los "educadores" más célebres del mundo moderno en el campo del trading. Su "tridente" está incluido en casi todos los programas modernos de análisis de cotizaciones, pero la mayoría de los tráders no utilizan ni una quinta parte de las posibilidades que ofrece esta herramienta. Y el curso original de Andrews incluye una descripción no solo del tridente (aunque sigue siendo lo esencial), sino también de algunas otras líneas útiles. Este artículo ofrece al lector una idea de las maravillosas técnicas de análisis de gráficos que Andrews enseñó en su curso original. Le advertimos que hay muchas fotos.
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
Creación de un panel de indicadores de fuerza relativa (RSI) dinámico, multisímbolo y multiperíodo en MQL5

Creación de un panel de indicadores de fuerza relativa (RSI) dinámico, multisímbolo y multiperíodo en MQL5

En este artículo, desarrollamos un panel dinámico de indicadores RSI multisímbolo y multiperiodo en MQL5, que proporciona a los operadores valores RSI en tiempo real a través de varios símbolos y marcos temporales. El panel cuenta con botones interactivos, actualizaciones en tiempo real e indicadores codificados por colores para ayudar a los operadores a tomar decisiones informadas.
preview
Reimaginando las estrategias clásicas (Parte III): Predicción de máximos crecientes y mínimos decrecientes

Reimaginando las estrategias clásicas (Parte III): Predicción de máximos crecientes y mínimos decrecientes

En esta serie de artículos, analizaremos empíricamente las estrategias comerciales clásicas para ver si podemos mejorarlas utilizando IA. En la discusión de hoy, intentamos predecir máximos más altos y mínimos más bajos utilizando el modelo de análisis discriminante lineal.
preview
Desarrollo de un EA comercial desde cero (Parte 24): Dotando de robustez al sistema (I)

Desarrollo de un EA comercial desde cero (Parte 24): Dotando de robustez al sistema (I)

En este artículo haremos que el sistema sea más robusto, para que sea más estable y seguro de usar. Una forma de conseguir robustez es intentar reutilizar el código lo máximo posible, de esta forma él mismo será probado todo el tiempo y en diversas ocasiones. Pero esta es solo una de las formas, otra forma es el uso de la programación OOP.
preview
Algoritmos de optimización de la población: Algoritmos de estrategias evolutivas (Evolution Strategies, (μ,λ)-ES y (μ+λ)-ES)

Algoritmos de optimización de la población: Algoritmos de estrategias evolutivas (Evolution Strategies, (μ,λ)-ES y (μ+λ)-ES)

En este artículo, analizaremos un grupo de algoritmos de optimización conocidos como "estrategias evolutivas" (Evolution Strategies o ES). Se encuentran entre los primeros algoritmos basados en poblaciones que usan principios evolutivos para encontrar soluciones óptimas. Hoy le presentaremos los cambios introducidos en las variantes clásicas de ES y revisaremos la función de prueba y la metodología del banco de pruebas para los algoritmos.
Gráficos en la biblioteca DoEasy (Parte 81): Integrando gráficos en los objetos de la biblioteca
Gráficos en la biblioteca DoEasy (Parte 81): Integrando gráficos en los objetos de la biblioteca

Gráficos en la biblioteca DoEasy (Parte 81): Integrando gráficos en los objetos de la biblioteca

Vamos a comenzar a integrar los objetos gráficos ya creados en el resto de objetos de la biblioteca creados previamente, lo que finalmente dotará a cada objeto de biblioteca de su propio objeto gráfico, permitiendo al usuario interactuar con el programa.
preview
Algoritmos de optimización de la población: Algoritmo genético binario (Binary Genetic Algorithm, BGA). Parte II

Algoritmos de optimización de la población: Algoritmo genético binario (Binary Genetic Algorithm, BGA). Parte II

En este artículo, analizaremos el algoritmo genético binario (BGA), que modela los procesos naturales que ocurren en el material genético de los seres vivos en la naturaleza.
preview
Construya Asesores Expertos Auto-Optimizables con MQL5 y Python

Construya Asesores Expertos Auto-Optimizables con MQL5 y Python

En este artículo, vamos a discutir cómo podemos construir Asesores Expertos capaces de seleccionar de forma autónoma y cambiar las estrategias de negociación en función de las condiciones imperantes en el mercado. Aprenderemos sobre las cadenas de Markov y cómo pueden sernos útiles como operadores algorítmicos.
preview
Trabajando con las series temporales en la biblioteca DoEasy (Parte 54): Clases herederas del indicador abstracto básico

Trabajando con las series temporales en la biblioteca DoEasy (Parte 54): Clases herederas del indicador abstracto básico

En este artículo, vamos a hablar de la creación de las clases de los objetos herederos del indicador abstracto básico. Estos objetos nos permitirán crear los asesores expertos tipo indicador, recopilar y obtener estadísticas de valores de datos de diferentes indicadores y precios. Además, crearemos una colección de objetos de indicador de la cual se podrá obtener el acceso a las propiedades y datos de cada indicador creado en el programa.
Gráficos en la biblioteca DoEasy (Parte 87): Colección de objetos gráficos - control de la modificación de propiedades en todos los gráficos abiertos
Gráficos en la biblioteca DoEasy (Parte 87): Colección de objetos gráficos - control de la modificación de propiedades en todos los gráficos abiertos

Gráficos en la biblioteca DoEasy (Parte 87): Colección de objetos gráficos - control de la modificación de propiedades en todos los gráficos abiertos

En este artículo, continuaremos trabajando en el monitoreo de los eventos de los objetos gráficos estándar y crearemos una funcionalidad que nos permitirá controlar los cambios en las propiedades de los objetos gráficos colocados en cualquier gráfico abierto en el terminal.
preview
Cómo usar la API de datos JSON en sus proyectos MQL

Cómo usar la API de datos JSON en sus proyectos MQL

Imagina que puedes utilizar datos que no se encuentran en MetaTrader, solo obtienes datos de los indicadores mediante análisis de precios y análisis técnico. Ahora imagina que puedes acceder a datos que aumentarán tu poder comercial. Puede multiplicar la potencia del software MetaTrader si combina la salida de otro software, métodos de análisis macro y herramientas ultra avanzadas a través de los datos de la API. En este artículo, le enseñaremos cómo utilizar las API y le presentaremos servicios de datos API útiles y valiosos.
preview
Mejore sus gráficos comerciales con una GUI interactiva basada en MQL5 (Parte III): Interfaz comercial simple y móvil

Mejore sus gráficos comerciales con una GUI interactiva basada en MQL5 (Parte III): Interfaz comercial simple y móvil

En esta serie de artículos analizamos la integración de interfaces gráficas interactivas en paneles comerciales móviles en MQL5. En la tercera parte, utilizaremos los desarrollos de las partes anteriores para convertir paneles comerciales estáticos en dinámicos.
preview
DoEasy. Elementos de control (Parte 12): Objeto de lista básico, objetos WinForms ListBox y ButtonListBox

DoEasy. Elementos de control (Parte 12): Objeto de lista básico, objetos WinForms ListBox y ButtonListBox

En este artículo, crearemos un objeto de lista básico de objetos WinForms y dos nuevos objetos: ListBox y ButtonListBox.
preview
Dominando ONNX: Un punto de inflexión para los tráders de MQL5

Dominando ONNX: Un punto de inflexión para los tráders de MQL5

Sumérjase en el mundo de ONNX, un potente formato abierto para compartir modelos de aprendizaje automático. Descubra cómo el uso de ONNX puede revolucionar el trading algorítmico en MQL5, permitiendo a los tráders integrar sin problemas modelos avanzados de IA y llevar sus estrategias al siguiente nivel. Descubra los secretos de la compatibilidad multiplataforma y aprenda a liberar todo el potencial de ONNX en sus operaciones MQL5. Mejore sus operaciones con esta guía detallada de ONNX.
preview
DoEasy. Elementos de control (Parte 7): Elemento de control "etiqueta de texto".

DoEasy. Elementos de control (Parte 7): Elemento de control "etiqueta de texto".

En este artículo, crearemos la clase de control «Etiqueta de texto» de WinForms. Dicho objeto se podrá colocar en cualquier lugar de nuestro contenedor, y su propia funcionalidad replicará algunas de las funcionalidades de las etiquetas de texto de MS Visual Studio: podremos establecer los parámetros de fuente para el texto mostrado.
preview
Características del Wizard MQL5 que debe conocer (Parte 1): Análisis de regresión

Características del Wizard MQL5 que debe conocer (Parte 1): Análisis de regresión

De manera consciente o inconsciente, el tráder moderno está casi siempre en busca de nuevas ideas, probando constantemente nuevas estrategias, modificándolas y descartando las que han fracasado. Este proceso de investigación requiere mucho tiempo y se ve acompañado por muchos errores. En esta serie de artículos, intentaré demostrar que el Wizard MQL5 es un verdadero apoyo para el tráder. Gracias al Wizard, el tráder podrá ahorrar tiempo a la hora de poner en práctica sus ideas. Asimismo, podrá reducir la probabilidad de que surjan errores por duplicación de código. En lugar de perder el tiempo con el código, los tráders tendrán la posibilidad de poner en práctica su filosofía comercial.
preview
Teoría de categorías en MQL5 (Parte 1)

Teoría de categorías en MQL5 (Parte 1)

La teoría de categorías es un área diversa y en expansión de las matemáticas, relativamente inexplorada aún en la comunidad MQL. Esta serie de artículos tiene como objetivo destacar algunos de sus conceptos para crear una biblioteca abierta y seguir utilizando esta maravillosa sección para crear estrategias comerciales.
preview
Redes neuronales: así de sencillo (Parte 88): Codificador de series temporales totalmente conectadas (TiDE)

Redes neuronales: así de sencillo (Parte 88): Codificador de series temporales totalmente conectadas (TiDE)

El deseo de obtener las previsiones más exactas impulsa a los investigadores a aumentar la complejidad de los modelos de previsión. Lo que a su vez conlleva un aumento de los costes de entrenamiento y mantenimiento del modelo. Pero, ¿está esto siempre justificado? En el presente artículo, me propongo presentarles un algoritmo que explota la sencillez y rapidez de los modelos lineales y muestra resultados a la altura de los mejores con arquitecturas más complejas.
preview
Redes neuronales en el trading: Transformador contrastivo de patrones

Redes neuronales en el trading: Transformador contrastivo de patrones

El transformador contrastivo de patrones analiza la situación del mercado tanto a nivel de velas individuales como de patrones completos, lo cual contribuye a mejorar la calidad de modelado de las tendencias del mercado, mientras que el uso del aprendizaje por contraste para emparejar las representaciones de velas y patrones conduce a la autorregulación y a la mejora de la precisión de la predicción.
preview
Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 3): Prefijos/sufijos de símbolos y sesión comercial

Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 3): Prefijos/sufijos de símbolos y sesión comercial

Últimamente, he recibido comentarios de varios compañeros tráders sobre cómo usar el asesor multidivisa que estamos analizando con brókeres que utilizan prefijos y/o sufijos con nombres de símbolos, así como sobre la forma de implementar zonas horarias comerciales o sesiones comerciales en el asesor.
preview
Envolviendo modelos ONNX en clases

Envolviendo modelos ONNX en clases

La programación orientada a objetos permite crear un código más compacto, fácil de leer y modificar. Le presentamos un ejemplo para tres modelos ONNX.
preview
Análisis cuantitativo en MQL5: implementamos un algoritmo prometedor

Análisis cuantitativo en MQL5: implementamos un algoritmo prometedor

Hoy veremos qué es el análisis cuantitativo, cómo lo utilizan los grandes jugadores y crearemos uno de los algoritmos de análisis cuantitativo en MQL5.
preview
Desarrollando un EA comercial desde cero (Parte 19): Un nuevo sistema de órdenes (II)

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

Aquí vamos a desarrollar un sistema gráfico de órdenes, del tipo «vea lo que está pasando». Cabe decir que no partiremos de cero, sino que modificaremos el sistema existente añadiendo aún más objetos y eventos al gráfico del activo que estamos negociando.
preview
DoEasy. Elementos de control (Parte 25): El objeto WinForms «Tooltip»

DoEasy. Elementos de control (Parte 25): El objeto WinForms «Tooltip»

En este artículo, comenzaremos a desarrollar el control Tooltip ("pista emergente") y comenzaremos a crear nuevas primitivas gráficas para la biblioteca. Obviamente, no todos los elementos tendrán sugerencias emergentes, pero cada objeto gráfico poseerá la capacidad de configurarla.
preview
Cómo construir y optimizar un sistema de trading basado en la volatilidad (Chaikin Volatility - CHV)

Cómo construir y optimizar un sistema de trading basado en la volatilidad (Chaikin Volatility - CHV)

En este artículo, proporcionaremos otro indicador basado en la volatilidad llamado Chaikin Volatility. Entenderemos cómo construir un indicador personalizado después de identificar cómo se puede utilizar y construir. Compartiremos algunas estrategias sencillas que se pueden utilizar y luego las pondremos a prueba para entender cuál puede ser mejor.
preview
Creación de un asesor experto MQL5 basado en la estrategia de ruptura del rango diario (Daily Range Breakout)

Creación de un asesor experto MQL5 basado en la estrategia de ruptura del rango diario (Daily Range Breakout)

En este artículo, creamos un Asesor Experto MQL5 basado en la estrategia de ruptura del rango diario (Daily Range Breakout). Cubrimos los conceptos clave de la estrategia, diseñamos el plano del EA e implementamos la lógica de ruptura en MQL5. Al final, exploramos técnicas para realizar pruebas retrospectivas y optimizar el EA con el fin de maximizar su eficacia.
preview
Desarrollando un EA comercial desde cero (Parte 17): Acceso a los datos en la web (III)

Desarrollando un EA comercial desde cero (Parte 17): Acceso a los datos en la web (III)

En este artículo continuaremos a aprender cómo obtener datos de la web para utilizarlos en un EA. Así que pongamos manos a la obra, o más bien a empezar a codificar un sistema alternativo.
preview
Redes neuronales: así de sencillo (Parte 48): Métodos para reducir la sobreestimación de los valores de la función Q

Redes neuronales: así de sencillo (Parte 48): Métodos para reducir la sobreestimación de los valores de la función Q

En el artículo anterior, presentamos el método DDPG, que nos permite entrenar modelos en un espacio de acción continuo. Sin embargo, al igual que otros métodos de aprendizaje Q, el DDPG tiende a sobreestimar los valores de la función Q. Con frecuencia, este problema provoca que entrenemos los agentes con una estrategia subóptima. En el presente artículo, analizaremos algunos enfoques para superar el problema mencionado.
preview
Implementando el algoritmo de aprendizaje ARIMA en MQL5

Implementando el algoritmo de aprendizaje ARIMA en MQL5

En este artículo, implementaremos un algoritmo que aplica un modelo autorregresivo de media móvil integrada (modelo Box-Jenkins) utilizando el método de minimización de la función de Powell. Box y Jenkins argumentaron que la mayoría de las series temporales se pueden modelar con una o ambas estructuras.
preview
Aprendiendo MQL5 de principiante a profesional (Parte III): Tipos de datos complejos y archivos de inclusión

Aprendiendo MQL5 de principiante a profesional (Parte III): Tipos de datos complejos y archivos de inclusión

Este artículo es el tercero de una serie de materiales sobre los principales aspectos de la programación en MQL5. Aquí nos encargaremos de tipos de datos complejos que no describimos en el artículo anterior, como estructuras, uniones, clases y el tipo de datos "función". También veremos cómo añadir modularidad a nuestro programa utilizando la directiva #include del preprocesador.
preview
Desarrollamos un asesor experto multidivisa (Parte 14): Cambio de volumen adaptable en el gestor de riesgos

Desarrollamos un asesor experto multidivisa (Parte 14): Cambio de volumen adaptable en el gestor de riesgos

El gestor de riesgos que hemos desarrollado en los últimos artículos solo contiene funciones básicas. Hoy trataremos de analizar sus posibles formas de desarrollo, lo que nos permitirá aumentar los resultados comerciales sin interferir con la lógica de las estrategias de negociación.
preview
Añadimos un LLM personalizado a un robot comercial (Parte 1): Desplegando el equipo y el entorno

Añadimos un LLM personalizado a un robot comercial (Parte 1): Desplegando el equipo y el entorno

Los modelos lingüísticos (LLM) son una parte importante de la inteligencia artificial que evoluciona rápidamente, por lo que debemos plantearnos cómo integrar unos LLM potentes en nuestro comercio algorítmico. A la mayoría de la gente le resulta difícil personalizar estos potentes modelos para adaptarlos a sus necesidades, implantarlos de forma local y luego aplicarlos al trading algorítmico. En esta serie de artículos abordaremos un enfoque paso a paso para lograr este objetivo.
preview
Integración de modelos ocultos de Márkov en MetaTrader 5

Integración de modelos ocultos de Márkov en MetaTrader 5

En este artículo demostramos cómo los modelos ocultos de Márkov entrenados con Python pueden integrarse en las aplicaciones de MetaTrader 5. Los modelos ocultos de Márkov son una potente herramienta estadística utilizada para modelar datos de series temporales, en los que el sistema modelado se caracteriza por estados no observables (ocultos). Una premisa fundamental de los modelos ocultos de Márkov es que la probabilidad de estar en un estado determinado en un momento concreto depende del estado del proceso en el intervalo de tiempo anterior.
preview
Creación de un modelo de restricción de tendencia de velas (Parte 7): Perfeccionamos nuestro modelo de desarrollo de la EA

Creación de un modelo de restricción de tendencia de velas (Parte 7): Perfeccionamos nuestro modelo de desarrollo de la EA

En este artículo, profundizaremos en la preparación detallada de nuestro indicador para el desarrollo del Asesor Experto (EA). Nuestro debate abarcará mejoras adicionales en la versión actual del indicador para mejorar su precisión y funcionalidad. Además, introduciremos nuevas características que marcan puntos de salida, abordando una limitación de la versión anterior, que solo identificaba puntos de entrada.
preview
Desarrollando un EA comercial desde cero (Parte 15): Acceso a los datos en la web (I)

Desarrollando un EA comercial desde cero (Parte 15): Acceso a los datos en la web (I)

Cómo acceder a los datos en la web dentro de MetaTrader 5. En la web tenemos varios sitios y lugares en los que una gran y vasta cantidad de información está disponible y accesible para aquellos que saben dónde buscar y cómo utilizar mejor esta información.
preview
Redes neuronales: así de sencillo (Parte 47): Espacio continuo de acciones

Redes neuronales: así de sencillo (Parte 47): Espacio continuo de acciones

En este artículo ampliamos el abanico de tareas de nuestro agente. El proceso de entrenamiento incluirá algunos aspectos de la gestión de capital y del riesgo que forma parte integral de cualquier estrategia comercial.