Operando con el Calendario Económico MQL5 (Parte 8): Optimización del backtesting basado en noticias mediante el filtrado inteligente de eventos y el registro selectivo
En este artículo, optimizamos nuestro calendario económico mediante un filtrado inteligente de eventos y un registro selectivo, con el fin de lograr un backtesting más rápido y claro, tanto en modo en vivo como en modo sin conexión. Optimizamos el procesamiento de eventos y centramos los registros en los eventos críticos relacionados con las operaciones y los paneles de control, lo que mejora la visualización de las estrategias. Estas mejoras permiten probar y perfeccionar sin problemas las estrategias de negociación basadas en noticias.
Determinación de los tipos de cambio justos en PPA usando los datos del FMI
Construcción de un sistema de análisis de tipo de cambio basado en paridad de poder adquisitivo (PPA) en Python. El autor ha desarrollado un algoritmo con cinco métodos para calcular tipos de cambio justos utilizando datos del FMI. El presente artículo supone una guía práctica para el análisis fundamental de divisas, el procesamiento de datos económicos y la integración con sistemas comerciales. Encontrará el código completo en open source.
Exploramos modelos de regresión para inferencia causal y operaciones bursátiles
Este artículo explora la posibilidad de usar modelos de regresión en el trading algorítmico. Los modelos de regresión, a diferencia de la clasificación binaria, permiten crear estrategias de trading más flexibles mediante la evaluación cuantitativa de los cambios de precio previstos.
Del básico al intermedio: FileSave y FileLoad
En este artículo se explicarán y explorarán algunas formas de trabajar con las funciones de la biblioteca FileSave y FileLoad. Aunque mucha gente las considera poco prometedoras, debido a algunas limitaciones o dificultades que generan en ciertos escenarios, entender correctamente cómo funcionan estas dos funciones puede ahorrarte mucho trabajo en determinados momentos. Además, son una excelente forma de trabajar con archivos de log.
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 22): Panel de correlación
Esta herramienta es un panel de correlación que calcula y muestra coeficientes de correlación en tiempo real entre múltiples pares de divisas. Al visualizar cómo se mueven los pares de divisas en relación unos con otros, se añade un contexto valioso al análisis de la acción del precio y se ayuda a anticipar la dinámica entre mercados. Sigue leyendo para descubrir sus características y aplicaciones.
Simulación de mercado: Iniciando SQL en MQL5 (I)
En este artículo, comenzaremos a explorar el uso de SQL dentro de un código MQL5. Veremos cómo podemos crear una base de datos. O, mejor dicho, cómo podemos crear un archivo de base de datos en SQLite, utilizando, para ello, recursos o procedimientos incluidos en el lenguaje MQL5. Veremos también cómo crear una tabla y, después, cómo crear una relación entre tablas mediante una clave primaria y una clave foránea. Todo esto usando, nuevamente, MQL5. Veremos lo sencillo que es crear un código que, en el futuro, podrá portarse a otras implementaciones de SQL, usando una clase que nos ayude a ocultar la implementación creada. Y, lo más importante de todo, veremos que, en diversos momentos, podemos correr el riesgo de que algo no salga bien al usar SQL. Esto se debe a que, dentro del código MQL5, un código SQL siempre se colocará dentro de una STRING.
Descarga de datos del Fondo Monetario Internacional en Python
Descarga de datos del Fondo Monetario Internacional en Python: extraemos datos del FMI para su uso en estrategias monetarias macroeconómicas. ¿Cómo puede la macroeconomía ayudar a los tráders y tráders algorítmicos?
Del básico al intermedio: Eventos en Objetos (IV)
En este artículo, terminaremos lo que comenzamos en el artículo anterior. Es decir, una forma total y completamente interactiva de redimensionar los objetos directamente en el gráfico. Aunque muchos imaginen que, para hacer algo así, haría falta mucho más conocimiento de MQL5, notarás que, con conceptos simples y conocimientos muy básicos, podemos implementar una forma de trabajar con los objetos directamente en el gráfico. Algo que da un resultado muy divertido y bastante interesante.
Dominando los registros (Parte 7): Cómo mostrar los registros en un gráfico
Descubre cómo mostrar los registros directamente en el gráfico de MetaTrader de forma organizada, con marcos, títulos y scroll automático. En este artículo te mostramos cómo crear un sistema visual de registros con MQL5, ideal para supervisar en tiempo real lo que hace tu robot.
Del básico al intermedio: Indicador (V)
En este artículo, veremos cómo podemos lidiar con solicitudes del usuario para cambiar el modo de trazado del gráfico. Esto, para que podamos lograr que un indicador, orientado a usar el modo de trazado gráfico actual, no quede extraño ni diferente de lo que el usuario de MetaTrader 5 esperaría.
Herramientas personalizadas de depuración y perfilado para el desarrollo en MQL5 (Parte I): Registro avanzado
Descubra cómo implementar un potente marco de registro personalizado para MQL5 que va más allá de las simples instrucciones Print(), ya que admite niveles de gravedad, múltiples manejadores de salida y rotación automática de archivos, todo ello configurable sobre la marcha. Integre el singleton CLogger con ConsoleLogHandler y FileLogHandler para registrar entradas de registro contextuales y con marca de tiempo tanto en la pestaña «Expertos» como en archivos persistentes. Optimice la depuración y el seguimiento del rendimiento de sus asesores expertos gracias a formatos de registro claros y personalizables y a un control centralizado.
Redes neuronales en el trading: Mejora de la eficiencia del Transformer mediante la reducción de la nitidez (Final)
El SAMformer ofrece una solución a los problemas clave del Transformer en la previsión de series temporales a largo plazo, incluida la complejidad del entrenamiento y la escasa generalización a muestras pequeñas. Su arquitectura poco profunda y la optimización con control de nitidez garantizan que se eviten los malos mínimos locales. En este artículo, proseguiremos la aplicación de enfoques utilizando MQL5 y evaluaremos su valor práctico.
De novato a experto: Noticias animadas utilizando MQL5 (VII) Estrategia para el trading de noticias tras el impacto
El riesgo de que se produzcan movimientos bruscos es extremadamente alto durante el primer minuto tras la publicación de una noticia económica de gran repercusión. En ese breve lapso de tiempo, los movimientos de los precios pueden ser erráticos y volátiles, lo que a menudo activa ambos lados de las órdenes pendientes. Poco después de la publicación —normalmente en menos de un minuto—, el mercado tiende a estabilizarse, reanudando o corrigiendo la tendencia predominante con una volatilidad más habitual. En esta sección, analizaremos un enfoque alternativo al trading basado en noticias, con el objetivo de evaluar si puede convertirse en una herramienta útil dentro del conjunto de recursos del trader. Sigue leyendo para conocer más información y detalles sobre este tema.
Procesos gaussianos en el aprendizaje automático (Parte 1): Modelo de clasificación en MQL5
En este artículo, analizaremos el modelo de clasificación de procesos gaussianos. Comenzaremos estudiando sus principios teóricos y luego pasaremos al desarrollo práctico de la biblioteca GP en MQL5.
Características del Wizard MQL5 que debe conocer (Parte 66): Uso de patrones FrAMA y Force Index con el núcleo de producto escalar
El indicador FrAMA y el oscilador Force Index son herramientas de tendencia y volumen que pueden combinarse al desarrollar un asesor experto. Retomamos nuestro último artículo, en el que presentamos este par, para analizar la aplicabilidad del aprendizaje automático al mismo. Estamos utilizando una red neuronal convolucional que emplea el núcleo de producto escalar para realizar previsiones a partir de los datos de estos indicadores. 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.
Indicador de estacionalidad por horas, días de la semana y meses
Este artículo explica cómo desarrollar una herramienta para analizar patrones de precios recurrentes en los mercados financieros, ya sea por el día del mes (1-31), el día de la semana (lunes a domingo) o la hora del día (0-23). El indicador analiza datos históricos, calcula la rentabilidad media de cada periodo y muestra los resultados en forma de histograma con una previsión. Incluye parámetros personalizables: tipo de estacionalidad, número de barras analizadas, visualización como porcentajes o valores absolutos, colores del gráfico.
Del básico al intermedio: Estructuras (VII)
En este artículo se mostrará cómo podemos abordar los problemas para estructurar las cosas y crear una solución más sencilla y atractiva. Aunque el contenido está orientado a la didáctica y, por lo tanto, no se trata de un código real, es necesario asimilar muy bien los conceptos y conocimientos que se verán aquí. Así, en el futuro, podrás seguir los códigos que iremos mostrando.
Del básico al intermedio: Objetos (IV)
Puede que este sea el artículo más divertido hasta ahora. Esto ocurre porque aquí implementaremos una modificación de un objeto presente en MetaTrader 5 para crear otro que no existe originalmente en la plataforma. Claro, lo que verás aquí puede parecer una locura, pero funciona y tiene un objetivo muy interesante.
Dominando los registros (Parte 6): Guardando los registros en la base de datos
Este artículo explora el uso de bases de datos para almacenar registros de forma estructurada y escalable. Abarca conceptos fundamentales, operaciones esenciales, configuración e implementación de un controlador de base de datos en MQL5. Finalmente, valida los resultados y destaca los beneficios de este enfoque para la optimización y la monitorización eficiente.
Introducción a MQL5 (Parte 18): Introducción al patrón de onda de Wolfe
En este artículo se explica en detalle el patrón de la onda de Wolfe, abordando tanto la variante bajista como la alcista. Además, desglosa paso a paso la lógica utilizada para identificar configuraciones válidas de compra y venta basadas en este patrón gráfico avanzado.
Optimización basada en biogeografía — Biogeography-Based Optimization (BBO)
La optimización basada en biogeografía (BBO) supone un elegante método de optimización global inspirado en los procesos naturales de migración de especies entre islas de archipiélagos. El algoritmo se basa en una idea simple pero poderosa: las soluciones de alta calidad comparten activamente sus características, mientras que las soluciones de baja calidad adoptan activamente nuevas características, creando un flujo natural de información desde las mejores soluciones hacia las peores. El BBO, un operador de mutación adaptativa único que ofrece un excelente equilibrio entre exploración y explotación, demuestra una alta eficiencia en una variedad de tareas.
Algoritmo de mercado bursátil — Exchange Market Algorithm (EMA)
Este artículo ofrece un análisis detallado del algoritmo de mercado bursátil (EMA), inspirado en el comportamiento de los tráders en el mercado de valores. El algoritmo simula el proceso de negociación de acciones, donde los participantes del mercado con distintos niveles de éxito emplean distintas estrategias para maximizar sus beneficios.
Formulación de un Asesor Experto Multipar Dinámico (Parte 3): Estrategias de reversión a la media y de impulso
En este artículo, analizaremos la tercera parte de nuestro proceso de creación de un asesor experto (EA) dinámico para múltiples pares, centrándonos específicamente en la integración de las estrategias de trading de reversión a la media y momentum. Analizaremos cómo detectar y reaccionar ante las desviaciones de los precios respecto a la media (puntuación Z), y cómo medir el impulso en varios pares de divisas para determinar la dirección de la operación.
Simulación de mercado: Position View (II)
En este artículo, mostraré, de la forma más simple y práctica posible, cómo podrás usar un indicador como forma de observar posiciones abiertas en el servidor de trading. Lo hago así, y poco a poco, precisamente para mostrar que no necesitas incorporar necesariamente todo esto en un Asesor Experto. Muchos de ustedes ya deben de estar bastante acostumbrados a hacer esto, por un motivo u otro. La verdad es que eso es una tontería, ya que, a medida que avancemos en esta implementación, quedará claro que podrás crear o implementar diversos tipos de indicadores para este propósito.
Motor de decisión Multi-IA para MQL5 (Parte 1): Integrar múltiples IA con votación por consenso
Presentamos una arquitectura en la que el EA habla con un AI Manager que consulta a OpenAI, Claude, Gemini y DeepSeek, parsea sus JSON y los convierte a un estándar AIResponse. Con un prompt común y un sistema de votación ponderada con quórum, se obtiene una señal final COMPRAR/VENDER/MANTENER. Incluye gestión de errores, temporizador y un EA mínimo para su integración práctica.
Simulación de mercado (Parte 24): Iniciando SQL (VII)
En el artículo anterior terminamos de hacer las debidas presentaciones sobre SQL. Así, lo que me había propuesto mostrar y explicar sobre SQL, a mi juicio, quedó debidamente explicado. Esto, para que todos los que vengan a ver el sistema de repetición/simulador en construcción consigan, como mínimo, tener alguna noción de lo que puede estar ocurriendo allí. Esto se debe a que no tiene sentido programar diversas cosas que SQL puede cubrir perfectamente.
Aprendizaje automático y Data Science (Parte 36): Cómo lidiar con mercados financieros sesgados
Los mercados financieros no están perfectamente equilibrados. Algunos mercados son alcistas, otros bajistas y otros presentan comportamientos laterales que indican incertidumbre en cualquier dirección. Esta información desequilibrada, cuando se utiliza para entrenar modelos de aprendizaje automático, puede resultar engañosa, ya que los mercados cambian con frecuencia. En este artículo vamos a analizar varias maneras de abordar este problema.
Características del Wizard MQL5 que debe conocer (Parte 62): Uso de patrones del ADX y el CCI con aprendizaje por refuerzo TRPO
El oscilador ADX y el oscilador CCI son indicadores de seguimiento de tendencias y de impulso que pueden combinarse al desarrollar un asesor experto. Retomamos donde lo dejamos en el artículo anterior y analizamos cómo es posible llevar a cabo el entrenamiento en condiciones reales y la actualización del modelo que hemos desarrollado gracias al aprendizaje por refuerzo. Estamos utilizando un algoritmo que aún no hemos tratado en esta serie, conocido como «optimización de políticas de región de confianza» (Trusted Region Policy Optimization, TRPO). Y, como siempre, la creación de asesores expertos mediante el Asistente de MQL5 (Wizard MQL5) nos permite configurar nuestros modelos para su prueba de forma mucho más rápida y, además, de manera que puedan distribuirse y probarse con diferentes tipos de señales.
Simulación de mercado: Iniciando SQL en MQL5 (IV)
Muchos suelen infrautilizar SQL, o incluso no utilizarlo, porque no comprenden bien cómo funciona en realidad. Al consultar una base de datos SQL, no siempre buscamos una respuesta genérica; en algunos casos queremos una respuesta muy concreta y práctica. Si tú creas una base de datos con cierta estructuración y modelado, podrás introducir prácticamente cualquier tipo de información en ella.
Características del Wizard MQL5 que debe conocer (Parte 60): Aprendizaje por inferencia (Wasserstein-VAE) con patrones de media móvil y oscilador estocástico
Concluimos nuestro análisis de la combinación complementaria del MA (media móvil) y el oscilador estocástico examinando qué papel puede desempeñar el aprendizaje por inferencia en un contexto posterior al aprendizaje supervisado y al aprendizaje por refuerzo. Evidentemente, existen multitud de maneras de abordar el aprendizaje por inferencia en este caso; sin embargo, nuestro enfoque consiste en utilizar autoencoders variacionales. Exploramos esto en Python antes de exportar nuestro modelo entrenado en formato ONNX para su uso en un Asesor Experto generado con el Asistente en MetaTrader 5.
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.
Características del Wizard MQL5 que debe conocer (Parte 64): Uso de los patrones de DeMarker y los canales de envolvente con el núcleo de ruido blanco
El oscilador DeMarker y el indicador de envolventes son herramientas de impulso y de soporte/resistencia que pueden combinarse al desarrollar un asesor experto. Retomamos el punto de nuestro artículo anterior, en el que presentamos este par de indicadores, añadiendo ahora el aprendizaje automático a la ecuación. Estamos utilizando una red neuronal recurrente que emplea un núcleo de ruido blanco para procesar señales vectorizadas procedentes de estos dos indicadores. Esto se realiza en un archivo de clase de señal personalizado que funciona con el asistente MQL5 para ensamblar un Asesor Experto.
Del básico al intermedio: Eventos en Objetos (II)
En este artículo, veremos cómo funcionan los tres últimos tipos de eventos que puede disparar un objeto. Entender esto será muy divertido, ya que, al final, haremos algo que, para muchos, puede parecer una especie de locura, pero que es perfectamente posible y tiene un resultado bastante sorprendente.
Teoría de grafos: Aplicación del algoritmo de Dijkstra al trading
El algoritmo de Dijkstra, una solución clásica para hallar el camino más corto en la teoría de grafos, puede optimizar las estrategias de trading mediante la modelización de las redes de mercado. Los traders pueden utilizarlo para encontrar las rutas más eficientes en los datos del gráfico de velas.
Del básico al intermedio: Eventos en objetos (I)
En este artículo, veré tres de los seis eventos que MetaTrader 5 puede disparar cuando algo sucede con un objeto presente en el gráfico. Estos eventos son muy útiles cuando se trata de interacción con el usuario. Esto se debe a que, sin entender estos eventos, tendrás mucho más trabajo para mantener cierta configuración en el gráfico, al intentar controlar objetos con finalidades específicas.
Formulación de un Asesor Experto Multipar Dinámico (Parte 4): Ajuste de volatilidad y riesgo
Esta fase permite ajustar con precisión tu EA multipar para adaptar el tamaño de las operaciones y el riesgo en tiempo real utilizando indicadores de volatilidad como el ATR, lo que mejora la consistencia, la protección y el rendimiento en diversas condiciones de mercado.
Redes neuronales en el trading: Segmentación periódica adaptativa (LightGTS)
Les invitamos a explorar la innovadora técnica de segmentación adaptativa, una forma de segmentar series temporales de forma flexible en función de su periodicidad inherente. Además, se usan técnicas de codificación eficientes que permiten preservar características semánticas importantes al trabajar con datos de diferentes escalas. Estos métodos descubren nuevas posibilidades para procesar con precisión datos complejos a múltiples escalas, típicos de los mercados financieros, y mejoran significativamente la estabilidad y la validez de las previsiones.
Del básico al intermedio: SandBox y MetaTrader
¿Sabes qué es una SandBox? ¿Sabes cómo trabajar con ella? Si la respuesta a cualquiera de estas preguntas es no, lee este artículo para entender el principio básico que hay detrás de una SandBox. Y entiende por qué MetaTrader 5 utiliza una SandBox para garantizar la integridad de algunos de sus datos. El contenido expuesto aquí tiene única y exclusivamente un objetivo didáctico. En ningún caso debe considerarse una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
Del básico al intermedio: Eventos en Objetos (III)
En este artículo, prepararemos el terreno para algo que se verá en el próximo artículo. También veremos cómo permitir que un objeto de tipo OBJ_LABEL pueda editarse y moverse de forma completamente interactiva. Es decir, podremos cambiar tanto el texto como la posición de un objeto de tipo OBJ_LABEL, sin abrir la ventana de propiedades del objeto.
Características del Wizard MQL5 que debe conocer (Parte 63): Uso de los patrones de DeMarker y los canales de envolvente
El oscilador DeMarker y el indicador de envolvente son herramientas de impulso y de soporte/resistencia que pueden combinarse al desarrollar un asesor experto. Por lo tanto, examinamos patrón por patrón qué podría ser útil y qué podría evitarse. Como siempre, estamos utilizando un Asesor Experto creado mediante un asistente, junto con las funciones de uso de patrones integradas en la clase Expert Signal.