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 01): Orden cruzada (I)

Simulación de mercado (Parte 01): Orden cruzada (I)

A partir de este artículo, iniciaremos la segunda fase, que tratará la cuestión del sistema de repetición/simulación de mercado. Entonces, comenzaremos mostrando una posible solución para el cruce de órdenes. Esta solución que presentaré no es definitiva, sino una propuesta para el problema que aún será necesario abordar próximamente.
preview
Redes neuronales en el trading: Transformador vectorial jerárquico (HiVT)

Redes neuronales en el trading: Transformador vectorial jerárquico (HiVT)

Hoy proponemos al lector introducir el método del transformador vectorial jerárquico (HiVT), desarrollado para la previsión rápida y precisa de series temporales multimodales.
preview
Encabezado en Connexus (Parte 3): Dominando el uso de encabezado HTTP para solicitudes WebRequest

Encabezado en Connexus (Parte 3): Dominando el uso de encabezado HTTP para solicitudes WebRequest

Continuamos desarrollando la biblioteca Connexus. En este capítulo, exploramos el concepto de cabeceras en el protocolo HTTP, explicando qué son, para qué sirven y cómo usarlos en las solicitudes. Cubrimos los principales encabezados utilizados en las comunicaciones con API y mostramos ejemplos prácticos de cómo configurarlos en la biblioteca.
preview
Reimaginando las estrategias clásicas en MQL5 (Parte X): ¿Puede la IA impulsar el MACD?

Reimaginando las estrategias clásicas en MQL5 (Parte X): ¿Puede la IA impulsar el MACD?

Únase a nosotros mientras analizamos empíricamente el indicador MACD para comprobar si la aplicación de la IA a una estrategia, incluyendo el indicador, produciría alguna mejora en nuestra precisión a la hora de pronosticar el EURUSD. Evaluamos simultáneamente si el indicador en sí mismo es más fácil de predecir que el precio, así como si el valor del indicador es predictivo de los niveles de precios futuros. Le proporcionaremos la información que necesita para decidir si debe considerar invertir su tiempo en integrar el MACD en sus estrategias de trading con IA.
preview
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 6): Prevención del cierre de posiciones

Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 6): Prevención del cierre de posiciones

Únase a nuestro debate de hoy, en el que buscaremos un procedimiento algorítmico para minimizar el número total de veces que nos detienen en operaciones ganadoras. El problema al que nos enfrentamos es muy complejo, y la mayoría de las soluciones que se plantean en los debates comunitarios carecen de normas establecidas y fijas. Nuestro enfoque algorítmico para resolver el problema aumentó la rentabilidad de nuestras operaciones y redujo nuestra pérdida media por operación. Sin embargo, aún quedan avances por realizar para filtrar completamente todas las operaciones que se detendrán. Nuestra solución es un buen primer paso que cualquiera puede probar.
preview
Redes neuronales en el trading: Clusterización doble de series temporales (DUET)

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

El framework DUET ofrece un enfoque innovador del análisis de series temporales, combinando la clusterización temporal y por canales para revelar patrones ocultos en los datos analizados. Esto permite a los modelos adaptarse a los cambios a lo largo del tiempo y mejorar la calidad de las previsiones eliminando el ruido.
preview
Redes neuronales en el trading: Reducción del consumo de memoria con el método de optimización Adam (Adam-mini)

Redes neuronales en el trading: Reducción del consumo de memoria con el método de optimización Adam (Adam-mini)

Una forma de mejorar la eficacia del proceso de aprendizaje y la convergencia de los modelos es mejorar los métodos de optimización. Adam-mini es un método de optimización adaptativa desarrollado para mejorar el algoritmo Adam básico.
preview
Características del Wizard MQL5 que debe conocer (Parte 31): Selección de la función de pérdida

Características del Wizard MQL5 que debe conocer (Parte 31): Selección de la función de pérdida

