Artículos sobre cómo integrar MetaTrader 5 con la ayuda del lenguaje MQL5

icon

Las tareas a las que se enfrenta el operador son interesantes y a menudo requieren unos enfoques originales. Aquí encontrará los artículos en los que se ofrecen las soluciones más inesperadas para la evaluación, análisis y procesamiento de los datos de precio y resultados del trading. En sus artículos los autores describen varias soluciones integrales, incluyendo la conexión de las bases de datos y ICQ, uso de OpenCL y  redes sociales, uso de Delphi y C#.

Léalos y sabrá cómo usar los packs matemáticos y neuronales, así como se enterará de muchas más cosas. Conviértase en el autor y comparta su experiencia única con MQL5.community.

Nuevo artículo
últimas | mejores
preview
Algoritmo del átomo artificial — Artificial Atom Algorithm (A3)

Algoritmo del átomo artificial — Artificial Atom Algorithm (A3)

Implementación del algoritmo A3 en MQL5: un método metaheurístico de optimización inspirado en los procesos químicos. Con solo dos parámetros configurables, la compacidad y una población reducida proporcionan una alta velocidad de funcionamiento con una calidad suficiente de las soluciones.
preview
Simulación de mercado: Position View (IV)

Simulación de mercado: Position View (IV)

Aquí comenzaremos a unir diversos componentes o aplicaciones que antes estaban completamente aisladas entre sí. Aunque Chart Trade, el Indicador de Mouse y el Asesor Experto ya mantenían cierta relación, todavía no había una forma de observar directamente en el gráfico las posiciones abiertas en el servidor de trading, muchas veces usando un sistema de órdenes cruzadas. A partir de este momento, esto empieza a ser posible, abriendo diversas puertas a nuevas ideas e implementaciones futuras. Aunque apenas estamos comenzando a poner estos componentes en funcionamiento, ya tendremos un rumbo que seguir.
preview
Optimización por comunidad de científicos — Community of Scientist Optimization (CoSO): Práctica

Optimización por comunidad de científicos — Community of Scientist Optimization (CoSO): Práctica

Continuación del tema de la optimización mediante una comunidad de científicos. CoSO no debe considerarse una solución lista para usar, sino una plataforma de investigación prometedora. Con los ajustes adecuados, CoSO podría encontrar su nicho en problemas en los que la adaptabilidad y la robustez ante los cambios son importantes, y en los que el tiempo de cálculo no es un factor crítico.
preview
Aprendizaje automático y Data Science (Parte 45): Predicción de series temporales en Forex con el modelo Prophet de Facebook

Aprendizaje automático y Data Science (Parte 45): Predicción de series temporales en Forex con el modelo Prophet de Facebook

El modelo «Prophet», desarrollado por Facebook, es una herramienta robusta de previsión de series temporales diseñada para captar tendencias, la estacionalidad y los efectos de días festivos con un ajuste manual mínimo. Se ha generalizado su uso para la previsión de la demanda y la planificación empresarial. En este artículo, analizamos la eficacia de Prophet a la hora de predecir la volatilidad de los instrumentos del mercado forex, y mostramos cómo puede aplicarse más allá de los casos de uso empresariales tradicionales.
preview
Simulación de mercado: Position View (IX)

Simulación de mercado: Position View (IX)

En este artículo, que será un punto de inflexión, comenzaremos a explorar de manera un poco más profunda la interacción entre las aplicaciones que desarrollamos para dar soporte total al sistema de repetición/simulación. Aquí vamos a analizar un problema que, por un lado, resulta bastante molesto, pero, por otro, es muy interesante de explicar y resolver. El problema es: cómo añadir las líneas de take profit y stop loss después de que fueron eliminadas, y hacerlo sin usar el terminal, sino realizando la operación directamente en el gráfico. Bien, esto, a primera vista, parece algo simple. Sin embargo, hay algunos obstáculos que superar.
preview
Implementación de módulos prácticos de otros lenguajes en MQL5 (Parte 02): Desarrollo de la biblioteca REQUESTS inspirada en requests de Python

Implementación de módulos prácticos de otros lenguajes en MQL5 (Parte 02): Desarrollo de la biblioteca REQUESTS inspirada en requests de Python

