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
Simulación de mercado (Parte 02): Orden cruzada (II)

Simulación de mercado (Parte 02): Orden cruzada (II)

A diferencia de lo que se vio en el artículo anterior, aquí vamos a hacer el control de selección en el Asesor Experto. Aunque esta no es aún una solución definitiva, nos servirá por ahora. Así que acompaña el artículo para entender cómo implementar una de las soluciones posibles.
preview
Reimaginando las estrategias clásicas: El petróleo

Reimaginando las estrategias clásicas: El petróleo

En este artículo, revisamos una estrategia clásica de negociación de crudo con el objetivo de mejorarla aprovechando algoritmos de aprendizaje automático supervisado. Construiremos un modelo de mínimos cuadrados para predecir los futuros precios del crudo Brent basándonos en el diferencial entre los precios del crudo Brent y del crudo WTI. Nuestro objetivo es identificar un indicador adelantado de futuros cambios en los precios del Brent.
preview
Creación de un asesor experto integrado de MQL5 y Telegram (Parte 7): Análisis de comandos para la automatización de indicadores en los gráficos

Creación de un asesor experto integrado de MQL5 y Telegram (Parte 7): Análisis de comandos para la automatización de indicadores en los gráficos

En este artículo, exploramos cómo integrar los comandos en Telegram con MQL5 para automatizar la adición de indicadores en los gráficos de trading. Cubrimos el proceso de análisis sintáctico de los comandos del usuario, ejecutándolos en MQL5, y probando el sistema para asegurar un comercio basado en indicadores sin problemas.
preview
Análisis de todas las variantes del movimiento de precios en una computadora cuántica IBM

Análisis de todas las variantes del movimiento de precios en una computadora cuántica IBM

Hoy utilizaremos un computadora cuántica de IBM para descubrir todas las variantes del movimiento de los precios. ¿Le suena a ciencia ficción? ¡Bienvenido al mundo de la informática cuántica para el trading!
preview
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 4): Dimensionamiento dinámico de posiciones

Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 4): Dimensionamiento dinámico de posiciones

El uso exitoso del trading algorítmico requiere un aprendizaje continuo e interdisciplinario. Sin embargo, la infinita gama de posibilidades puede consumir años de esfuerzo sin producir resultados tangibles. Para abordar esta cuestión, proponemos un marco que introduce gradualmente la complejidad, lo que permite a los operadores perfeccionar sus estrategias de forma iterativa en lugar de dedicar un tiempo indefinido a resultados inciertos.
preview
Cambiamos a MQL5 Algo Forge (Parte 1): Creación del repositorio principal

Cambiamos a MQL5 Algo Forge (Parte 1): Creación del repositorio principal

Mientras trabajan en proyectos en el MetaEditor, los desarrolladores se enfrentan a la necesidad de gestionar las versiones del código. A pesar de los planes de traslado a GIT y el lanzamiento de MQL5 Algo Forge, la integración aún no está completa. El presente artículo analizará posibles formas de mejorar la usabilidad de las herramientas actuales.
preview
Del básico al intermedio: Variables (I)

Del básico al intermedio: Variables (I)

Muchos programadores principiantes tienen muchas dificultades para comprender por qué sus códigos no funcionan como esperan. Existen muchos detalles que hacen que un código sea realmente funcional. No se trata simplemente de escribir toda una serie de funciones y operaciones para que un código funcione. ¿Qué tal si aprendemos de la manera correcta cómo se crea un código real en lugar de copiar y pegar fragmentos de código encontrados aquí y allá? El contenido expuesto aquí tiene como objetivo, pura y simplemente, la didáctica. En ningún caso debe considerarse como una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
preview
Algoritmo de Irrigación Artificial — Artificial Showering Algorithm (ASHA)

Algoritmo de Irrigación Artificial — Artificial Showering Algorithm (ASHA)

Este artículo presenta el Algoritmo de Irrigación Artificial (ASHA), un nuevo método metaheurístico desarrollado para resolver problemas generales de optimización. Basado en la modelización de los procesos de flujo y almacenamiento del agua, este algoritmo construye el concepto de un campo ideal en el que cada unidad de recurso (agua) es invocada para encontrar una solución óptima. Hoy descubriremos cómo el ASHA adapta los principios de flujo y acumulación para asignar eficazmente los recursos en el espacio de búsqueda, y también veremos su aplicación y los resultados de sus pruebas.
preview
Algoritmo de búsqueda orbital atómica - Atomic Orbital Search (AOS) Modificación