La función de pérdida es la métrica clave de los algoritmos de aprendizaje automático que proporciona información al proceso de formación cuantificando el rendimiento de un conjunto determinado de parámetros en comparación con el objetivo previsto. Exploramos los distintos formatos de esta función en una clase de asistente personalizada MQL5.
preview
Del básico al intermedio: Estructuras (VI)

Del básico al intermedio: Estructuras (VI)

En este artículo, veremos cómo podemos empezar a implementar una base de código estructural genérico. El objetivo es reducir nuestro trabajo a la hora de programar y aprovechar todo el potencial que ofrece el propio lenguaje de programación. En este caso, MQL5.
preview
Aprendizaje automático y Data Science (Parte 35): NumPy en MQL5, el arte de crear algoritmos complejos con menos código

Aprendizaje automático y Data Science (Parte 35): NumPy en MQL5, el arte de crear algoritmos complejos con menos código

La biblioteca NumPy impulsa casi todos los algoritmos de aprendizaje automático en el lenguaje de programación Python. En este artículo vamos a implementar un módulo similar que contiene una colección de todo el código complejo para ayudarnos a crear modelos y algoritmos sofisticados de cualquier tipo.
preview
Cambiando a MQL5 Algo Forge (Parte 3): Uso de repositorios de terceros en su propio proyecto

Cambiando a MQL5 Algo Forge (Parte 3): Uso de repositorios de terceros en su propio proyecto

Hoy veremos cómo podemos conectar el código de otra persona desde cualquier repositorio en el almacenamiento MQL5 Algo Forge a nuestro proyecto. En el presente artículo, finalmente abordaremos esta tarea prometedora pero también compleja: cómo conectar y utilizar en la práctica bibliotecas de repositorios de terceros del almacenamiento MQL5 Algo Forge en nuestro proyecto.
preview
Características del Wizard MQL5 que debe conocer (Parte 09): Combinación de clusterización de K-medias con ondas fractales

Características del Wizard MQL5 que debe conocer (Parte 09): Combinación de clusterización de K-medias con ondas fractales

La clusterización de K-medias adopta el enfoque de agrupar puntos de datos como un proceso centrado inicialmente en una macro representación del conjunto de datos en la que se aplican centroides de clúster generados aleatoriamente. A continuación, dichos centroides se escalan y ajustan para representar con precisión el conjunto de datos. En el presente artículo, hablaremos de la clusterización y de varios usos de la misma.
preview
Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD (Parte 5)

Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD (Parte 5)

El presente artículo supone la quinta parte de la serie que describe las etapas de desarrollo de un cliente MQL5 nativo para el protocolo MQTT 5.0. Hoy describiremos la estructura de los paquetes PUBLISH: cómo establecemos sus banderas de publicación (Publish Flags), codificamos cadenas de nombres de temas y establecemos IDs de paquetes cuando es necesario.
preview
Automatización de estrategias de trading en MQL5 (Parte 15): Patrón armónico Cypher de acción del precio con visualización

Automatización de estrategias de trading en MQL5 (Parte 15): Patrón armónico Cypher de acción del precio con visualización

En este artículo, exploramos la automatización del patrón armónico Cypher en MQL5, detallando su detección y visualización en los gráficos de MetaTrader 5. Implementamos un Asesor Experto que identifica puntos de oscilación, valida patrones basados en Fibonacci y ejecuta operaciones con anotaciones gráficas claras. El artículo concluye con una guía sobre cómo realizar pruebas retrospectivas y optimizar el programa para lograr un trading efectivo.
preview
Desarrollo de un sistema de repetición (Parte 51): Esto complica las cosas (III)

Desarrollo de un sistema de repetición (Parte 51): Esto complica las cosas (III)

En este artículo comprenderás una de las cosas más complejas que existen en la programación MQL5: la forma correcta de obtener el ID del gráfico y por qué a veces los objetos no se trazan en él. El contenido expuesto aquí tiene como objetivo, pura y simplemente, ser didáctico. En ningún caso debe considerarse como una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
preview
Operar con noticias de manera sencilla (Parte 5): Ejecución de operaciones (II)