En este artículo, implementamos un un módulo similar a requests, como el que ofrece Python para facilitar el envío y la recepción de solicitudes web en MetaTrader 5 utilizando MQL5.
preview
Simulación de mercado: Position View (XIII)

Simulación de mercado: Position View (XIII)

En este artículo mostraré cómo implementar, sin mucho esfuerzo, una indicación que muestre si una posición genera pérdidas o beneficios. El procedimiento es sencillo y eficaz. Incluso sin grandes conocimientos, este indicador te permitirá reconocer con facilidad cuándo conviene cerrar una posición. Así evitarás resultados inesperados, ya que el cálculo refleja el resultado efectivo que produciría el cierre de la posición.
preview
De novato a experto: Períodos del mercado Forex

De novato a experto: Períodos del mercado Forex

Cada período de mercado tiene un principio y un final, y cada uno cierra con un precio que define su sentimiento, al igual que cualquier sesión de velas japonesas. Comprender estos puntos de referencia nos permite evaluar el estado de ánimo predominante del mercado, revelando si las fuerzas alcistas o bajistas tienen el control. En este análisis, damos un paso importante al desarrollar una nueva función dentro del Sincronizador de Períodos de Mercado, que visualiza las sesiones del mercado Forex para facilitar la toma de decisiones de trading más informadas. Esta herramienta puede ser especialmente útil para identificar, en tiempo real, qué bando —alcistas o bajistas— domina la sesión. Exploremos este concepto y descubramos las conclusiones que ofrece.
preview
De novato a experto: Trading con filtrado temporal

De novato a experto: Trading con filtrado temporal

El hecho de que los ticks lleguen constantemente no significa que cada momento sea una oportunidad para operar. Hoy, realizaremos un estudio en profundidad del arte de la sincronización, centrándonos en el desarrollo de un algoritmo de aislamiento temporal para ayudar a los operadores a identificar y operar dentro de sus ventanas de mercado más favorables. Cultivar esta disciplina permite a los traders minoristas sincronizarse más estrechamente con el timing institucional, donde la precisión y la paciencia suelen ser clave para el éxito. Acompáñanos en esta discusión mientras exploramos la ciencia del timing y el trading selectivo a través de las capacidades analíticas de MQL5.
preview
Probador de estrategias para Python-MetaTrader 5 (Parte 01): Simulador de operaciones

Probador de estrategias para Python-MetaTrader 5 (Parte 01): Simulador de operaciones

El módulo de MetaTrader 5 disponible en Python ofrece una forma cómoda de abrir operaciones en la aplicación de MetaTrader 5 utilizando Python, pero presenta un gran problema: carece de la función de Probador de estrategias que sí incluye la aplicación de MetaTrader 5. En esta serie de artículos, crearemos un marco de trabajo para realizar pruebas retrospectivas de tus estrategias de trading en entornos de Python.
preview
Simulación de mercado: Position View (X)

Simulación de mercado: Position View (X)

Necesitamos un medio para manejar los objetos gráficos que se crearán. La propuesta mostrada en el artículo anterior encaja perfectamente en algunos escenarios. Aquí necesitamos algo un poco más elaborado, debido a la naturaleza del problema que estamos tratando. Por lo tanto, no intentaremos sustituir los mecanismos presentes en MetaTrader 5 para manejar ZOrder ni, por supuesto, comprobar qué objeto está en primer plano o queda oculto por otro objeto. Haremos algo completamente diferente. Aquí mostraré qué modificaciones hay que hacer en el código para aprovechar parte de lo que MetaTrader 5 ya hace por nosotros.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 35): Entrenamiento y despliegue de modelos predictivos

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 35): Entrenamiento y despliegue de modelos predictivos

Los datos históricos están lejos de ser «basura»: son la base de cualquier análisis de mercado sólido. En este artículo, te guiaremos paso a paso desde la recopilación de esos datos históricos hasta su uso para entrenar un modelo predictivo y, finalmente, la implementación de dicho modelo para realizar previsiones de precios en tiempo real. ¡Sigue leyendo para descubrir cómo hacerlo!
preview
Algoritmo del duelista — Duelist Algorithm