Algoritmo de búsqueda orbital atómica - Atomic Orbital Search (AOS) Modificación

En la segunda parte del artículo, seguiremos desarrollando una versión modificada del algoritmo AOS (Atomic Orbital Search), centrándonos en operadores específicos para mejorar su eficacia y adaptabilidad. Tras analizar los fundamentos y la mecánica del algoritmo, discutiremos ideas para mejorar el rendimiento y la capacidad de analizar espacios de soluciones complejos, proponiendo nuevos enfoques para ampliar su funcionalidad como herramienta de optimización.
preview
Operar con el Calendario Económico MQL5 (Parte 5): Mejorar el panel de control con controles adaptables y botones de filtro

Operar con el Calendario Económico MQL5 (Parte 5): Mejorar el panel de control con controles adaptables y botones de filtro

En este artículo, creamos botones para filtros de pares de divisas, niveles de importancia, filtros de tiempo y una opción de cancelación para mejorar el control del panel. Estos botones están programados para responder dinámicamente a las acciones del usuario, lo que permite una interacción fluida. También automatizamos su comportamiento para reflejar los cambios en tiempo real en el panel de control. Esto mejora la funcionalidad general, la movilidad y la capacidad de respuesta del panel.
preview
Redes neuronales: así de sencillo (Parte 72): Predicción de trayectorias en entornos ruidosos

Redes neuronales: así de sencillo (Parte 72): Predicción de trayectorias en entornos ruidosos

La calidad de las predicciones de los estados futuros desempeña un papel importante en el método Goal-Conditioned Predictive Coding, del que hablamos en el artículo anterior. En este artículo quiero presentarte un algoritmo que puede mejorar significativamente la calidad de la predicción en entornos estocásticos, como los mercados financieros.
preview
Algoritmos de optimización de la población: Resiliencia ante el estancamiento en los extremos locales (Parte I)

Algoritmos de optimización de la población: Resiliencia ante el estancamiento en los extremos locales (Parte I)

El presente artículo presenta un experimento único cuyo objetivo es investigar el comportamiento de los algoritmos de optimización basados en poblaciones en el contexto de su capacidad para abandonar eficientemente los mínimos locales cuando la diversidad en la población es baja y alcanzar los máximos globales. Los trabajos en este campo nos permitirán comprender mejor qué algoritmos específicos pueden continuar con éxito la búsqueda a partir de las coordenadas fijadas por el usuario como punto de partida, y qué factores influyen en su éxito en este proceso.
preview
DoEasy. Elementos de control (Parte 5): Objeto básico WinForms, control "Panel", parámetro AutoSize

DoEasy. Elementos de control (Parte 5): Objeto básico WinForms, control "Panel", parámetro AutoSize

En este artículo, crearemos un objeto básico para todos los objetos de la biblioteca WinForms y comenzaremos a implementar la propiedad AutoSize del objeto WinForms "Panel", es decir, el cambio automático del tamaño para que se ajuste a su contenido interno.
preview
Desarrollo de un sistema de repetición (Parte 47): Proyecto Chart Trade (VI)

Desarrollo de un sistema de repetición (Parte 47): Proyecto Chart Trade (VI)

En este artículo finalizaremos el indicador Chart Trade, haciéndolo funcional hasta el punto de poder usarlo junto con algún Expert Advisor. Entonces, en este artículo finalizaremos el indicador Chart Trade, haciéndolo funcional hasta el punto de poder usarlo junto con algún Expert Advisor. Esto nos permitirá acceder y trabajar con el indicador, como si estuviera realmente vinculado al Expert Advisor. Pero lo haremos de una manera mucho más interesante que en el pasado.
preview
Integración de MQL5 con paquetes de procesamiento de datos (Parte 4): Gestión de Big Data

Integración de MQL5 con paquetes de procesamiento de datos (Parte 4): Gestión de Big Data

Esta parte explora técnicas avanzadas para integrar MQL5 con potentes herramientas de procesamiento de datos y se centra en el manejo eficiente de grandes volúmenes de datos para mejorar el análisis comercial y la toma de decisiones.
preview
Redes neuronales en el trading: Transformador jerárquico de doble torre (Hidformer)

Redes neuronales en el trading: Transformador jerárquico de doble torre (Hidformer)

Hoy le proponemos introducir un framework de transformador jerárquico de dos torres (Hidformer) desarrollado para la previsión de series temporales y el análisis de datos. Los autores del framework propusieron varias mejoras en la arquitectura del Transformer que mejoran la precisión de las predicciones y reducen el consumo de recursos computacionales.
preview
Redes neuronales en el trading: Pronóstico de series temporales con descomposición modal adaptativa (ACEFormer)