Operar con noticias de manera sencilla (Parte 5): Ejecución de operaciones (II)

Este artículo ampliará la clase de gestión de operaciones para incluir órdenes de compra y venta con límite (buy-stop y sell-stop) con el fin de operar con eventos de noticias e implementar una restricción de vencimiento en estas órdenes para evitar cualquier operación nocturna. Se incorporará una función de deslizamiento (slippage) al experto para intentar prevenir o minimizar el posible deslizamiento que puede producirse al utilizar órdenes stop en las operaciones, especialmente durante eventos noticiosos.
preview
Arbitraje de swaps en Forex: Reunimos un portafolio sintético y creamos un flujo de swaps estable

Arbitraje de swaps en Forex: Reunimos un portafolio sintético y creamos un flujo de swaps estable

¿Quiere saber cómo aprovechar los spreads de los tipos de interés? En este artículo, veremos cómo usar el arbitraje de swaps en Forex para generar unos ingresos constantes cada noche construyendo un portafolio resistente a las fluctuaciones del mercado.
preview
Características del Wizard MQL5 que debe conocer (Parte 41): Aprendizaje por refuerzo con redes neuronales (Deep-Q-Networks, DQN)

Características del Wizard MQL5 que debe conocer (Parte 41): Aprendizaje por refuerzo con redes neuronales (Deep-Q-Networks, DQN)

Deep-Q-Network es un algoritmo de aprendizaje de refuerzo que involucra redes neuronales para proyectar el próximo valor Q y la acción ideal durante el proceso de entrenamiento de un módulo de aprendizaje automático. Ya hemos considerado un algoritmo de aprendizaje de refuerzo alternativo, Q-Learning. Por lo tanto, este artículo presenta otro ejemplo de cómo un MLP entrenado con aprendizaje de refuerzo se puede utilizar dentro de una clase de señal personalizada.
preview
Redes neuronales en el trading: Optimización del Transformer para la previsión de series temporales (LSEAttention)

Redes neuronales en el trading: Optimización del Transformer para la previsión de series temporales (LSEAttention)

El framework LSEAttention ofrece formas de mejorar la arquitectura del Transformer, y se ha diseñado específicamente para la previsión a largo plazo de series temporales multidimensionales. Los enfoques propuestos por los autores del método resuelven los problemas de colapso de entropía e inestabilidad de aprendizaje característicos del Transformer vainilla.
preview
Aprendizaje automático en la negociación de tendencias unidireccionales tomando el oro como ejemplo

Aprendizaje automático en la negociación de tendencias unidireccionales tomando el oro como ejemplo

En este artículo analizaremos un enfoque interesante: la negociación solo en la dirección seleccionada (compra o venta). Para ello, utilizaremos técnicas de inferencia causal y aprendizaje automático.
preview
Características del Wizard MQL5 que debe conocer (Parte 24): Medias móviles

Características del Wizard MQL5 que debe conocer (Parte 24): Medias móviles

Las medias móviles son un indicador muy común que la mayoría de los operadores utilizan y comprenden. Exploramos posibles casos de uso menos comunes dentro de los Asesores Expertos disponibles en el Asistente de MQL5.
preview
Características del Wizard MQL5 que debe conocer (Parte 27): Medias móviles y el ángulo de ataque

Características del Wizard MQL5 que debe conocer (Parte 27): Medias móviles y el ángulo de ataque

El ángulo de ataque es una métrica citada a menudo cuya inclinación se entiende que está estrechamente relacionada con la fuerza de una tendencia predominante. Nos fijamos en cómo se utiliza y se entiende comúnmente y examinamos si hay cambios que podrían introducirse en la forma de medirlo en beneficio de un sistema comercial que lo ponga en uso.
preview
Modelo de riesgo de cartera utilizando el criterio de Kelly y la simulación de Monte Carlo

Modelo de riesgo de cartera utilizando el criterio de Kelly y la simulación de Monte Carlo