Algoritmo del duelista — Duelist Algorithm

¿Y si nuestras estrategias de trading pudieran aprender unas de otras, como auténticos luchadores? Duelist Algorithm es un nuevo método de optimización en el que los parámetros de los sistemas de trading se enfrentan literalmente en duelos por el derecho a ser considerados los mejores.
preview
Simulación de mercado: Position View (XVII)

Simulación de mercado: Position View (XVII)

En el artículo anterior hicimos que el indicador mostrara el resultado financiero. Sin embargo, no a todos les gusta utilizar este modo de visualización. El motivo puede variar de un operador a otro, aunque en algunos casos me parece bastante razonable y justificable. Adaptar el código para ofrecer esta posibilidad no es, ni mucho menos, una de las tareas más complejas. En realidad, se trata de algo bastante sencillo. En este artículo veremos cómo hacerlo.
preview
Simulación de mercado: Position View (XIV)

Simulación de mercado: Position View (XIV)

Ahora implementaremos esta solución porque MQL5 sigue el mismo principio que la programación basada en eventos. Los desarrolladores utilizan este modelo con frecuencia al crear DLL. Sé que, al principio, el funcionamiento basado en eventos parecerá confuso y carente de lógica. Pero, en este artículo, presentaré los principios de la programación basada en eventos con mayor claridad para que tú, que estás empezando, comprendas adecuadamente su funcionamiento. Entender lo que comenzaré a explicar en este artículo te ayudará en tu vida como programador.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 31): Motor de reconocimiento de velas japonesas en Python (I) — Detección manual

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 31): Motor de reconocimiento de velas japonesas en Python (I) — Detección manual

Los patrones de velas japonesas son fundamentales para el trading basado en la evolución de los precios, ya que ofrecen información valiosa sobre posibles reversiones o continuaciones del mercado. Imagina una herramienta fiable que supervise continuamente cada nueva barra de precios, identifique formaciones clave como los patrones envolvente, martillo, doji y estrella, y te avise de inmediato cuando detecte una oportunidad de negociación significativa. Esta es precisamente la funcionalidad que hemos desarrollado. Tanto si eres nuevo en el mundo del trading como si eres un profesional con experiencia, este sistema ofrece alertas en tiempo real sobre patrones de velas japonesas, lo que te permite centrarte en ejecutar operaciones con mayor confianza y eficiencia. Sigue leyendo para descubrir cómo funciona y cómo puede mejorar tu estrategia de trading.
preview
Características del Wizard MQL5 que debe conocer (Parte 68): Uso de patrones de TRIX y Williams Percent Range con una red de núcleo coseno

Características del Wizard MQL5 que debe conocer (Parte 68): Uso de patrones de TRIX y Williams Percent Range con una red de núcleo coseno

Retomamos nuestro último artículo, donde presentamos el par de indicadores TRIX y Williams Percent Range, y ahora analizamos cómo se podría ampliar este par de indicadores con aprendizaje automático. TRIX y Williams Percent Range forman un par complementario de tendencia y soporte/resistencia. Nuestro enfoque de aprendizaje automático utiliza una red neuronal convolucional que incorpora el núcleo coseno en su arquitectura a la hora de ajustar las previsiones de este par de indicadores. Como siempre, esto se hace en un archivo de clase de señal personalizado que funciona con el asistente de MQL5 (Wizard MQL5) para crear un asesor experto.
preview
Características del Wizard MQL5 que debe conocer (Parte 70): Uso de patrones del SAR y el RVI con una red de kernel exponencial

Características del Wizard MQL5 que debe conocer (Parte 70): Uso de patrones del SAR y el RVI con una red de kernel exponencial

Retomamos nuestro último artículo, donde presentamos el par de indicadores SAR y RVI, y ahora analizamos cómo se podría ampliar este par de indicadores con el aprendizaje automático. SAR y RVI forman una combinación complementaria de tendencia e impulso. Nuestro enfoque de aprendizaje automático usa una CNN 1D con escalado exponencial en el tamaño de los kernels y en el número de canales, al tiempo que ajusta las previsiones de este par de indicadores. Como siempre, esto se realiza en un archivo de clase de señal personalizado que funciona con el asistente MQL5 para ensamblar un Asesor Experto.
preview
Simulación de mercado: Position View (XVI)