Redes neuronales en el trading: Pronóstico de series temporales con descomposición modal adaptativa (ACEFormer)

Lo invitamos a explorar la arquitectura ACEFormer, una solución moderna que combina la efectividad de la atención probabilística con la descomposición adaptativa de series temporales. Este material resultará útil para quienes buscan un equilibrio entre el rendimiento computacional y la precisión de los pronósticos en los mercados financieros.
preview
Indicador personalizado: Trazado de puntos de entradas parciales en cuentas netting

Indicador personalizado: Trazado de puntos de entradas parciales en cuentas netting

En este artículo, exploraremos una forma interesante y diferente de crear un indicador en MQL5. En lugar de centrarnos en una tendencia o patrón gráfico, el objetivo será gestionar nuestras propias posiciones, incluyendo las entradas y salidas parciales. Utilizaremos intensivamente matrices dinámicas y algunas funciones comerciales (Trade) relacionadas con el historial de transacciones y las posiciones abiertas para indicar en el gráfico dónde se llevaron a cabo estas operaciones.
preview
Factorización de matriсes: un modelado más práctico

Factorización de matriсes: un modelado más práctico

Es muy probable que no te hayas dado cuenta de que el modelado de las matrices era un tanto extraño, ya que no se indicaban filas y columnas, solo columnas. Esto resulta muy raro al leer un código que realiza factorizaciones de matrices. Si esperabas ver las filas y columnas indicadas, podrías haberte sentido bastante confundido al intentar implementar la factorización. Además, esa forma de modelar las matrices no es, ni de cerca, la mejor manera. Esto se debe a que, cuando modelamos matrices de esa forma, nos enfrentamos a ciertas limitaciones que nos obligan a usar otras técnicas o funciones que no serían necesarias si el modelado se realiza de manera más adecuada.
preview
Creación de un Panel de administración de operaciones en MQL5 (Parte IV): Capa de seguridad de inicio de sesión

Creación de un Panel de administración de operaciones en MQL5 (Parte IV): Capa de seguridad de inicio de sesión

Imagine un actor malicioso infiltrándose en la sala del administrador comercial y obteniendo acceso a las computadoras y al panel de administración que se utilizan para comunicar información valiosa a millones de comerciantes en todo el mundo. Una intrusión de este tipo podría tener consecuencias desastrosas, como el envío no autorizado de mensajes engañosos o clics aleatorios en botones que desencadenan acciones no deseadas. En esta discusión, exploraremos las medidas de seguridad en MQL5 y las nuevas características de seguridad que hemos implementado en nuestro Panel de administración para protegernos contra estas amenazas. Al mejorar nuestros protocolos de seguridad, nuestro objetivo es proteger nuestros canales de comunicación y mantener la confianza de nuestra comunidad comercial global. Encuentre más información en la discusión de este artículo.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 04): Haciendo ajustes (II)

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 04): Haciendo ajustes (II)

Vamos continuar con el desarrollo del sistema y el control. Sin una forma de controlar el servicio, se complica avanzar y mejorar el sistema.
preview
Red neural en la práctica: Pseudo inversa (I)

Red neural en la práctica: Pseudo inversa (I)

Aquí, comenzaremos a ver cómo podemos implementar, utilizando MQL5 puro, el cálculo de la pseudo inversa. A pesar de que el código que veremos será considerablemente más complicado para los principiantes de lo que realmente me gustaría presentar, aún estoy pensando en cómo explicarlo de manera sencilla. Considera esto una oportunidad para estudiar un código poco común. Así que ve con calma. Sin prisa. Aunque no esté enfocado en ser eficiente o de rápida ejecución, el objetivo es ser lo más didáctico posible.
preview
Del básico al intermedio: Variables (II)

Del básico al intermedio: Variables (II)

En este artículo vamos a ver cómo trabajar con variables del tipo estática. Este tema suele confundir a muchos programadores, tanto principiantes como aquellos con algo de experiencia. Esto se debe a que existen algunos cuidados y trucos que deben observarse al usar este mecanismo. El contenido expuesto aquí tiene como objetivo, pura y simplemente, la enseñanza didáctica. En ningún caso debe considerarse como una aplicación cuya finalidad no sea el aprendizaje y estudio de los conceptos presentados.
preview
Del básico al intermedio: Eventos (II)

Del básico al intermedio: Eventos (II)