Durante décadas, los operadores han utilizado la fórmula del criterio de Kelly para determinar la proporción óptima de capital que se debe asignar a una inversión o apuesta con el fin de maximizar el crecimiento a largo plazo y minimizar el riesgo de ruina. Sin embargo, seguir ciegamente el criterio de Kelly utilizando el resultado de una sola prueba retrospectiva suele ser peligroso para los operadores individuales, ya que en el trading en vivo, la ventaja comercial disminuye con el tiempo y el rendimiento pasado no es un indicador de resultados futuros. En este artículo, presentaré un enfoque realista para aplicar el criterio de Kelly a la asignación de riesgos de uno o más EA en MetaTrader 5, incorporando los resultados de la simulación de Monte Carlo de Python.
preview
Algoritmo de trading evolutivo con aprendizaje por refuerzo y extinción de individuos no rentables (ETARE)

Algoritmo de trading evolutivo con aprendizaje por refuerzo y extinción de individuos no rentables (ETARE)

Hoy le presentamos un innovador algoritmo comercial que combina algoritmos evolutivos con aprendizaje profundo por refuerzo para la negociación de divisas. El algoritmo utiliza un mecanismo de extinción de individuos ineficaces para optimizar la estrategia comercial.
preview
Simulación de mercado: Iniciando SQL en MQL5 (III)

Simulación de mercado: Iniciando SQL en MQL5 (III)

En el artículo anterior vimos cómo podríamos desarrollar una clase en MQL5 capaz de darnos cierto soporte. Su finalidad es precisamente permitirnos colocar el código SQL dentro de un archivo de script. De este modo, no necesitaríamos escribir ese mismo código SQL como un string dentro del código MQL5. Aunque esa solución es funcional, contiene algunos detalles que podemos y debemos mejorar.
preview
Redes neuronales: así de sencillo (Parte 92): Predicción adaptativa en los ámbitos de la frecuencia y el tiempo

Redes neuronales: así de sencillo (Parte 92): Predicción adaptativa en los ámbitos de la frecuencia y el tiempo

Los autores del método FreDF confirmaron experimentalmente la ventaja de la previsión combinada en los ámbitos de la frecuencia y el tiempo. Sin embargo, el uso del hiperparámetro de peso no es óptimo para series temporales no estacionarias. En este artículo, nos familiarizaremos con el método de combinación adaptativa de previsiones en los ámbitos de la frecuencia y el tiempo.
preview
Vectores y valores propios: Análisis exploratorio de datos en MetaTrader 5

Vectores y valores propios: Análisis exploratorio de datos en MetaTrader 5

En este artículo exploramos diferentes formas en que los vectores propios y los valores propios pueden aplicarse en el análisis exploratorio de datos para revelar relaciones únicas en los datos.
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
Algoritmo de búsqueda cooperativa artificial (Artificial Cooperative Search, ACS)

Algoritmo de búsqueda cooperativa artificial (Artificial Cooperative Search, ACS)

La búsqueda cooperativa artificial (Artificial Cooperative Search, ACS) es un método innovador que utiliza una matriz binaria y múltiples poblaciones dinámicas basadas en relaciones de mutualismo y cooperación para encontrar soluciones óptimas de forma rápida y precisa. El enfoque único de ACS sobre depredadores y presas le permite obtener excelentes resultados en problemas de optimización numérica.
preview
Características del Wizard MQL5 que debe conocer (Parte 48): Bill Williams Alligator

Características del Wizard MQL5 que debe conocer (Parte 48): Bill Williams Alligator

El indicador Alligator, creado por Bill Williams, es un indicador versátil para identificar tendencias que proporciona señales claras y que a menudo se combina con otros indicadores. Las clases y el ensamblador del asistente MQL5 nos permiten probar una variedad de señales basadas en patrones, por lo que también tenemos en cuenta este indicador.
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
Dominando los registros (Parte 1): Conceptos fundamentales y primeros pasos en MQL5