Simulación de mercado: Position View (XVI)

En este artículo realizaremos las modificaciones necesarias para que el indicador de posición muestre un resultado financiero. De este modo, el operador podrá hacerse una idea del resultado financiero que se obtiene con una posición abierta. Además, compartiré contigo algo que muchos desconocen, incluso quienes llevan mucho tiempo utilizando MQL5: cómo utilizar variables estáticas para compartir memoria y evitar declarar una variable global en el código principal.
preview
Simulación de mercado: Position View (XX)

Simulación de mercado: Position View (XX)

En este artículo veremos cómo modificar el código del indicador de posición para crear una especie de sombra que nos permita visualizar dónde se encuentra actualmente el precio que continúa vigente en el servidor de trading. Este mecanismo pretende facilitar la planificación de operaciones en las que desplazamos las líneas de stop loss o take profit. Añadir esta función, es decir, las sombras de precio, puede parecer extremadamente complejo. En este artículo mostraré que puedes implementarla de una forma muy sencilla y práctica.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 34): Conversión de datos brutos del mercado en modelos predictivos mediante un pipeline avanzado de ingesta

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 34): Conversión de datos brutos del mercado en modelos predictivos mediante un pipeline avanzado de ingesta

¿Alguna vez te has perdido un repunte repentino del mercado o te ha pillado desprevenido cuando ocurrió uno? La mejor manera de anticiparse a los eventos en tiempo real es aprender de los patrones históricos. Con el objetivo de entrenar un modelo de aprendizaje automático, este artículo comienza mostrándole cómo crear un script en MetaTrader 5 que procese datos históricos y los envíe a Python para su almacenamiento, sentando así las bases de su sistema de detección de picos. Sigue leyendo para ver cada paso en acción.
preview
Características del Wizard MQL5 que debe conocer (Parte 76): Uso de los patrones del Awesome Oscillator y los canales Envelopes con aprendizaje supervisado

Características del Wizard MQL5 que debe conocer (Parte 76): Uso de los patrones del Awesome Oscillator y los canales Envelopes con aprendizaje supervisado

Damos continuidad a nuestro último artículo, en el que presentamos el binomio de indicadores formado por el Awesome Oscillator y el canal de envolvente Envelopes, analizando cómo se podría mejorar esta combinación mediante el aprendizaje supervisado. El Awesome Oscillator y las envolventes constituyen una combinación complementaria para detectar tendencias e identificar niveles de soporte y resistencia. Nuestro enfoque de aprendizaje supervisado consiste en una red neuronal convolucional (CNN) que utiliza el núcleo de producto escalar con atención entre tiempos (Cross-Time-Attention) para ajustar el tamaño de sus núcleos y canales. Como es habitual, esto se lleva a cabo en un archivo de clase de señal personalizado que funciona con el asistente de MQL5 para crear un asesor experto.
preview
Simulación de mercado: Position View (XII)

Simulación de mercado: Position View (XII)

En este artículo, aprenderás a crear una señal visual en tu plataforma de trading para identificar directamente en el gráfico si la posición es larga o corta, sin necesidad de acceder al terminal. Además, el texto aborda la implementación de una funcionalidad que mejora la visualización al mover las líneas de take profit y stop loss, ocultando la línea horizontal que sigue al cursor del mouse mientras se reposicionan dichas líneas para evitar confusiones. La lectura ofrece conocimientos prácticos para personalizar sistemas de simulación de mercado.
preview
Implementación de módulos prácticos de otros lenguajes en MQL5 (Parte 01): Desarrollo de una biblioteca SQLite3 inspirada en Python

Implementación de módulos prácticos de otros lenguajes en MQL5 (Parte 01): Desarrollo de una biblioteca SQLite3 inspirada en Python

El módulo sqlite3 de Python ofrece una forma sencilla de trabajar con bases de datos SQLite; es rápido y práctico. En este artículo, vamos a crear un módulo similar a partir de las funciones integradas de MQL5 para trabajar con bases de datos, con el fin de facilitar el trabajo con bases de datos SQLite3 en MQL5, al igual que en Python.
preview
Simulación de mercado: Position View (XV)