En este artículo veremos que no siempre es necesario implementar las cosas de una u otra manera. Existen formas alternativas de hacer las cosas. Comprender los conceptos explicados en artículos anteriores es primordial para entender adecuadamente el contenido de este artículo. El contenido expuesto aquí tiene como objetivo único y exclusivo la didáctica. En ningún caso debe considerarse una aplicación final, en la que el objetivo no sea el estudio de los conceptos aquí mostrados.
preview
Reimaginando las estrategias clásicas en MQL5 (Parte II): FTSE100 y bonos del Reino Unido (UK Gilts)

Reimaginando las estrategias clásicas en MQL5 (Parte II): FTSE100 y bonos del Reino Unido (UK Gilts)

En esta serie de artículos, exploramos estrategias de negociación populares e intentamos mejorarlas utilizando IA. En el artículo de hoy, retomamos la estrategia de negociación clásica basada en la relación entre el mercado de valores y el mercado de bonos.
preview
Redes neuronales en el trading: Modelos con transformada de wavelet y atención multitarea

Redes neuronales en el trading: Modelos con transformada de wavelet y atención multitarea

Le proponemos familiarizarse con un framework que combina la transformada de wavelet y el modelo multitarea Self-Attention con el objetivo de mejorar la capacidad de respuesta y la precisión de las previsiones en condiciones de mercado volátiles. La transformada de wavelet descompone los rendimientos de los activos en frecuencias altas y bajas, captando cuidadosamente las tendencias del mercado a largo plazo y las fluctuaciones a corto plazo.
preview
Simulación de mercado (Parte 16): Sockets (X)

Simulación de mercado (Parte 16): Sockets (X)

Estamos a punto de concluir este desafío. Sin embargo, antes de pasar al siguiente, quiero que tú, querido lector, procures comprender estos dos artículos, tanto este como el anterior. Así podrás entender realmente el próximo artículo, en el que abordaré exclusivamente la parte referente a la programación en MQL5. Aunque en él también procuraré que sea fácil de entender. Si no comprendes estos dos últimos artículos, con toda seguridad tendrás grandes dificultades para entender el siguiente. El motivo es simple: los contenidos se van acumulando. Cuantas más cosas haya que hacer, más cosas será necesario crear y comprender para alcanzar el objetivo.
preview
Superar los retos de integración de ONNX

Superar los retos de integración de ONNX

ONNX es una gran herramienta para la integración de código complejo de IA entre diferentes plataformas, es una gran herramienta que viene con algunos desafíos que uno debe abordar para obtener el máximo provecho de ella, En este artículo se discuten los problemas comunes que podría enfrentar y cómo mitigarlos.
preview
Sistemas neurosimbólicos en trading algorítmico: Combinación de reglas simbólicas y redes neuronales

Sistemas neurosimbólicos en trading algorítmico: Combinación de reglas simbólicas y redes neuronales

El artículo relata la experiencia del desarrollo de un sistema comercial híbrido que combine el análisis técnico clásico con las redes neuronales. El autor describe detalladamente la arquitectura del sistema, desde el análisis básico de patrones y la estructura de la red neuronal hasta los mecanismos de toma de decisiones comerciales, compartiendo código real y observaciones de carácter práctico.
preview
Algoritmos avanzados de ejecución de órdenes en MQL5: TWAP, VWAP y órdenes Iceberg

Algoritmos avanzados de ejecución de órdenes en MQL5: TWAP, VWAP y órdenes Iceberg

Un marco MQL5 que ofrece algoritmos de ejecución de nivel institucional (TWAP, VWAP, Iceberg) a los operadores minoristas a través de un gestor de ejecución unificado y un analizador de rendimiento para un corte y análisis de órdenes más fluido y preciso.
preview
Redes neuronales en el trading: Un método complejo de predicción de trayectorias (Traj-LLM)

Redes neuronales en el trading: Un método complejo de predicción de trayectorias (Traj-LLM)

En este artículo, me gustaría presentarles un interesante método de predicción de trayectorias desarrollado para resolver problemas en el campo de los movimientos de vehículos autónomos. Los autores del método combinaron los mejores elementos de varias soluciones arquitectónicas.
preview
Redes neuronales en el trading: Conjunto de agentes con mecanismos de atención (MASAAT)

Redes neuronales en el trading: Conjunto de agentes con mecanismos de atención (MASAAT)

