Simulación de mercado (Parte 15): Sockets (IX)
En este artículo, explicaré una de las posibles soluciones a lo que he estado intentando mostrar. Es decir, cómo permitir que un usuario de Excel realice una acción en MetaTrader 5 sin enviar órdenes ni abrir o cerrar una posición. La idea es que el usuario utilice Excel para realizar un análisis fundamental de algún símbolo. Y que, usando únicamente Excel, pueda indicar a un Asesor Experto que se esté ejecutando en MetaTrader 5 que debe abrir o cerrar una posición determinada.
Del básico al intermedio: Plantilla y Typename (I)
En este artículo, comenzaremos a tratar uno de los conceptos que muchos principiantes evitan. Esto se debe a que las plantillas no son un tema sencillo de entender y utilizar, ya que muchos no comprenden el principio básico detrás de lo que sería una plantilla: la sobrecarga de funciones y procedimientos.
Redes neuronales en el trading: Modelo adaptativo multiagente (MASA)
Hoy les propongo familiarizarse con el MASA, un framework adaptativo multiagente que combina el aprendizaje por refuerzo y las estrategias adaptativas para ofrecer un equilibrio armonioso entre la rentabilidad y la gestión del riesgo en condiciones de mercado turbulentas.
Creación de un sistema personalizado de detección de regímenes de mercado en MQL5 (Parte 2): Asesor experto
Este artículo detalla la construcción de un Asesor Experto Adaptativo (MarketRegimeEA) utilizando el detector de régimen de la Parte 1. Cambia automáticamente las estrategias comerciales y los parámetros de riesgo para mercados con tendencia, rango o volátiles. Se incluyen optimización práctica, manejo de transiciones y un indicador de múltiples marcos de tiempo.
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.
Cliente en Connexus (Parte 7): Añadir la capa de cliente
En este artículo continuamos con el desarrollo de la biblioteca Connexus. En este capítulo creamos la clase CHttpClient, responsable de enviar una solicitud y recibir un orden. También cubrimos el concepto de simulaciones, dejando la biblioteca desacoplada de la función WebRequest, lo que permite una mayor flexibilidad para los usuarios.
Redes neuronales en el trading: Detección de objetos con reconocimiento de escena (HyperDet3D)
Le proponemos que conozca un nuevo enfoque de la detección de objetos mediante hiper-redes: una hiper-red de generación de coeficientes de peso para el modelo básico que permite tener en cuenta las peculiaridades del estado actual del mercado. Este enfoque mejora la precisión de las previsiones adaptando el modelo a las distintas condiciones comerciales.
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.
Redes neuronales en el trading: Aprendizaje multitarea basado en el modelo ResNeXt (Final)
Continuamos nuestra exploración del framework de aprendizaje multitarea basado en ResNeXt, que destaca por su modularidad, su alta eficiencia desde el punto de vista computacional y su capacidad de identificar patrones consistentes en los datos. El uso de un único codificador y de "cabezas" especializadas reduce el riesgo de sobreentrenamiento del modelo y mejora la calidad de las predicciones.
Técnicas avanzadas de gestión y optimización de la memoria en MQL5
Descubra técnicas prácticas para optimizar el uso de la memoria en los sistemas de trading MQL5. Aprenda a crear asesores expertos e indicadores eficientes, estables y de rápido rendimiento. Exploraremos cómo funciona realmente la memoria en MQL5, las trampas comunes que ralentizan sus sistemas o provocan fallos y, lo más importante, cómo solucionarlos.
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.
Dominando los registros (Parte 3): Exploración de controladores para guardar registros
En este artículo, exploraremos el concepto de controladores en la librería de registro, comprenderemos cómo funcionan y crearemos tres implementaciones iniciales: Console, Database y File. Cubriremos todo, desde la estructura básica de los controladores hasta las pruebas prácticas, preparando el terreno para su plena funcionalidad en futuros artículos.
Del básico al intermedio: Array (III)
En este artículo, veremos cómo trabajar con arrays en MQL5, hasta el punto de transferir información entre funciones y procedimientos mediante arrays. El objetivo es prepararte para lo que se verá y explicará en artículos futuros. No obstante, es extremadamente recomendable que estudies muy bien lo que se mostrará en este artículo.
Desarrollamos un asesor experto multidivisas (Parte 25): Conectamos una nueva estrategia (II)
En este artículo seguiremos conectando la nueva estrategia con el sistema de optimización automática que hemos creado. Asimismo, veremos qué cambios habrá que introducir en el EA de creación del proyecto de optimización y en los EAs de la segunda y tercera fase.
Redes neuronales en el trading: Modelo Universal de Generación de Trayectorias (UniTraj)
La comprensión del comportamiento de los agentes es importante en distintos ámbitos, pero la mayoría de los métodos se centran en una única tarea (comprensión, eliminación del ruido, predicción), lo cual reduce su eficacia en escenarios del mundo real. En este artículo, propongo al lector introducir un modelo capaz de adaptarse a diferentes tareas.
Redes neuronales en el trading: Integración de la teoría del caos en la previsión de series temporales (Attraos)
El framework de Attraos integra la teoría del caos en la previsión de series temporales a largo plazo tratándolas como proyecciones de sistemas dinámicos caóticos multidimensionales. Usando la invarianza de los atractores, el modelo aplica la reconstrucción del espacio de fases y la memoria dinámica con varias resoluciones para preservar las estructuras históricas.
Creación de clases de negociación similares a MQL5 en Python para MetaTrader 5
El paquete Python de MetaTrader 5 ofrece una forma sencilla de crear aplicaciones de trading para la plataforma MetaTrader 5 en lenguaje Python. Aunque se trata de una herramienta potente y útil, este módulo no es tan fácil de usar como el lenguaje de programación MQL5 a la hora de crear una solución de trading algorítmico. En este artículo, vamos a crear clases de trading similares a las que se ofrecen en MQL5 para crear una sintaxis similar y facilitar la creación de robots de trading en Python como en MQL5.
El componente View para tablas en el paradigma MQL5 MVC: Controles sencillos
El artículo trata sobre controles simples como componentes de elementos gráficos más complejos del componente View dentro del marco de implementación de tablas en el paradigma MVC (Model-View-Controller). La funcionalidad básica del controlador se implementa para la interacción de los elementos con el usuario y entre sí. Este es el segundo artículo sobre el componente View (Vista) y el cuarto de una serie de artículos sobre la creación de tablas para el terminal cliente MetaTrader 5.
Del básico al intermedio: Comando FOR
En este artículo hablaremos de los conceptos más básicos sobre el comando FOR. Todo lo que se mostrará aquí debe asimilarse y comprenderse a fondo. A diferencia de otros comandos que hemos tratado anteriormente, este comando FOR tiene ciertas peculiaridades que lo hacen muy complejo con rapidez. Así que, querido lector, no permitas que este tipo de material se acumule. Comienza a estudiarlo y practicarlo cuanto antes. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe considerarse una aplicación cuya finalidad no sea aprender y estudiar los conceptos mostrados.
Búsqueda oscilatoria determinista (DOS) — Deterministic Oscillatory Search (DOS)
El algoritmo de búsqueda oscilatoria determinista (DOS) es un método de optimización global innovador que combina las ventajas de los algoritmos de gradiente y enjambre sin usar números aleatorios. El mecanismo de oscilaciones e inclinaciones de aptitud permite a DOS explorar espacios de búsqueda complejos de manera determinista.
Estudiamos la predicción conformal de series temporales financieras
En este artículo, nos familiarizaremos con las predicciones conformales y la biblioteca MAPIE que las implementa. Este enfoque es uno de los más modernos en aprendizaje automático y nos permite centrarnos en la gestión de riesgos para modelos de aprendizaje automático existentes y diversos. Las predicciones conformales, por sí mismas, no suponen una forma de encontrar patrones en los datos. Solo determinan el grado de confianza de los modelos existentes para predecir ejemplos específicos y permiten filtrar las predicciones fiables.
Redes neuronales en el trading: Extracción eficiente de características para una clasificación precisa (Final)
El framework Mantis transforma series temporales complejas en tokens informativos y sirve como una base sólida para un agente comercial inteligente en tiempo real.
Del básico al intermedio: Arrays y cadenas (II)
En este artículo, demostraré que, aunque aún estamos en una fase inicial y muy básica, ya podemos implementar alguna aplicación interesante. En este caso, crearemos un generador de contraseñas bastante sencillo. Así podremos aplicar algunos de los conceptos explicados hasta ahora. Además, mostraré cómo se pueden desarrollar soluciones para algunos problemas específicos.
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.
Simulación de mercado (Parte 08): Sockets (II)
¿Qué te parece si creamos algo práctico con sockets? Bien, en este artículo empezaremos a crear un minichat. Acompáñanos y descubre cómo se hace, porque será algo bastante interesante. Recuerda que el código que se mostrará aquí tiene un objetivo puramente didáctico. En realidad, no deberías utilizar este código con fines comerciales ni en una aplicación finalizada, ya que no cuenta con ningún tipo de seguridad en la transmisión de datos y es posible ver el contenido que se está transportando a través del socket.
Características del Wizard MQL5 que debe conocer (Parte 28): Revisión de las GAN con una introducción a las tasas de aprendizaje
La Tasa de Aprendizaje, es un tamaño de paso hacia un objetivo de entrenamiento en muchos procesos de entrenamiento de algoritmos de aprendizaje automático. Examinamos el impacto que sus múltiples horarios y formatos pueden tener en el rendimiento de una Red Generativa Adversarial, un tipo de red neuronal que ya habíamos examinado en un artículo anterior.
Guía de aprendizaje automático para MetaTrader 5 (Parte 1): Correcciones relacionadas con la fuga de datos y las marcas de tiempo
Antes incluso de empezar a utilizar el aprendizaje automático en nuestras operaciones en MetaTrader 5, es fundamental abordar uno de los riesgos más ignorados: la fuga de datos. En este artículo se analiza cómo las fugas de datos, en particular la «trampa de la marca de tiempo» de MetaTrader 5, pueden distorsionar el rendimiento de nuestro modelo y dar lugar a señales de trading poco fiables. Al profundizar en los mecanismos de este problema y presentar estrategias para evitarlo, allanamos el camino para crear modelos de aprendizaje automático sólidos que ofrezcan predicciones fiables en entornos de negociación en tiempo real.
Introducción a MQL5 (Parte 14): Guía para principiantes sobre cómo crear indicadores personalizados (III)
Aprenda a construir un indicador de patrón armónico en MQL5 utilizando objetos gráficos. Descubra cómo detectar puntos de oscilación, aplicar retrocesos de Fibonacci y automatizar el reconocimiento de patrones.
Desarrollo de un sistema de repetición (Parte 67): Refinando el indicador de control
En este artículo, mostraré lo que un poco de refinamiento en el código es capaz de lograr. Dicho refinamiento tiene como objetivo simplificar nuestro código, hacer un mayor uso de las llamadas a la biblioteca de MQL5 y, sobre todo, conseguir que sea mucho más estable, seguro y fácil de usar en otros códigos que desarrollemos en el futuro. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe considerarse como una aplicación cuya finalidad no sea el aprendizaje y estudio de los conceptos mostrados.
Cómo funciones centenarias pueden actualizar nuestras estrategias comerciales
En este artículo hablaremos de las funciones de Rademacher y Walsh. Asimismo, exploraremos formas de aplicar estas funciones para analizar series temporales financieras y estudiaremos diversas aplicaciones en el comercio.
Implementación de un modelo de tabla en MQL5: Aplicación del concepto MVC (Modelo-Vista-Controlador)
En este artículo, analizamos el proceso de desarrollo de un modelo de tabla en MQL5 utilizando el patrón arquitectónico MVC (Modelo-Vista-Controlador) para separar la lógica de datos, la presentación y el control, lo que permite obtener un código estructurado, flexible y escalable. Consideramos la implementación de clases para construir un modelo de tabla, incluyendo el uso de listas enlazadas para almacenar datos.
Trading por pares: negociación algorítmica con optimización automática en la diferencia de puntuación Z
En este artículo, veremos qué es el trading por pares y cómo se realiza el comercio de correlaciones. También crearemos un asesor experto para automatizar el trading por pares y añadiremos la capacidad de optimizar automáticamente dicho algoritmo comercial a partir de los datos históricos. Además, como parte del proyecto, aprenderemos a calcular la divergencia de dos pares utilizando la puntuación z.
Simulación de mercado (Parte 13): Sockets (VII)
Cuando tú desarrollas algo, ya sea en xlwings o en cualquier otro paquete que nos permita leer y escribir directamente en Excel, en realidad deberías notar que todos los programas, funciones o procedimientos se ejecutan y luego finalizan su tarea. No permanecen allí dentro de un bucle, y, por más que intentes hacer las cosas de otra forma.
Algoritmo de optimización de la fuerza central — Central Force Optimization (CFO)
Este artículo presenta un algoritmo de optimización de la fuerza central (CFO) inspirado en las leyes de la gravedad. Hoy investigaremos cómo los principios de atracción física pueden resolver problemas de optimización en los que las soluciones "más difíciles" atraen a sus homólogas menos exitosas.
Websockets para MetaTrader 5: conexiones de cliente asíncronas con la API de Windows
Este artículo detalla el desarrollo de una biblioteca personalizada vinculada dinámicamente y diseñada para facilitar las conexiones asíncronas de clientes WebSocket para las aplicaciones MetaTrader 5.
Optimización de arrecifes de coral — Coral Reefs Optimization (CRO)
Este artículo presenta un análisis exhaustivo del algoritmo de optimización de arrecifes de coral (CRO), un método metaheurístico inspirado en los procesos biológicos de formación y desarrollo de los arrecifes de coral. El algoritmo modela aspectos clave de la evolución de los corales: la reproducción externa e interna, el asentamiento de larvas, la reproducción asexual y la competencia por un espacio limitado en el arrecife. El artículo se centra en una versión mejorada del algoritmo.
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 25): Rompefractales de doble EMA
La acción del precio es un método fundamental para identificar configuraciones de trading rentables. Sin embargo, el seguimiento manual de los movimientos y patrones de precios puede resultar complicado y llevar mucho tiempo. Para solucionar esto, estamos desarrollando herramientas que analizan automáticamente la evolución de los precios, proporcionando señales oportunas cada vez que se detectan oportunidades potenciales. Este artículo presenta una herramienta robusta que aprovecha las rupturas fractales junto con las medias móviles exponenciales (EMA) de 14 y 200 periodos para generar señales de trading fiables, ayudando a los operadores a tomar decisiones informadas con mayor confianza.
Desarrollo de un sistema de repetición (Parte 63): Presionando play en el servicio (IV)
En este archivo, resolveremos por fin los problemas de simulación de los ticks en una barra de un minuto, de manera que puedan coexistir con ticks reales. De esta manera, evitaremos enfrentarnos a problemas en el futuro. El contenido expuesto aquí tiene como único objetivo la didáctica. En ningún caso debe interpretarse como una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
Desarrollamos un asesor experto multidivisas (Parte 22): Inicio de la transición a la sustitución dinámica de ajustes
Si hemos empezado a automatizar la optimización periódica, también deberíamos ocuparnos de la actualización automática de los ajustes de los asesores expertos que ya están trabajando en la cuenta comercial. También deberíamos permitirle ejecutar un asesor experto en el simulador de estrategias y cambiar su configuración en una sola pasada.
Dominando los registros (Parte 4): Guardar registros en archivos
En este artículo, te enseñaré operaciones básicas con archivos y cómo configurar un controlador flexible para personalizarlo. Actualizaremos la clase CLogifyHandlerFile para escribir los registros directamente en un archivo. Realizaremos una prueba de rendimiento simulando una estrategia en el EURUSD durante una semana, generando registros en cada tick, con una duración total de 5 minutos y 11 segundos. El resultado se comparará en un artículo futuro, en el que implementaremos un sistema de almacenamiento en caché para mejorar el rendimiento.