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 sistema de repetición (Parte 54): El nacimiento del primer módulo

Desarrollo de un sistema de repetición (Parte 54): El nacimiento del primer módulo

En este artículo, veremos cómo construir el primero de los módulos, realmente funcional, para ser utilizado en el sistema de repetición/simulador. Además de tener como propósito general servir para otras cosas también. El módulo que se construirá aquí será el del indicador de mouse.
preview
Desarrollo de un sistema de repetición (Parte 56): Adecuación de los módulos

Desarrollo de un sistema de repetición (Parte 56): Adecuación de los módulos

Aunque los módulos se comunican de manera adecuada, existe un error al intentar utilizar el indicador de mouse en el servicio de repetición. Necesitamos corregir esto ahora, antes de pasar al siguiente paso. Además, se ha corregido una incidencia en el código del indicador de mouse. Esta versión finalmente se ha vuelto estable y está debidamente finalizada.
preview
Kit de herramientas de negociación MQL5 (Parte 6): Ampliación de la libreria EX5 de gestión del historial con las funciones de última orden pendiente completada

Kit de herramientas de negociación MQL5 (Parte 6): Ampliación de la libreria EX5 de gestión del historial con las funciones de última orden pendiente completada

Aprenda a crear un módulo EX5 de funciones exportables que consultan y guardan datos de forma fluida para el pedido pendiente completado más recientemente. En esta guía paso a paso, mejoraremos la librería History Management EX5 desarrollando funciones específicas y compartimentadas para recuperar las propiedades esenciales de la última orden pendiente completada. Estas propiedades incluyen el tipo de orden, el tiempo de configuración, el tiempo de ejecución, el tipo de ejecución y otros detalles críticos necesarios para la gestión y el análisis eficaces del historial de operaciones de las órdenes pendientes.
preview
Redes neuronales en el trading: Generalización de series temporales sin vinculación a datos (Módulos básicos del modelo)

Redes neuronales en el trading: Generalización de series temporales sin vinculación a datos (Módulos básicos del modelo)

Seguimos familiarizándonos con el framework Mamba4Cast. Hoy profundizaremos en la implementación práctica de los enfoques propuestos. Mamba4Cast no ha sido diseñado para un largo periodo de calentamiento en cada nueva serie temporal, sino para un funcionamiento inmediato. Gracias al concepto de pronóstico Zero-Shot, el modelo es capaz de generar inmediatamente pronósticos de alta calidad sobre datos reales sin entrenamiento adicional ni ajuste de hiperparámetros.
preview
Desarrollamos un asesor experto multidivisas (Parte 26): Informador para instrumentos comerciales

Desarrollamos un asesor experto multidivisas (Parte 26): Informador para instrumentos comerciales

Antes de continuar con el desarrollo de asesores expertos multidivisas, vamos a intentar crear un nuevo proyecto utilizando la biblioteca desarrollada. Usando este ejemplo, descubriremos cómo organizar mejor el almacenamiento del código fuente y cómo puede ayudarnos el uso del nuevo repositorio de código de MetaQuotes.
preview
Desarrollo de un sistema de repetición (Parte 55): Módulo de control

Desarrollo de un sistema de repetición (Parte 55): Módulo de control

En este artículo, implementaremos el indicador de control de manera que pueda integrarse en el sistema de mensajes que está en desarrollo. Aunque no es algo muy complejo de hacer, es necesario entender algunos detalles sobre cómo inicializar este módulo. 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
Desarrollo de un sistema de repetición (Parte 58): Volvemos a trabajar en el servicio

Desarrollo de un sistema de repetición (Parte 58): Volvemos a trabajar en el servicio

Después de haber tomado un descanso en el desarrollo y perfeccionamiento del servicio usado en la repetición/simulación, retomaremos el trabajo en él. Ahora que no utilizaremos algunos recursos, como las variables globales del terminal, es necesario reestructurar por completo algunas partes de él. No se preocupen, este proceso se explicará adecuadamente para que todos puedan seguir el desarrollo del servicio.
preview
Características del Wizard MQL5 que debe conocer (Parte 32): Regularización