Simulación de mercado: Position View (XV)

En este artículo intentaré explicar, de la forma más sencilla posible, cómo puedes utilizar el intercambio de mensajes entre aplicaciones. El objetivo es que puedas desarrollar algo funcional de la manera más simple y eficaz, siempre que sea posible. No sé si lograré transmitir la idea que sustenta este concepto, pues no resulta fácil de asimilar para quien lo encuentra por primera vez. También aprovecharé para mostrarte cómo modificar el sistema de repetición/simulador, de modo que puedas depurar un Asesor Experto o cualquier otro código que estés desarrollando. Todo ello de una forma igualmente sencilla y directa.
preview
De novato a experto: EA de informes — Configuración del flujo de trabajo

De novato a experto: EA de informes — Configuración del flujo de trabajo

Los brókeres suelen proporcionar informes de cuentas de trading a intervalos regulares, según un calendario predefinido. Estas empresas, a través de sus tecnologías API, tienen acceso a la actividad de su cuenta y al historial de operaciones, lo que les permite generar informes de rendimiento en su nombre. Del mismo modo, la terminal MetaTrader 5 almacena registros detallados de su actividad de trading, que pueden aprovecharse mediante MQL5 para crear informes totalmente personalizados y definir métodos personalizados de envío.
preview
Operaciones CRUD en Firebase con MQL

Operaciones CRUD en Firebase con MQL

Este artículo ofrece una guía paso a paso para dominar las operaciones CRUD (Create, Read, Update, Delete; crear, leer, actualizar y eliminar) en Firebase, centrándose en su Firebase Realtime Database (base de datos en tiempo real de Firebase) y en Firestore. Descubre cómo usar los métodos del SDK de Firebase para gestionar datos de forma eficiente en aplicaciones web y móviles, desde añadir nuevos registros hasta consultar, modificar y eliminar entradas. Explora ejemplos de código prácticos y las mejores prácticas para estructurar y gestionar datos en tiempo real, lo que permite a los desarrolladores crear aplicaciones dinámicas y escalables con la arquitectura NoSQL flexible de Firebase.
preview
Algoritmo de optimización del dingo — Dingo Optimization Algorithm (DOA)

Algoritmo de optimización del dingo — Dingo Optimization Algorithm (DOA)

En este artículo se presenta un nuevo método metaheurístico basado en las estrategias de caza de los dingos australianos: el ataque en grupo, la persecución y la búsqueda de carroña. Veamos cómo se comporta, desde el punto de vista algorítmico, el algoritmo de optimización del dingo (DOA).
preview
Trading algorítmico de arbitraje basado en la teoría de grafos

Trading algorítmico de arbitraje basado en la teoría de grafos

En este artículo, el arbitraje triangular se presenta como un problema de búsqueda de ciclos en un grafo orientado, en el que los vértices son divisas y las aristas, pares de divisas con pesos que representan los tipos de cambio. Ciclo rentable: producto de los pesos >1. Los algoritmos de Floyd-Warshall y DFS que hemos desarrollado encuentran rutas óptimas para el cambio de divisas que permiten volver al vértice de origen con beneficio.
preview
Aprendiendo MQL5 de principiante a profesional (Parte VII): Principios de depuración de aplicaciones MQL

Aprendiendo MQL5 de principiante a profesional (Parte VII): Principios de depuración de aplicaciones MQL

La corrección de errores es una parte indispensable del ciclo de programación. En este artículo se analizan las técnicas habituales para corregir errores (depuración) en cualquier aplicación que se ejecute en el entorno de MetaTrader 5.
preview
Estrategia del águila — Eagle Strategy (ES)

Estrategia del águila — Eagle Strategy (ES)

Eagle Strategy es un algoritmo que imita la estrategia de caza en dos fases del águila: la búsqueda global mediante vuelos de Lévy según el método de Mantegna se alterna con una explotación local intensiva del algoritmo de las luciérnagas (Firefly), un enfoque matemáticamente fundamentado para lograr el equilibrio entre la exploración y la explotación, así como un concepto bioinspirado que aúna dos fenómenos naturales en un único método computacional.
preview
MetaTrader se une a Google Sheets con Pythonanywhere: guía para un flujo de datos seguro

