Red neuronal en la práctica: Iniciando la cadena
Ha llegado el momento de empezar a ver y entender cómo conectar perceptrones en una cadena. Esto nos permitirá implementar lo que conocemos como una red de perceptrones. Esta red constituye la base de todo aquello que conoces y utilizas como alguna forma de «inteligencia artificial». Sin embargo, construir una red de este tipo plantea diversos desafíos. Aquí comenzaremos a ver cuáles son.
Automatización de estrategias de trading en MQL5 (Parte 27): Creando un patrón armónico «Crab» de acción del precio con señales visuales
En este artículo, desarrollamos un sistema de patrones armónicos «Crab» en MQL5 que identifica patrones armónicos «Crab» alcistas y bajistas utilizando puntos de pivote y niveles de Fibonacci, y que activa operaciones con niveles precisos de entrada, stop loss y take profit. Incorporamos información visual mediante elementos gráficos, como triángulos y líneas de tendencia, para mostrar la estructura del patrón XABCD y los niveles de negociación.
Del nivel básico al intermedio: Objetos y subventanas (III)
Este artículo describe un flujo seguro para manejar la eliminación de objetos gráficos: interceptar eventos, recrear el objeto y recuperar el conjunto mínimo de propiedades. Mostramos cómo evitar errores al trabajar con punteros, impedir recreaciones indebidas durante el cierre y guardar la posición y las dimensiones, actualizándolas mediante DRAG/CHANGE. De este modo, el indicador se mantiene íntegro y el usuario conserva parte de sus personalizaciones.
Del nivel básico al intermedio: Objetos y subventanas (II)
Este artículo explica cómo capturar y gestionar la eliminación de objetos del gráfico en MQL5 utilizando eventos de MetaTrader 5. Al detectar la eliminación de un objeto creado por el indicador, el código elimina la instancia correspondiente para evitar inconsistencias y subventanas residuales. El enfoque utiliza nombres únicos y un archivo de cabecera, priorizando la simplicidad y la previsibilidad del comportamiento.
Red neuronal en la práctica: Perceptrón
Este artículo presenta el perceptrón como base de una red neuronal y detalla su implementación en MQL5. Explicamos las funciones de activación y sus derivadas, la diferencia entre forward propagation y backpropagation, y el uso de la función de costo de mínimos cuadrados y del gradiente. Aprenderás a entrenar pesos y sesgos, validar el resultado mediante scripts de prueba y ajustar la tasa de aprendizaje para obtener una convergencia estable.
Automatización de estrategias de trading en MQL5 (Parte 26): Desarrollo de un sistema de promediado basado en Pin Bar para la gestión de múltiples posiciones
En este artículo, desarrollamos un sistema de promediación Pin Bar en MQL5 que detecta patrones de barras Pin para iniciar operaciones y emplea una estrategia de promedio para la gestión de múltiples posiciones, mejorada con stops dinámicos y ajustes de punto de equilibrio. Incorporamos parámetros personalizables con un panel de control para el seguimiento en tiempo real de las posiciones y los beneficios.
Automatización de estrategias de trading en MQL5 (Parte 25): Sistema de líneas de tendencia con ajuste por mínimos cuadrados y generación dinámica de señales
En este artículo, desarrollamos un programa de trading con líneas de tendencia que utiliza el ajuste por mínimos cuadrados para detectar líneas de tendencia de soporte y resistencia, generando señales dinámicas de compra y venta en función de los toques de precio y abriendo posiciones en función de las señales generadas.
Integración de MQL5 con paquetes de procesamiento de datos (Parte 5): Aprendizaje adaptativo y flexibilidad
Esta parte se centra en la creación de un modelo de negociación flexible y adaptativo, entrenado con datos históricos del XAUUSD, preparándolo para su exportación a ONNX y su posible integración en sistemas de negociación en tiempo real.
Del básico al intermedio: Recursos
En este artículo conocerás un concepto que puede resultar extremadamente útil en muchos casos y facilitar enormemente el intercambio de tus aplicaciones y proyectos. Aunque no es un concepto sencillo de explicar por completo en un solo artículo, lo que se explicará y expondrá aquí ya nos permitirá hacer muchas cosas en el futuro, incluidas algunas que, de otro modo, no sería posible realizar. Precisamente porque este artículo aún no se había publicado: para que pudieras contar con material de apoyo y una base inicial de estudio.
Red neuronal en la práctica: Gradiente
El artículo explica por qué y cómo se utiliza el gradiente durante el entrenamiento de un perceptrón, partiendo del error cuadrático mínimo y de la regla de la cadena para obtener las derivadas parciales. Mostramos la implementación del cálculo del gradiente en la clase C_Neuron en MQL5 y lo validamos con ejemplos de 1 y 2 entradas. Aprenderás a ajustar los pesos y el sesgo mediante descenso de gradiente y a prepararte para la propagación hacia adelante y la retropropagación.
Del básico al intermedio: Objetos y subventanas (I)
El artículo detalla la creación y el posicionamiento del objeto OBJ_CHART dentro de subventanas, destacando las diferencias entre la ventana principal y las subventanas. Muestra cómo integrar indicadores mediante recursos (#resource, ChartIndicatorAdd) e identificar la subventana correcta a partir del nombre corto del indicador. El resultado es un código más estable, portátil y fácil de reutilizar.
Red neuronal en la práctica: Funciones de activación
Este ha sido, con toda seguridad, el artículo que más me ha gustado escribir hasta ahora sobre este tema. En él mostré que, en realidad, no necesitamos gran cosa ni nada específico para alcanzar un determinado objetivo. Podemos conseguirlo de distintas maneras, siempre que contemos con los conocimientos adecuados y tengamos la disposición necesaria para estudiar y dedicarnos a ello. Agradezco de corazón a todos los que me ayudaron con la elección de las funciones. El contenido expuesto aquí tiene una finalidad exclusivamente didáctica. En ningún caso debe considerarse una aplicación destinada a algo distinto del aprendizaje y el estudio de los conceptos presentados.
Del básico al intermedio: Subventanas (IV)
En este artículo veremos que no todo es como muchos piensan al principio. Una de las cosas más interesantes de la programación es que podemos garantizar que las cosas siempre sean como las hemos planeado. Así que lean este artículo con atención para aprender algunos de los conceptos más confusos relacionados con el uso de subventanas. Si entiendes lo que se explicará aquí, podrás comprender muchas de las cosas que haremos más adelante.
Red neuronal en la práctica: Gráfico de la Rectifier
Construimos, íntegramente en MQL5, un indicador para representar en el gráfico una función de activación y su derivada, tomando la ReLU como ejemplo. Explicamos el impacto de las derivadas en la elección de la activación y las precauciones necesarias en los puntos no diferenciables. El lector puede visualizar las curvas de forma interactiva y obtiene una base práctica para decidir cuándo utilizar o no determinadas funciones de activación.
Herramientas de trading de MQL5 (Parte 8): Panel informativo mejorado con funciones de arrastre y minimizado
En este artículo, desarrollamos un panel informativo mejorado que actualiza la parte anterior añadiendo funciones de arrastrar y minimizar para una mejor interacción del usuario, al tiempo que se mantiene la monitorización en tiempo real de las posiciones de múltiples símbolos y las métricas de la cuenta.
Arbitraje estadístico mediante acciones cointegradas (Parte 2): Asesor Experto, pruebas retrospectivas y optimización
Este artículo presenta un ejemplo de implementación de un asesor experto para operar con una cesta de cuatro acciones del Nasdaq. Las acciones se filtraron inicialmente a partir de pruebas de correlación de Pearson. A continuación, se evaluó la cointegración del grupo filtrado mediante pruebas de Johansen. Por último, se verificó la estacionariedad del spread cointegrado mediante las pruebas ADF y KPSS. A continuación veremos algunas notas sobre este proceso y los resultados de las pruebas retrospectivas tras una pequeña optimización.
Del básico al intermedio: Subventanas (III)
Este texto detalla el uso de subventanas en indicadores MQL5: creación básica, detección de instancias y prevención de duplicados. Aborda INDICATOR_SHORTNAME, la consulta de ventanas e indicadores del gráfico y la diferencia entre la visualización en el gráfico principal y en una ventana separada. También muestra cómo definir la altura y los límites de la subventana para estandarizar la interfaz y facilitar la disposición de objetos.
Red neuronal en la práctica: Nacimiento de C_Neuron
El artículo muestra cómo encapsular una neurona en MQL5 mediante la clase C_Neuron, con pesos, sesgo y un número de entradas definido por un parámetro. Detallamos el cálculo del costo por mínimos cuadrados y la disposición de los datos de entrenamiento en arrays. Así resulta sencillo cambiar las entradas y repetir experimentos sin modificar la implementación.
Dominando los registros (Parte 10): Cómo evitar la repetición de registros implementando un sistema de supresión
Hemos creado un sistema de supresión de registros en la biblioteca Logify. En él se detalla cómo la clase CLogifySuppression reduce el ruido en la consola mediante la aplicación de reglas configurables para evitar mensajes repetitivos o irrelevantes. También abarcamos el marco de configuración externa, los mecanismos de validación y las pruebas exhaustivas para garantizar la solidez y la flexibilidad en la captura de registros durante el desarrollo del robot de trading o del indicador.
Del básico al intermedio: Subventanas (II)
El artículo profundiza en el uso de las subventanas en MetaTrader 5 y muestra cómo la dirección del cálculo en OnCalculate afecta a los búferes y al trazado de las medias. Explica, en la práctica, cómo se encadenan indicadores mediante FIRST INDICATOR’S DATA y PREVIOUS INDICATOR’S DATA, el efecto de la eliminación en cadena de los indicadores dependientes y cómo se comporta indicatorseparatewindow. El lector aprenderá a diagnosticar problemas de visualización y a estructurar indicadores que funcionen correctamente en subventanas.
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.
Red neuronal en la práctica: Cuándo usar una neurona artificial y entender su función en MQL5
Implementamos en MQL5 una neurona entrenada mediante descenso de gradiente estocástico y comparamos su función de costo con la regresión lineal. Mostramos, mediante código y gráficos, cómo la normalización, la elección de la tasa de aprendizaje y la estructura del problema afectan a la convergencia. El artículo ofrece una guía para depurar el entrenamiento, interpretar el comportamiento del error y seleccionar la arquitectura o la función de activación adecuada.
Del básico al intermedio: Subventanas (I)
En este artículo comenzaremos a ver cómo trabajar con subventanas en MetaTrader 5 mediante MQL5. Es un tema amplio, con varios aspectos prácticos que pueden resultar complicados, así que haremos una breve introducción. Aun así, querido lector, es importante que comprendas lo que veremos aquí, pues podría marcar una gran diferencia en tu futuro.
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 11): Una introducción sencilla a los fundamentos del álgebra lineal
En este artículo, sentaremos las bases para el uso de potentes herramientas algebraicas lineales implementadas en la API de matrices y vectores de MQL5. Para poder utilizar esta API con soltura, debemos tener un conocimiento sólido de los principios del álgebra lineal que rigen el uso adecuado de estos métodos. El objetivo de este artículo es que el lector adquiera una comprensión intuitiva de algunas de las reglas más importantes del álgebra lineal que nosotros, como traders algorítmicos en MQL5, necesitamos para empezar a sacar partido a esta potente biblioteca.
Redes neuronales en el trading: Señales de trading robustas en cualquier régimen de mercado (ST-Expert)
En este artículo conoceremos el framework ST-Expert, que aporta robustez a las previsiones frente a la incertidumbre del mercado y permite tener en cuenta las dependencias locales y globales en las series temporales. Su arquitectura flexible favorece la adaptabilidad de los modelos y mejora la precisión de las predicciones.
Robot de trading multiflujo con aprendizaje automático: del concepto a la implementación
El artículo presenta el desarrollo paso a paso de un robot de trading multiflujo con aprendizaje automático en Python y MetaTrader 5. Se analiza la arquitectura del sistema, desde la recopilación de datos y la creación de indicadores técnicos hasta el entrenamiento de modelos XGBoost con gestión de riesgos de cartera. Asimismo, se describe detalladamente la implementación del aumento de datos, la clusterización de características mediante Gaussian Mixture Models y la coordinación de flujos para el trading paralelo de varios pares de divisas.
Red neuronal en la práctica: Descenso de gradiente estocástico
El artículo explica, de forma práctica, cómo calcular y aplicar los gradientes de peso y sesgo en la neurona lineal en MQL5, además de presentar la variante estocástica del descenso de gradiente. Analizamos los criterios de parada, la limitación del número de iteraciones y los efectos del muestreo parcial. En el terminal de MetaTrader 5 se muestran los resultados y el trazado de un gráfico sencillo. Se indica al lector que modifique el conjunto de entrenamiento y analice el comportamiento.
Del básico al intermedio: Indicadores técnicos (II)
En este artículo mostramos cómo crear un indicador en MQL5 que dibuja múltiples medias móviles en un mismo gráfico, reduciendo el código duplicado. Se utilizan iMA, buffers de indicador, CopyBuffer, PlotIndexSetInteger/String y una estructura constante que agrupa períodos, métodos y colores. El dimensionamiento de indicatorbuffers e indicatorplots se deriva de Averange.Size(). El resultado facilita el mantenimiento y permite añadir o eliminar medias modificando únicamente una lista.
Red neuronal en la práctica: Descenso de gradiente
En este artículo intentaré presentar, de la forma más sencilla y didáctica posible, una de las cuestiones más controvertidas cuando se habla de redes neuronales: cómo buscar el mejor punto posible o el menor costo de una función. Mostraré la diferencia entre una regresión lineal y un descenso de gradiente. Ambos casos son bastante sencillos y sirven para demostrar que no siempre el camino que parece obvio es realmente el mejor.
Redes neuronales en el trading: una visión unificada del espacio y el tiempo (Final)
El framework Extralonger demuestra una capacidad única para integrar factores espaciales y temporales en un solo modelo, proporcionando una alta precisión en los pronósticos. Su arquitectura permite adaptarse a distintos horizontes de planificación e instrumentos financieros, manteniendo la transparencia y la capacidad de control del sistema.
Redes neuronales en el trading: una visión unificada del espacio y el tiempo (Global-Local Attention)
Continuamos trabajando en la implementación de los enfoques propuestos por los autores del framework Extralonger. En esta ocasión, nos centraremos en la creación del módulo Global-Local Spatial Attention con MQL5, analizando tanto su estructura como su integración práctica en el proceso computacional general.
Características del Wizard MQL5 que debe conocer (Parte 78): Estrategias con Gator y el oscilador AD para la resiliencia del mercado
El artículo presenta la segunda parte de un enfoque estructurado para operar con el oscilador Gator y el indicador de Acumulación/Distribución. Al introducir cinco nuevos patrones, el autor muestra cómo filtrar movimientos falsos, detectar reversiones tempranas y alinear señales en diferentes marcos temporales. Con ejemplos de código claros y pruebas de rendimiento, el material conecta la teoría con la práctica para los desarrolladores de MQL5.
Del básico al intermedio: Indicadores técnicos (I)
En este artículo veremos los conceptos básicos sobre cómo utilizar los indicadores técnicos incluidos y mantenidos por MetaTrader 5. Conocer y comprender este tipo de indicadores puede hacer que la implementación de una solución sea una tarea mucho más sencilla, rápida y eficiente, ya que no necesitas preocuparte por los cálculos que deben realizarse. La propia plataforma se encarga de realizarlos por nosotros.
Red neuronal en la práctica: El caso de la puerta XOR
En este artículo intentaré mostrarte, mi querido lector, que no todo es como parece. Muchas veces tendemos a pensar que las cosas son de una determinada manera cuando, en realidad, podemos acabar creyendo algo que no necesariamente es cierto. Las redes neuronales son, con diferencia, uno de los temas más interesantes en términos generales. Tanto desde el punto de vista matemático como electrónico o incluso del software. A diferencia de lo que muchos creen o afirman, las redes neuronales no son, ni mucho menos, el problema ni la solución definitiva. Son solo una rama de investigación en la que debemos seguir estudiando e informándonos sobre lo que ocurre entre bastidores.
Del básico al intermedio: Sobrecarga de operadores (VI)
Aquí implementaremos la eliminación mediante sobrecarga de operadores. Sin duda, este será un artículo que muchos necesitarán estudiar durante bastante tiempo para poder asimilar todo lo que se mostrará aquí. Quiero recordarte que lo que veremos será solo una pequeña e insignificante parte de todo aquello que llamamos programación.
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).
Redes neuronales en el trading: una visión unificada del espacio y el tiempo (Extralonger)
El framework Extralonger muestra un enfoque para integrar factores espaciales y temporales en un único modelo, lo que permite considerar al mismo tiempo las regularidades locales y los ciclos a largo plazo. Esta arquitectura hace que la predicción de series temporales sea más resistente al ruido del mercado y permite analizar los datos en diferentes horizontes temporales. En el artículo se analiza en detalle cómo se llevan a la práctica estas ideas mediante OpenCL y MQL5.
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.
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!
Redes neuronales en el trading: Modelo de difusión adaptativa sobre grafos (Final)
En este artículo concluimos el trabajo de construcción del framework SAGDFN mediante MQL5, resumiendo el desarrollo y mostrando los resultados de sus pruebas prácticas. Integraremos los módulos implementados anteriormente en un único sistema, mostraremos los puntos fuertes de este enfoque, señalaremos sus vulnerabilidades y debatiremos posibles vías de mejora.