Características del Wizard MQL5 que debe conocer (Parte 32): Regularización

La regularización es una forma de penalizar la función de pérdida en proporción a la ponderación discreta aplicada a lo largo de las distintas capas de una red neuronal. Observamos la importancia que esto puede tener, para algunas de las diversas formas de regularización, en ejecuciones de prueba con un Asesor Experto ensamblado mediante el asistente.
preview
Optimización del modelo de nubes atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Teoría

Optimización del modelo de nubes atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Teoría

Este artículo se centra en el algoritmo metaheurístico Atmosphere Clouds Model Optimisation (ACMO), que modela el comportamiento de las nubes para resolver problemas de optimización. El algoritmo usa los principios de generación, movimiento y propagación de nubes, adaptándose a las "condiciones meteorológicas" del espacio de soluciones. El artículo revela cómo una simulación meteorológica del algoritmo encuentra soluciones óptimas en un espacio de posibilidades complejo y detalla las etapas del ACMO, incluida la preparación del "cielo", el nacimiento de las nubes, su movimiento y la concentración de la lluvia.
preview
Desarrollo de un sistema de repetición (Parte 77): Un nuevo Chart Trade (IV)

Desarrollo de un sistema de repetición (Parte 77): Un nuevo Chart Trade (IV)

En este artículo, explicaré algunos detalles y precauciones que debes tener en cuenta al crear un protocolo de comunicación. Son cosas bastante básicas y simples. No voy a profundizar demasiado en este artículo. Pero es necesario que comprendas su contenido para entender lo que sucederá en el receptor.
preview
Características del Wizard MQL5 que debe conocer (Parte 18): Búsqueda de arquitectura neural con vectores propios

Características del Wizard MQL5 que debe conocer (Parte 18): Búsqueda de arquitectura neural con vectores propios

Búsqueda de arquitectura neuronal, un enfoque automatizado para determinar la configuración ideal de la red neuronal, puede ser una ventaja cuando se enfrentan muchas opciones y grandes conjuntos de datos de prueba. Analizamos cómo, cuando se combinan vectores propios, este proceso puede resultar aún más eficiente.
preview
Redes neuronales en el trading: Actor—Director—Crítico (Actor—Director—Critic)

Redes neuronales en el trading: Actor—Director—Crítico (Actor—Director—Critic)

Hoy le presentamos el framework Actor-Director-Critic, que combina el aprendizaje jerárquico y la arquitectura multicomponente para crear estrategias comerciales adaptativas. En este artículo, detallaremos cómo el uso del Director para clasificar las acciones del Actor ayuda a optimizar eficazmente las decisiones comerciales y a aumentar la solidez de los modelos en el entorno de los mercados financieros.
preview
Aprendizaje automático y Data Science (Parte 38): Aprendizaje por transferencia de IA en los mercados de divisas

Aprendizaje automático y Data Science (Parte 38): Aprendizaje por transferencia de IA en los mercados de divisas

Los avances en inteligencia artificial que acaparan los titulares, desde ChatGPT hasta los coches autónomos, no se basan en modelos aislados, sino en el conocimiento acumulado que se transfiere desde diversos modelos o campos comunes. Ahora bien, este mismo enfoque de «aprender una vez, aplicar en todas partes» puede aplicarse para ayudarnos a transformar nuestros modelos de IA en el trading algorítmico. En este artículo, vamos a aprender cómo podemos aprovechar la información obtenida de diversos instrumentos para mejorar las predicciones sobre otros utilizando el aprendizaje por transferencia.
preview
Procesos gaussianos en aprendizaje automático: modelo de regresión en MQL5

Procesos gaussianos en aprendizaje automático: modelo de regresión en MQL5