MetaTrader se une a Google Sheets con Pythonanywhere: guía para un flujo de datos seguro

Este artículo muestra una forma segura de exportar datos de MetaTrader a Google Sheets. Google Sheets es la solución más valiosa, ya que está basada en la nube y se puede acceder a los datos guardados en ella en cualquier momento y desde cualquier lugar. De este modo, los traders pueden acceder a los datos de operaciones y a otros datos relacionados exportados a una hoja de cálculo de Google, y realizar análisis adicionales para futuras operaciones en cualquier momento y desde cualquier lugar en el que se encuentren.
preview
Características del Wizard MQL5 que debe conocer (Parte 79): Uso de los osciladores Gator y Acumulación/Distribución con aprendizaje supervisado

Características del Wizard MQL5 que debe conocer (Parte 79): Uso de los osciladores Gator y Acumulación/Distribución con aprendizaje supervisado

En el último apartado, concluimos nuestro análisis del emparejamiento del oscilador caimán y el oscilador de acumulación/distribución cuando se utilizan en su configuración típica de las señales brutas que generan. Estos dos indicadores son complementarios, ya que funcionan como indicadores de tendencia y volumen, respectivamente. A continuación, damos seguimiento a ese artículo examinando el efecto que el aprendizaje supervisado puede tener en la mejora de algunos de los patrones de características que habíamos revisado. Nuestro enfoque de aprendizaje supervisado es una CNN que utiliza regresión por kernels y similitud de producto escalar para dimensionar sus núcleos y canales. Como siempre, lo hacemos en un archivo de clase de señal personalizado que funciona con el asistente MQL5 para ensamblar un Asesor Experto.
preview
Pipelines en MQL5

Pipelines en MQL5

En este artículo, analizaremos un paso clave en la preparación de datos para el aprendizaje automático que está cobrando cada vez más importancia: los pipelines de preprocesamiento de datos. En esencia, supone una secuencia optimizada de pasos de transformación de datos que preparan los datos brutos antes de introducirlos en un modelo. Por muy poco interesante que pueda parecer a primera vista para quienes no estén familiarizados con el tema, esta «estandarización de datos» no solo ahorra tiempo de entrenamiento y costos de ejecución, sino que contribuye en gran medida a garantizar una mejor generalización. En este artículo nos centraremos en algunas funciones de preprocesamiento de SCIKIT-LEARN y, aunque no vamos a utilizar el asistente de MQL5, volveremos a él en próximos artículos.
preview
Simplificación de bases de datos en MQL5 (Parte 1): Introducción a las bases de datos y SQL

Simplificación de bases de datos en MQL5 (Parte 1): Introducción a las bases de datos y SQL

Analizamos cómo manipular bases de datos en MQL5 utilizando las funciones nativas del lenguaje. Cubrimos todo, desde la creación de tablas, la inserción, la actualización y la eliminación de datos hasta la importación y exportación de datos, todo ello con código de ejemplo. El contenido sirve como base sólida para comprender el funcionamiento interno del acceso a los datos, allanando el camino para el análisis de los ORM, donde crearemos uno en MQL5.
preview
Creación de sistemas de trading basados en IA en MQL5 (Parte 1): Implementación del manejo de JSON para APIs de IA

Creación de sistemas de trading basados en IA en MQL5 (Parte 1): Implementación del manejo de JSON para APIs de IA

En este artículo, desarrollaremos un framework de análisis de JSON en MQL5 para gestionar el intercambio de datos en la integración con APIs de IA, centrándonos en una clase JSON para procesar estructuras JSON. Asimismo, implementaremos métodos para serializar y deserializar datos JSON, compatibles con diversos tipos de datos, como cadenas, números y objetos. Esto resulta esencial para comunicarse con servicios de IA como ChatGPT, y permite desarrollar futuros sistemas de trading basados en IA al garantizar un tratamiento y una manipulación precisos de los datos.