Hoy le presentamos la estructura multiagente adaptativa de optimización de portafolios (MASAAT), que combina mecanismos de atención y análisis de series temporales. El MASAAT genera un conjunto de agentes que analizan series de precios y cambios direccionales, permitiendo identificar fluctuaciones sustanciales en los precios de los activos a diferentes niveles de detalle.
preview
Redes neuronales en el trading: Optimización de LSTM para la predicción de series temporales multivariadas (Final)

Redes neuronales en el trading: Optimización de LSTM para la predicción de series temporales multivariadas (Final)

Continuamos implementando el framework DA-CG-LSTM, que ofrece métodos innovadores para el análisis y pronóstico de series temporales. El uso de CG-LSTM y atención dual permite una detección más precisa de las dependencias de largo y corto plazo en los datos, lo cual resulta particularmente útil para trabajar con los mercados financieros.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 09): Eventos personalizados

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 09): Eventos personalizados

Aquí veremos cómo accionar eventos personalizados y mejorar la cuestión de cómo el indicador informa del estado del servicio de repetición/simulación.
preview
Características del Wizard MQL5 que debe conocer (Parte 19): Inferencia bayesiana

Características del Wizard MQL5 que debe conocer (Parte 19): Inferencia bayesiana

La inferencia bayesiana es la adopción del teorema de Bayes para actualizar la hipótesis de probabilidad a medida que se dispone de nueva información. Esto intuitivamente se inclina hacia la adaptación en el análisis de series de tiempo, por lo que observamos cómo podríamos usarlo para crear clases personalizadas no solo para la señal sino también para la gestión de dinero y los trailing stops.
preview
Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte V): Modelos profundos de Markov

Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte V): Modelos profundos de Markov

En esta discusión, aplicaremos una cadena de Markov simple en un indicador RSI, para observar cómo se comporta el precio después de que el indicador pasa por niveles clave. Concluimos que las señales de compra y venta más fuertes en el par NZDJPY se generan cuando el RSI está en el rango 11-20 y 71-80, respectivamente. Demostraremos cómo puedes manipular tus datos para crear estrategias comerciales óptimas que se aprenden directamente de los datos que tienes. Además, demostraremos cómo entrenar una red neuronal profunda para aprender a utilizar la matriz de transición de manera óptima.
preview
Modelos ocultos de Márkov en sistemas comerciales de aprendizaje automático

Modelos ocultos de Márkov en sistemas comerciales de aprendizaje automático

Los modelos ocultos de Márkov (HMM) son una potente clase de modelos probabilísticos diseñados para analizar datos secuenciales, donde los eventos observados dependen de alguna secuencia de estados no observados (ocultos) que forman un proceso de Márkov. Los principales supuestos del HMM incluyen la propiedad de Márkov para estados ocultos, lo que significa que la probabilidad de transición al siguiente estado depende solo del estado actual y la independencia de las observaciones dado el conocimiento del estado oculto actual.
preview
Simulación de mercado (Parte 12): Sockets (VI)

Simulación de mercado (Parte 12): Sockets (VI)

En este artículo, veremos cómo resolver algunos problemas y cuestiones al usar código escrito en Python dentro de otros programas. Más concretamente, mostraré un problema habitual que ocurre al usar Excel junto con MetaTrader 5, aunque para esta comunicación utilizaremos Python. Sin embargo, hay un pequeño inconveniente en esta implementación. No ocurre en todos los casos, sino solo en algunos específicos. Cuando ocurre, es necesario entender la razón. En este artículo, empezaré a explicar cómo resolverlo.
preview
Añadimos un LLM personalizado a un robot comercial (Parte 5): Desarrollar y probar la estrategia de negociación con LLMs (III) Ajuste del adaptador

Añadimos un LLM personalizado a un robot comercial (Parte 5): Desarrollar y probar la estrategia de negociación con LLMs (III) Ajuste del adaptador

Con el rápido desarrollo de la inteligencia artificial actual, los modelos de lenguaje (LLM) son una parte importante de la inteligencia artificial, por lo que deberíamos pensar en cómo integrar LLM potentes en nuestro trading algorítmico. Para la mayoría de las personas, es difícil ajustar estos poderosos modelos según sus necesidades, implementarlos localmente y luego aplicarlos al comercio algorítmico. Esta serie de artículos adoptará un enfoque paso a paso para lograr este objetivo.
preview
Redes neuronales en el trading: Clusterización doble de series temporales (Final)

Redes neuronales en el trading: Clusterización doble de series temporales (Final)

Continuamos implementando los enfoques propuestos por los autores del framework DUET, que ofrece un enfoque innovador para el análisis de series temporales, combinando la clusterización temporal y de canales para identificar patrones ocultos en los datos analizados.