En este artículo, analizaremos los conceptos básicos de los procesos gaussianos (GP) como modelo de aprendizaje automático probabilístico y demostraremos su aplicación a problemas de regresión utilizando datos sintéticos.
preview
Aplicación del modelo de Grey en el análisis técnico de series temporales financieras

Aplicación del modelo de Grey en el análisis técnico de series temporales financieras

En este artículo exploraremos el modelo de Grey, una herramienta prometedora que puede ampliar las capacidades de los tráders. Asimismo, analizaremos algunas opciones para aplicar este modelo al análisis técnico y a la elaboración de estrategias de negociación.
preview
Características del Wizard MQL5 que debe conocer (Parte 15): Máquinas de vectores de soporte utilizando el polinomio de Newton

Características del Wizard MQL5 que debe conocer (Parte 15): Máquinas de vectores de soporte utilizando el polinomio de Newton

Las máquinas de vectores de soporte clasifican los datos en función de clases predefinidas explorando los efectos de aumentar su dimensionalidad. Se trata de un método de aprendizaje supervisado bastante complejo dado su potencial para tratar datos multidimensionales. Para este artículo consideramos cómo su implementación muy básica de datos bidimensionales puede hacerse más eficientemente con el polinomio de Newton al clasificar precio-acción.
preview
Del básico al intermedio: Paso por valor o por referencia

Del básico al intermedio: Paso por valor o por referencia

En este artículo entenderás en la práctica la diferencia entre el paso por valor y el paso por referencia. Aunque parece algo aparentemente sencillo y que no suele causar problemas, muchos programadores con una considerable experiencia suelen enfrentarse a verdaderos contratiempos con sus códigos, precisamente por este pequeño detalle. Saber cuándo, cómo y por qué usar un paso por valor o un paso por referencia marcará una gran diferencia en tu vida como programador. El contenido presentado aquí tiene como único objetivo la enseñanza. En ningún caso debe considerarse como una aplicación destinada a otro fin que no sea el aprendizaje y el estudio de los conceptos mostrados.
preview
Algoritmo de optimización de neuroboides — Neuroboids Optimization Algorithm (NOA)

Algoritmo de optimización de neuroboides — Neuroboids Optimization Algorithm (NOA)

Hoy hablaremos de una nueva metaheurística de optimización inspirada en la naturaleza: el NOA (Neuroboids Optimisation Algorithm), que combina principios de inteligencia colectiva y redes neuronales. A diferencia de los métodos clásicos, el algoritmo usa una población de "neuroboides" autodidactas, cada uno con su propia red neuronal que adapta la estrategia de búsqueda en tiempo real. En el artículo se revela la arquitectura del algoritmo, los mecanismos de autoaprendizaje de los agentes y las perspectivas de aplicación de este enfoque híbrido a problemas complejos de optimización.
preview
Herramientas de trading de MQL5 (Parte 1): Creación de una herramienta interactiva de asistencia para operaciones con órdenes pendientes

Herramientas de trading de MQL5 (Parte 1): Creación de una herramienta interactiva de asistencia para operaciones con órdenes pendientes

En este artículo, presentamos el desarrollo de una herramienta interactiva de asistencia para el trading en MQL5, diseñada para simplificar la colocación de órdenes pendientes en el mercado de divisas. Describimos el diseño conceptual, centrándonos en una interfaz gráfica de usuario (GUI) intuitiva que permite establecer visualmente en el gráfico los niveles de entrada, stop-loss y take-profit. Además, detallamos la implementación en MQL5 y el proceso de backtesting para garantizar la fiabilidad de la herramienta, sentando así las bases para las funciones avanzadas que se describen en las siguientes partes.
preview
Del básico al intermedio: Puntero a función

Del básico al intermedio: Puntero a función

