Características del Wizard MQL5 que debe conocer (Parte 61): Uso de patrones del ADX y el CCI con aprendizaje supervisado
El oscilador ADX y el oscilador CCI son indicadores de seguimiento de tendencias y de impulso que pueden combinarse al desarrollar un asesor experto. Analizamos cómo se puede sistematizar esto utilizando los tres modos principales de entrenamiento del aprendizaje automático. Los asesores expertos ensamblados por el Wizard MQL5 (Asistente MQL5) nos permiten evaluar los patrones que presentan estos dos indicadores, y comenzamos analizando cómo se puede aplicar el aprendizaje supervisado con estos patrones.
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.
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.
Motor de decisión Multi-IA para MQL5 (Parte 2): Voto ponderado que aprende en cuál IA confiar, más gestión de riesgo
Esta segunda parte convierte el motor multi-IA en un sistema que aprende en qué modelos confiar. Se registra cada predicción, se evalúa su acierto tras un horizonte y se actualiza un hit-rate por proveedor (EMA), para ponderar el voto por confianza × acierto real. Además, se añade gestión de riesgo: SL/TP basada en ATR con ratio recompensa-riesgo fijado en el código y tamaño de posición escalado por la confianza. Útil para pruebas de demostración.
Características del Wizard MQL5 que debe conocer (Parte 58): Aprendizaje por refuerzo (DDPG) con patrones de media móvil y oscilador estocástico
La media móvil y el oscilador estocástico son indicadores muy comunes cuyos patrones colectivos analizamos en el artículo anterior, mediante una red de aprendizaje supervisado, para ver qué «patrones se mantendrían». Partiendo de los análisis de ese artículo, vamos un paso más allá y analizamos los efectos que tendría en el rendimiento el aprendizaje por refuerzo, cuando se utiliza con esta red entrenada. Los lectores deben tener en cuenta que nuestras pruebas se han realizado en un periodo de tiempo muy limitado. No obstante, seguimos aprovechando los requisitos mínimos de programación que ofrece el Asistente de MQL5 (MQL5 Wizard) para mostrar esto.
Simulación de mercado (Parte 18): Iniciando SQL (I)
Da igual si vamos a usar uno u otro programa de SQL, ya sea MySQL, SQL Server, SQLite, OpenSQL o cualquier otro. Todos tienen algo en común. Ese algo en común es el lenguaje SQL. Aunque no vayas a usar una WorkBench, podrás manipular o trabajar con una base de datos directamente en MetaEditor o a través de MQL5 para hacer cosas en MetaTrader 5, pero necesitarás tener conocimientos de SQL. Así que aquí aprenderemos, al menos, lo básico.
Características del Wizard MQL5 que debe conocer (Parte 55): SAC con Prioritized Experience Replay (PER)
Los búferes de reproducción en el aprendizaje por refuerzo son especialmente importantes con algoritmos fuera de política como DQN o SAC. Esto pone entonces el foco en el proceso de muestreo de este búfer de memoria. Mientras que las opciones predeterminadas con SAC, por ejemplo, utilizan una selección aleatoria de este búfer, los búferes de reproducción de experiencia priorizada ajustan esto mediante un muestreo del búfer basado en una puntuación TD. Repasamos la importancia del aprendizaje por refuerzo y, como siempre, examinamos solo esta hipótesis (no la validación cruzada) en un asesor experto creado por un asistente.
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.
Simulación de mercado: Position View (VII)
En este artículo, comenzaremos a realizar algunas mejoras en el indicador de posición, para poder interactuar con él y modificar las líneas de precio, o cerrar una posición directamente mediante la interacción con el indicador de posición. Antes de entrar realmente en la implementación, conviene aclarar algo, sobre todo para quienes no estén al tanto. No es posible, de ninguna manera, usar un indicador para modificar algo en el servidor de trading. Esto se debe a que MetaTrader 5 cuenta con un sistema de seguridad que permite únicamente a los Asesores Expertos actuar sobre una orden o una posición. Ninguna otra aplicación que no sea un Asesor Experto podrá manipular órdenes o posiciones.
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.
Simulación de mercado: Position View (XVIII)
En este artículo mostré, de la forma más didáctica posible, cómo puedes modificar y desarrollar un código capaz de cumplir determinados objetivos alterando lo mínimo posible un código ya existente. Añadiremos un indicador de volumen y, al mismo tiempo, impediremos que el usuario u operador elimine los objetos que se están creando por el indicador de posició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.
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.
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.
Acceso a la información de ticks de MetaTrader desde los servicios de MQL5 a una aplicación de Python mediante sockets
A veces no todo se puede programar en el lenguaje MQL5. E incluso si fuera posible convertir las bibliotecas avanzadas existentes en MQL5, llevaría mucho tiempo. Este artículo pretende demostrar que es posible sortear la dependencia de Windows transmitiendo información de ticks —como el precio bid, precio ask y hora— a través de los servicios de MetaTrader a una aplicación de Python mediante sockets.
De novato a experto: Noticias animadas utilizando MQL5 (VIII) Botones de operación rápida para trading de noticias
Aunque los sistemas de trading algorítmico gestionan las operaciones de forma automatizada, muchos traders que operan en función de las noticias y los scalpers prefieren mantener un control activo durante noticias de alto impacto y en condiciones de mercado de ritmo acelerado, lo que exige una rápida ejecución y gestión de las órdenes. Esto pone de relieve la necesidad de contar con herramientas front-end intuitivas que integren fuentes de noticias en tiempo real, datos del calendario económico, análisis de indicadores, análisis basados en inteligencia artificial y controles de trading ágiles y de respuesta inmediata.
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.
Simulación de mercado: Position View (VIII)
En el artículo anterior, vimos cómo podíamos implementar el indicador de posición para cerrar una posición abierta directamente desde el gráfico, interactuando con un objeto disponible en él. Una vez concluido y funcionando el primer mecanismo, comenzamos a hacer algunas modificaciones para que también fuera posible eliminar las líneas de take profit y stop loss de una posición abierta. Sin embargo, como los cambios necesarios requerían una explicación adecuada, en ese mismo artículo solo mostré los cambios que debían realizarse en el Asesor Experto y aún era necesario mostrar los cambios que debían realizarse en el Indicador de posición.
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.
De novato a experto: Sincronizador de períodos de mercado
En este análisis, presentamos una herramienta de sincronización de marcos temporales superiores a inferiores, diseñada para resolver el problema del análisis de patrones de mercado que abarcan períodos de tiempo superiores. Los marcadores de período integrados en MetaTrader 5 suelen ser limitados, rígidos y no se pueden personalizar fácilmente para marcos temporales no estándar. Nuestra solución aprovecha el lenguaje MQL5 para desarrollar un indicador que proporciona una forma dinámica y visual de alinear estructuras de marcos temporales superiores dentro de gráficos de marcos temporales inferiores. Esta herramienta puede resultar muy valiosa para realizar análisis de mercado detallados. Para conocer mejor sus características e implementación, le invito a seguir la discusión.
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.
Creación de un Panel de administración de operaciones en MQL5 (Parte XII): Integración de una calculadora de valores Forex
El cálculo preciso de los valores clave de las operaciones es una parte indispensable del flujo de trabajo de cualquier operador. En este artículo, analizaremos la integración de una potente herramienta —la calculadora de Forex— en el Panel de gestión de operaciones, lo que amplía aún más la funcionalidad de nuestro sistema «Trading Administrator» de múltiples paneles. A la hora de realizar operaciones, es fundamental determinar de forma eficaz el riesgo, el tamaño de la posición y el beneficio potencial, y esta nueva función está diseñada para que ese proceso sea más rápido e intuitivo dentro del panel. Veamos cómo se aplica MQL5 en la creación de paneles de trading avanzados.
Simulación de mercado: Position View (V)
A pesar de lo visto en el artículo anterior, esto parece algo simple. Allí tenemos diversos problemas y muchas cosas por resolver y hacer. Tú, estimado lector, puedes imaginar que todo es fácil y simple. De manera inocente, vas aceptando simplemente lo que se te presenta. Esto es un error del que tú, estimado lector, deberás intentar librarte. Peor que aceptar es simplemente no entender e intentar usar algo sin comprender realmente qué se está usando. No es raro, entre principiantes, pasar por la fase de copiar y pegar. Si no quieres quedarte siempre en esa fase, conviene aprender a usar ciertas herramientas. Una de las herramientas más utilizadas por los programadores es la documentación. La segunda herramienta está formada por las pruebas y los archivos de log. Aquí veremos cómo hacerlo.
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.
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 32): Motor de reconocimiento de velas japonesas en Python (II) — Detección con TA-Lib
En este artículo, hemos pasado de codificar manualmente la detección de patrones de velas japonesas en Python a aprovechar TA-Lib, una biblioteca que reconoce más de sesenta patrones distintos. Estas formaciones ofrecen información valiosa sobre posibles cambios de tendencia en el mercado y continuaciones de tendencias. Sigue leyendo para obtener más información.
De novato a experto: Noticias animadas utilizando MQL5 (V) Sistema de recordatorio de eventos
En esta discusión, exploraremos nuevas mejoras a medida que integramos una lógica mejorada de alertas de eventos para los acontecimientos del calendario económico que muestra el EA «News Headline». Esta mejora es fundamental, ya que garantiza que los usuarios reciban notificaciones oportunas poco antes de que tengan lugar eventos importantes. Acompáñanos en este análisis para descubrir más.
Algoritmo de Aprendizaje Competitivo — Competitive Learning Algorithm (CLA)
El artículo presenta el Algoritmo de Aprendizaje Competitivo (CLA), un nuevo método de optimización metaheurística basado en la modelización del proceso educativo. El algoritmo organiza la población de soluciones en clases con estudiantes y profesores, donde los agentes aprenden a través de tres mecanismos: siguiendo a los mejores de la clase, usando la experiencia personal y compartiendo conocimientos entre clases.
Motor de decisión Multi-IA para MQL5 (Parte 4): ¿El multi-IA le gana a una sola IA? Diario, scorecard y costo
Esta parte añade la capa de evaluación al motor multi-IA. Cada ciclo queda registrado en un diario con la señal y la confianza de cada proveedor y el voto combinado; al vencer el horizonte, se califica a cada IA como si la siguiéramos sola y se compara en igualdad de condiciones. Además, se estima el costo de las llamadas y se muestra un cuadro de mando en el gráfico y un CSV para decidir si el conjunto aporta y qué modelo conviene podar o ajustar.
De novato a experto: Trayectorias predictivas del precio
Los niveles de Fibonacci proporcionan un marco práctico que los mercados suelen respetar, destacando las zonas de precios donde es más probable que se produzcan reacciones. En este artículo, desarrollamos un asesor experto que aplica la lógica de retroceso de Fibonacci para anticipar posibles movimientos futuros y operar con retrocesos mediante órdenes pendientes. En este artículo recorremos todo el flujo de trabajo, desde la detección de oscilaciones hasta la representación gráfica de niveles, los controles de riesgo y la ejecución.
Optimización por Comunidad de Científicos: Teoría
Secretos para la optimización efectiva de estrategias de trading en enfoques metaheurísticos. El algoritmo de Optimización de Comunidad de Científicos (CoSO) es un nuevo algoritmo basado en la población, inspirado en los mecanismos de la comunidad científica. A diferencia de las metáforas naturales tradicionales, el CoSO modela aspectos únicos de la actividad científica humana: la publicación de resultados en revistas, la competencia por subvenciones y la formación de equipos de investigación.
Simulación de mercado: La unión hace la fuerza (II)
Hasta ahora, la aplicación desarrollada a lo largo de esta serie de artículos se centraba exclusivamente en simular la parte gráfica. Sin embargo, para disponer de un sistema más completo, en el que podamos probar un Asesor Experto dentro del servicio de repetición/simulador, también debemos simular el servidor de trading. Observarás que esta simulación incluirá únicamente los elementos imprescindibles. No obstante, tú, estimado lector, podrás completar las partes que falten. Como esos componentes adicionales no influyen en lo que pretendo mostrar, ya contamos con más que suficiente para desarrollar lo que hemos planificado.
Simulación de mercado: Position View (VI)
En este artículo, haremos diversas mejoras para que el indicador de posición refleje lo que realmente ocurre en el servidor de trading, en términos de posiciones y del estado actual de estas. Debo recordar que estas aplicaciones, que se mostrarán aquí, no pretenden en ningún caso sustituir ningún elemento disponible en MetaTrader 5. Tampoco deben usarse sin los debidos cuidados y criterios, ya que su objetivo es presentar un código didáctico, es decir, con fines de aprendizaje sobre cómo funciona el sistema. El motivo por el que digo que el código es didáctico es que el uso de mensajes, en algunos casos, no es la mejor forma de implementar ciertas funcionalidades.
Motor de decision Multi-IA para MQL5 (Parte 5): backtest del motor en el simulador de estrategias y comparacion contra reglas simples.
En esta última parte se pone a prueba el motor multi-IA de la serie. Se graban los votos reales de los modelos barra por barra en XAUUSD H1 y se reproducen en el Simulador de estrategias, para compararlo con reglas simples bajo el mismo riesgo y los mismos costos, dentro y fuera de muestra. Se reportan los resultados y su causa, y se incluye un arnés de grabación y reproducción y una prueba de diagnóstico aplicable a cualquier asesor con IA.
Características del Wizard MQL5 que debe conocer (Parte 72): Uso de los patrones del MACD y del OBV con aprendizaje supervisado
Damos continuidad a nuestro último artículo, en el que presentamos el par de indicadores formado por el MACD y el OBV, analizando cómo se podría mejorar esta combinación mediante el aprendizaje automático. MACD y OBV forman un emparejamiento complementario en cuanto a tendencia y volumen. Nuestro enfoque de aprendizaje automático utiliza una red neuronal convolucional que emplea un kernel para dimensionar sus núcleos y 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.
Motor de decisión Multi-IA para MQL5 (Parte 3): Darle a las IA el contexto correcto — régimen de mercado y noticias
Tercera parte de la serie: le damos al motor multi-IA el contexto donde un modelo de lenguaje sí aporta. Leemos el régimen de mercado en el código (tendencia o rango con ADX, volatilidad con el ATR contra su promedio, dirección con la pendiente de una EMA) y definimos ventanas de noticias de alto impacto configurables, sin depender del calendario del broker. Ambos entran en un prompt más rico que le pide a cada IA razonar el contexto —no el próximo tick— y devolver una bandera de riesgo. Un gating de dos capas, por horario y por consenso de las IA, mantiene al motor fuera del mercado cuando el contexto pesa más que la señal.
Simulación de mercado: La unión hace la fuerza (I)
Estamos llegando a la recta final. El desarrollo del sistema de repetición/simulador está casi terminado. Es cierto que aún tendremos que completar algunas cosas, pero, en comparación con todo lo que ya hemos hecho, implementar lo que falta será sencillo. Sin embargo, todo lo que se mostrará en este artículo deberá asimilarse y comprenderse adecuadamente. Quiero que tú, estimado lector y entusiasta...
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.
Simulación de mercado: Position View (XI)
En este artículo, te mostraré, querido y estimado lector, cómo puedes modificar el indicador de posición para que sea capaz de hacer muchas más cosas de las que podía hacer originalmente. Veremos cómo incorporar la capacidad de mover los precios y crear líneas de precio directamente en el gráfico. Algo que muchos considerarían extremadamente complicado y difícil de resolver. Sin embargo, verás que lo haremos con mucha facilidad y con un mínimo de esfuerzo. Solo hará falta detenerse y pensar un poco.
Algoritmo de optimización basado en los sueños — Dream Optimization Algorithm (DOA)
Un algoritmo de optimización poblacional inspirado en un fenómeno controvertido y poco estudiado: el fenómeno de los sueños humanos. Grupos de agentes con distintas «memorias», modulación cosenoidal del movimiento y una distribución de fases inusual de 99/1: descubra cómo estas características influyen en la eficacia de la optimización de sus estrategias de trading.
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.