Dominando los registros (Parte 1): Conceptos fundamentales y primeros pasos en MQL5

¡Bienvenidos al comienzo de otro viaje! Este artículo abre una serie especial donde crearemos, paso a paso, una biblioteca para la manipulación de registros, diseñada para quienes desarrollan en el lenguaje MQL5.
preview
Redes neuronales en el trading: Segmentación guiada (Final)

Redes neuronales en el trading: Segmentación guiada (Final)

Continuamos el trabajo iniciado en el artículo anterior sobre la construcción del marco RefMask3D usando herramientas MQL5. Este marco está diseñado para explorar de forma exhaustiva la interacción multimodal y analizar las características de una nube de puntos, seguida de la identificación del objeto de destino partiendo de la descripción proporcionada en lenguaje natural.
preview
Características del Wizard MQL5 que debe conocer (Parte 46): Ichimoku Kinko Hyo (IKH)

Características del Wizard MQL5 que debe conocer (Parte 46): Ichimoku Kinko Hyo (IKH)

El Ichimoku Kinko Hyo (IKH) es un reconocido indicador japonés que sirve como sistema de identificación de tendencias. Examinamos esto, patrón por patrón, como ha sido el caso en artículos similares anteriores, y también evaluamos sus estrategias e informes de pruebas con la ayuda de las clases de la biblioteca del asistente MQL5 y el ensamblaje.
preview
Redes neuronales en el trading: Segmentación periódica adaptativa (Generación de tokens)

Redes neuronales en el trading: Segmentación periódica adaptativa (Generación de tokens)

Le invitamos a embarcarse en un apasionante viaje por el mundo del análisis adaptativo de series temporales financieras y a aprender cómo transformar el análisis espectral complejo y la convolución flexible en señales de trading reales. Hoy verá cómo LightGTS escucha el ritmo del mercado, adaptándose a sus cambios con un paso de ventana variable, y cómo la aceleración OpenCL convierte la computación en la vía más rápida para tomar decisiones rentables.
preview
Cambiando a MQL5 Algo Forge (Parte 4): Trabajamos con versiones y lanzamientos

Cambiando a MQL5 Algo Forge (Parte 4): Trabajamos con versiones y lanzamientos

Continuaremos el desarrollo del proyecto Simple Candles y Adwizard describiendo los matices del uso del sistema de control de versiones y el repositorio MQL5 Algo Forge.
preview
Creación de un Panel de administración de operaciones en MQL5 (Parte III): Ampliación de las clases incorporadas para la gestión de temas (II)

Creación de un Panel de administración de operaciones en MQL5 (Parte III): Ampliación de las clases incorporadas para la gestión de temas (II)

En este artículo, ampliaremos cuidadosamente la biblioteca Dialog existente para incorporar la lógica de gestión de temas. Además, integraremos métodos para cambiar de tema en las clases CDialog, CEdit y CButton utilizadas en nuestro proyecto de Panel de administración. Continúe leyendo para obtener perspectivas más reveladoras.
preview
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 6): Reglas de negociación autoadaptativas (II)

Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 6): Reglas de negociación autoadaptativas (II)

Este artículo analiza la optimización de los niveles y períodos del RSI para obtener mejores señales de trading. Presentamos métodos para estimar los valores óptimos del RSI y automatizar la selección de periodos mediante búsquedas por cuadrículas y modelos estadísticos. Por último, implementamos la solución en MQL5 mientras aprovechamos Python para el análisis. Nuestro enfoque pretende ser pragmático y directo para ayudarle a resolver problemas potencialmente complicados con sencillez.
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
DoEasy. Elementos de control (Parte 33): "ScrollBar" vertical

DoEasy. Elementos de control (Parte 33): "ScrollBar" vertical

En este artículo, continuaremos desarrollando los elementos gráficos de la librería DoEasy, y añadiremos el desplazamiento vertical de los controles del objeto formulario y algunas funciones y métodos útiles que serán necesarios más adelante.