Probablemente ya hayas oído hablar de los punteros cuando se habla de programación. Pero ¿sabías que podemos hacer uso de este tipo de dato aquí, en MQL5? Esto, claro, de una manera que no nos haga perder el control ni genere comportamientos extraños durante la ejecución del código. Sin embargo, como es un recurso de uso muy específico y orientado a ciertos tipos de actividad, es difícil ver a alguien hablar sobre qué es un puntero y cómo usarlo en MQL5.
preview
Redes neuronales en el trading: Aprendizaje multitarea basado en el modelo ResNeXt

Redes neuronales en el trading: Aprendizaje multitarea basado en el modelo ResNeXt

El marco de aprendizaje multitarea basado en ResNeXt optimiza el análisis de datos financieros considerando su alta dimensionalidad, la no linealidad y las dependencias temporales. El uso de la convolución grupal y cabezas especializadas permite al modelo extraer eficazmente características clave de los datos de origen.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 26): Herramienta de patrones pin bar y envolventes con divergencia del RSI (patrones múltiples)

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 26): Herramienta de patrones pin bar y envolventes con divergencia del RSI (patrones múltiples)

En línea con nuestro objetivo de desarrollar herramientas prácticas basadas en la acción del precio, este artículo analiza la creación de un Asesor Experto (EA) que detecta patrones de «pin bar» y «engulfing», utilizando la divergencia del RSI como señal de confirmación antes de generar cualquier señal de trading.
preview
Ingeniería de características con Python y MQL5 (Parte III): El ángulo del precio (2) Coordenadas polares

Ingeniería de características con Python y MQL5 (Parte III): El ángulo del precio (2) Coordenadas polares

En este artículo, hacemos nuestro segundo intento de convertir los cambios en los niveles de precios de cualquier mercado en un cambio correspondiente en el ángulo. En esta ocasión, seleccionamos un enfoque matemáticamente más sofisticado que el que elegimos en nuestro primer intento, y los resultados obtenidos sugieren que nuestro cambio de enfoque puede haber sido la decisión correcta. Únase a nosotros hoy para debatir cómo podemos utilizar las coordenadas polares para calcular el ángulo formado por los cambios en los niveles de precios, de una manera significativa, independientemente del mercado que esté analizando.
preview
Creación de un Panel de administración de operaciones en MQL5 (Parte IX): Organización del código (II): Modularización

Creación de un Panel de administración de operaciones en MQL5 (Parte IX): Organización del código (II): Modularización

En este debate, damos un paso más allá al desglosar nuestro programa MQL5 en módulos más pequeños y manejables. Estos componentes modulares se integrarán posteriormente en el programa principal, mejorando su organización y facilidad de mantenimiento. Este enfoque simplifica la estructura de nuestro programa principal y permite reutilizar los componentes individuales en otros asesores expertos (EA) y desarrollos de indicadores. Al adoptar este diseño modular, creamos una base sólida para futuras mejoras, lo que beneficia tanto a nuestro proyecto como a la comunidad de desarrolladores en general.
preview
Del básico al intermedio: Comando WHILE y DO WHILE

Del básico al intermedio: Comando WHILE y DO WHILE

En este artículo veremos de manera práctica y bastante didáctica el primer comando de bucle. A pesar de que muchos principiantes sienten temor al enfrentarse a la necesidad de crear bucles, saber cómo hacerlo de manera adecuada y segura, es algo que solo la experiencia y la práctica pueden proporcionar. Pero, ¿quién sabe? Tal vez pueda ayudarte a reducir las dificultades y el sufrimiento, mostrándote los principales problemas y precauciones que debes tener al utilizar bucles en tus códigos. El contenido expuesto aquí tiene como objetivo exclusivamente la enseñanza didáctica. En ningún caso debe considerarse como una aplicación destinada a otro fin que no sea el aprendizaje y estudio de los conceptos presentados.
preview
Del básico al intermedio: Directiva Include

Del básico al intermedio: Directiva Include

En este artículo, hablaremos de una directiva de compilación ampliamente utilizada en los diversos códigos que puedes encontrar en MQL5. Aunque esta directiva de compilación se explicará aquí de manera bastante básica y superficial, es importante comenzar a entender cómo usarla, ya que pronto será indispensable para avanzar hacia un nivel de programación superior. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe considerarse una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos presentados.
preview
Del básico al intermedio: Recursividad

Del básico al intermedio: Recursividad

En este artículo, veremos un concepto de programación muy interesante y bastante divertido, aunque debe ser tratado con extremo respeto, ya que un mal uso o un mal entendimiento del mismo convierte programas relativamente simples en algo innecesariamente complicado. Aunque, el buen uso y la perfecta adecuación en situaciones igualmente adecuadas convierten la recursividad en un gran aliado para resolver cuestiones que, de otra forma, serían mucho más trabajosas y demoradas. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe ser considerado como una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
preview
Algoritmo de optimización caótica — Chaos optimization algorithm (COA)

Algoritmo de optimización caótica — Chaos optimization algorithm (COA)

Hoy hablaremos de un algoritmo de optimización caótica (COA) mejorado, que combina los efectos del caos con mecanismos de búsqueda adaptativos. El algoritmo usa un conjunto de mapeos caóticos y componentes inerciales para explorar el espacio de búsqueda. El artículo revela los fundamentos teóricos de los métodos caóticos de optimización financiera.
preview
Redes neuronales en el trading: Pipeline de pronóstico inteligente (Time-MoE)

Redes neuronales en el trading: Pipeline de pronóstico inteligente (Time-MoE)

Le invitamos a familiarizarse con el moderno framework Time-MoE, adaptado para tareas de previsión de series temporales. En este artículo, explicaremos los componentes clave de la arquitectura, ofreciendo explicaciones y ejemplos prácticos. Este enfoque permitirá no solo comprender los principios de funcionamiento del modelo, sino también aplicarlos a tareas de negociación del mundo real.
preview
Desarrollo de un sistema de repetición (Parte 74): Un nuevo Chart Trade (I)

Desarrollo de un sistema de repetición (Parte 74): Un nuevo Chart Trade (I)

En este artículo, modificaremos el último código visto en esta secuencia sobre Chart Trade. Estos cambios son necesarios para adaptar el código al modelo actual del sistema de repetición/simulador. El contenido expuesto aquí tiene como único propósito ser didáctico. En ningún caso debe considerarse una aplicación destinada a otros fines que no sean el aprendizaje y el estudio de los conceptos mostrados.
preview
Del básico al intermedio: Struct (II)

Del básico al intermedio: Struct (II)

En este artículo, vamos entender por qué se crearon estructuras en lenguajes de programación como MQL5, así como también por qué, en algunos momentos, las estructuras son formas ideales de transferir valores entre funciones y procedimientos, mientras que, en otros momentos, pueden no ser la mejor forma de hacerlo.
preview
Redes neuronales en el trading: Segmentación de datos basada en expresiones de referencia

Redes neuronales en el trading: Segmentación de datos basada en expresiones de referencia

En el proceso de análisis de la situación del mercado, dividimos este en segmentos individuales, identificando las tendencias clave. Sin embargo, los métodos tradicionales de análisis suelen centrarse en un solo aspecto, lo cual limita nuestra percepción. En este artículo, presentaremos un método que nos permitirá seleccionar varios objetos, ofreciéndonos una comprensión más completa y variada de la situación.
preview
Desarrollo de un sistema de repetición (Parte 65): Presionando play en el servicio (VI)

Desarrollo de un sistema de repetición (Parte 65): Presionando play en el servicio (VI)

En este artículo, mostraré cómo lo implementaremos y resolveremos el problema del indicador del mouse cuando se utiliza junto con la aplicación de repetición/simulación. El contenido expuesto aquí tiene como único propósito la enseñanza. En ningún caso debe considerarse una aplicación cuya finalidad no sea el aprendizaje y estudio de los conceptos presentados.
preview
Redes neuronales en el trading: Transformer para nubes de puntos (Pointformer)

Redes neuronales en el trading: Transformer para nubes de puntos (Pointformer)

En este artículo analizaremos los algoritmos necesarios para utilizar métodos de atención en la resolución de problemas de detección de objetos en nubes de puntos. La detección de objetos en nubes de puntos es bastante importante para muchas aplicaciones del mundo real.
preview
Redes neuronales en el trading: Agente con memoria multinivel

Redes neuronales en el trading: Agente con memoria multinivel

Los enfoques de memoria multinivel que imitan los procesos cognitivos humanos permiten procesar datos financieros complejos y adaptarse a nuevas señales, lo cual contribuye a mejorar la eficacia de las decisiones de inversión en mercados dinámicos.
preview
Desarrollo de un sistema de repetición (Parte 53): Esto complica las cosas (V)

Desarrollo de un sistema de repetición (Parte 53): Esto complica las cosas (V)

En este artículo, presentaré un tema muy importante, que pocos comprenden realmente: Eventos personalizados. Peligros. Ventajas y fallos causados por tales elementos. Este tema es clave para quienes desean convertirse en programadores profesionales en MQL5 o en cualquier otro tipo de lenguaje. Por ello, nos centraremos en MQL5 y MetaTrader 5.
preview
Simulación de mercado: Position View (III)

Simulación de mercado: Position View (III)

En estos últimos artículos, he mencionado que, en algunos momentos, necesitamos definir un valor para la propiedad ZOrder. ¿Pero por qué?!?! El motivo es que muchos de los códigos que agregan objetos al gráfico simplemente no usan, o mejor dicho, no definen un valor para esa propiedad. Bien, no estoy aquí para decir qué debe o no debe hacer cada programador, ni cómo debe o no debe escribir su código. Estoy aquí para mostrarte, estimado lector e interesado en comprender realmente cómo funcionan las cosas, lo que ocurre entre bastidores.
preview
Características del Wizard MQL5 que debe conocer (Parte 40): SAR parabólico

Características del Wizard MQL5 que debe conocer (Parte 40): SAR parabólico

El SAR parabólico (Stop-and-Reversal, SAR) es un indicador de confirmación de tendencia y de puntos de finalización de tendencia. Debido a que es un rezagado en la identificación de tendencias, su propósito principal ha sido posicionar trailing stop loss en posiciones abiertas. Sin embargo, exploramos si realmente podría usarse como una señal de Asesor Experto, gracias a clases de señales personalizadas de Asesores Expertos ensamblados por un asistente.
preview
Redes neuronales en el trading: Transformer parámetro-eficiente con atención segmentada (Final)

Redes neuronales en el trading: Transformer parámetro-eficiente con atención segmentada (Final)

En artículos anteriores, revisamos los aspectos teóricos del framework PSformer, que incluye dos importantes innovaciones en la arquitectura del Transformer clásico: el mecanismo de compartición de parámetros (PS) y la atención a los segmentos espaciotemporales (SegAtt). En este artículo, continuaremos el trabajo sobre la implementación de los enfoques propuestos mediante MQL5.
preview
Ingeniería de características con Python y MQL5 (Parte IV): Reconocimiento de patrones de velas japonesas mediante regresión con UMAP

Ingeniería de características con Python y MQL5 (Parte IV): Reconocimiento de patrones de velas japonesas mediante regresión con UMAP

Las técnicas de reducción de dimensiones se utilizan ampliamente para mejorar el rendimiento de los modelos de aprendizaje automático. Analicemos una técnica relativamente nueva conocida como Aproximación y Proyección de Variedades Uniformes (Uniform Manifold Approximation and Projection, UMAP). Esta nueva técnica se ha desarrollado con el objetivo expreso de superar las limitaciones de los métodos tradicionales, que generan artefactos y distorsiones en los datos. UMAP es una potente técnica de reducción de dimensionalidad que nos ayuda a agrupar velas japonesas similares de una manera novedosa y eficaz, lo que reduce el error en datos fuera de muestra y mejora nuestro rendimiento de trading.