Simulación de mercado (Parte 02): Orden cruzada (II)
A diferencia de lo que se vio en el artículo anterior, aquí vamos a hacer el control de selección en el Asesor Experto. Aunque esta no es aún una solución definitiva, nos servirá por ahora. Así que acompaña el artículo para entender cómo implementar una de las soluciones posibles.
Añadimos un LLM personalizado a un robot comercial (Parte 5): Desarrollar y probar la estrategia de negociación con LLMs (III) Ajuste del adaptador
Con el rápido desarrollo de la inteligencia artificial actual, los modelos de lenguaje (LLM) son una parte importante de la inteligencia artificial, por lo que deberíamos pensar en cómo integrar LLM potentes en nuestro trading algorítmico. Para la mayoría de las personas, es difícil ajustar estos poderosos modelos según sus necesidades, implementarlos localmente y luego aplicarlos al comercio algorítmico. Esta serie de artículos adoptará un enfoque paso a paso para lograr este objetivo.
Sistemas neurosimbólicos en trading algorítmico: Combinación de reglas simbólicas y redes neuronales
El artículo relata la experiencia del desarrollo de un sistema comercial híbrido que combine el análisis técnico clásico con las redes neuronales. El autor describe detalladamente la arquitectura del sistema, desde el análisis básico de patrones y la estructura de la red neuronal hasta los mecanismos de toma de decisiones comerciales, compartiendo código real y observaciones de carácter práctico.
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 07): Primeras mejoras (II)
En el artículo anterior realizamos correcciones en algunos puntos y agregamos pruebas a nuestro sistema de repetición para garantizar la mayor estabilidad posible. Asimismo, comenzamos a crear y utilizar un archivo de configuración para dicho sistema.
DoEasy. Elementos de control (Parte 5): Objeto básico WinForms, control "Panel", parámetro AutoSize
En este artículo, crearemos un objeto básico para todos los objetos de la biblioteca WinForms y comenzaremos a implementar la propiedad AutoSize del objeto WinForms "Panel", es decir, el cambio automático del tamaño para que se ajuste a su contenido interno.
Desarrollo de un sistema de repetición (Parte 44): Proyecto Chart Trade (III)
En el artículo anterior, expliqué cómo puedes manipular los datos de la plantilla para usarlos en un OBJ_CHART. Allí solo introduje el tema sin entrar en muchos detalles, ya que en esa versión el trabajo se hizo de una manera muy simplificada. Sin embargo, se hizo de esa forma precisamente para facilitar la explicación del contenido. Pues, a pesar de parecer simple hacer ciertas cosas, algunas no son tan evidentes, y sin comprender la parte más simple y básica, no entenderás realmente lo que estoy haciendo.
Indicador personalizado: Trazado de puntos de entradas parciales en cuentas netting
En este artículo, exploraremos una forma interesante y diferente de crear un indicador en MQL5. En lugar de centrarnos en una tendencia o patrón gráfico, el objetivo será gestionar nuestras propias posiciones, incluyendo las entradas y salidas parciales. Utilizaremos intensivamente matrices dinámicas y algunas funciones comerciales (Trade) relacionadas con el historial de transacciones y las posiciones abiertas para indicar en el gráfico dónde se llevaron a cabo estas operaciones.
Algoritmo de Irrigación Artificial — Artificial Showering Algorithm (ASHA)
Este artículo presenta el Algoritmo de Irrigación Artificial (ASHA), un nuevo método metaheurístico desarrollado para resolver problemas generales de optimización. Basado en la modelización de los procesos de flujo y almacenamiento del agua, este algoritmo construye el concepto de un campo ideal en el que cada unidad de recurso (agua) es invocada para encontrar una solución óptima. Hoy descubriremos cómo el ASHA adapta los principios de flujo y acumulación para asignar eficazmente los recursos en el espacio de búsqueda, y también veremos su aplicación y los resultados de sus pruebas.
Envío de mensajes desde MQL5 a Discord: creación de un bot Discord–MetaTrader 5
Al igual que Telegram, Discord es capaz de recibir información y mensajes en formato JSON utilizando sus API de comunicación. En este artículo, vamos a explorar cómo se pueden utilizar las API de Discord para enviar señales de trading y actualizaciones desde MetaTrader 5 a su comunidad de trading en Discord.
Simulación de mercado (Parte 16): Sockets (X)
Estamos a punto de concluir este desafío. Sin embargo, antes de pasar al siguiente, quiero que tú, querido lector, procures comprender estos dos artículos, tanto este como el anterior. Así podrás entender realmente el próximo artículo, en el que abordaré exclusivamente la parte referente a la programación en MQL5. Aunque en él también procuraré que sea fácil de entender. Si no comprendes estos dos últimos artículos, con toda seguridad tendrás grandes dificultades para entender el siguiente. El motivo es simple: los contenidos se van acumulando. Cuantas más cosas haya que hacer, más cosas será necesario crear y comprender para alcanzar el objetivo.
Del básico al intermedio: Variables (II)
En este artículo vamos a ver cómo trabajar con variables del tipo estática. Este tema suele confundir a muchos programadores, tanto principiantes como aquellos con algo de experiencia. Esto se debe a que existen algunos cuidados y trucos que deben observarse al usar este mecanismo. El contenido expuesto aquí tiene como objetivo, pura y simplemente, la enseñanza didáctica. En ningún caso debe considerarse como una aplicación cuya finalidad no sea el aprendizaje y estudio de los conceptos presentados.
Optimización de la quimiotaxis bacteriana - Bacterial Chemotaxis Optimisation (BCO)
Este artículo presenta la versión original del algoritmo de optimización de la quimiotaxis bacteriana (BCO) y su versión modificada. Hoy veremos con detalle todas las diferencias, centrándonos en la nueva versión de BCOm, que simplifica el mecanismo de movimiento bacteriano, reduce la dependencia de la historia de cambios de posición y utiliza operaciones matemáticas más sencillas en comparación con la versión original, sobrecargada computacionalmente. También realizaremos pruebas y extraeremos conclusiones.
Integración de las API de los brókers con los Asesores Expertos usando MQL5 y Python
En este artículo, analizaremos la implementación de MQL5 en colaboración con Python para realizar operaciones relacionadas con los brókers. Imagina tener un asesor experto (Expert Advisor, EA) funcionando continuamente alojado en un VPS, ejecutando operaciones en tu nombre. En algún momento, la capacidad de la EA para gestionar fondos se vuelve primordial. Esto incluye operaciones como recargar su cuenta de trading e iniciar retiradas. En este debate, analizaremos las ventajas y la aplicación práctica de estas funciones, garantizando una integración perfecta de la gestión de fondos en su estrategia comercial. ¡Estén atentos!
Factorización de matrices: lo básico
Como el objetivo aquí es ser didáctico. Mantendré las cosas en su forma más sencilla. Es decir, implementaremos solo lo necesario: la multiplicación de matrices. Verás que esto será suficiente para simular la multiplicación de una matriz por un escalar. La gran dificultad que muchas personas tienen a la hora de implementar un código utilizando la factorización de matrices es que, a diferencia de una factorización escalar, donde en casi todos los casos el orden de los factores no altera el resultado, cuando se usan matrices, la cosa no es así.
Factorización de matriсes: un modelado más práctico
Es muy probable que no te hayas dado cuenta de que el modelado de las matrices era un tanto extraño, ya que no se indicaban filas y columnas, solo columnas. Esto resulta muy raro al leer un código que realiza factorizaciones de matrices. Si esperabas ver las filas y columnas indicadas, podrías haberte sentido bastante confundido al intentar implementar la factorización. Además, esa forma de modelar las matrices no es, ni de cerca, la mejor manera. Esto se debe a que, cuando modelamos matrices de esa forma, nos enfrentamos a ciertas limitaciones que nos obligan a usar otras técnicas o funciones que no serían necesarias si el modelado se realiza de manera más adecuada.
Del básico al intermedio: Unión (I)
En este artículo, veremos qué es una unión. Aquí, mediante la experimentación, analizaremos las primeras construcciones en las que podría utilizarse una unión. No obstante, lo que se mostrará aquí es solo la parte básica de todo un conjunto de conceptos e información que se explorará más a fondo en artículos futuros. 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.
Redes generativas antagónicas (GAN) para datos sintéticos en modelos financieros (Parte 1): Introducción a las GAN y los datos sintéticos en modelos financieros
Este artículo presenta a los operadores bursátiles las redes generativas antagónicas (Generative Adversarial Networks, GAN) para generar datos financieros sintéticos, abordando las limitaciones de datos en el entrenamiento de modelos. Este artículo presenta a los operadores bursátiles las redes generativas antagónicas (GAN) para generar datos financieros sintéticos, abordando las limitaciones de datos en el entrenamiento de modelos.
Introducción a las curvas ROC (Receiver Operating Characteristic)
Las curvas ROC son representaciones gráficas que se utilizan para evaluar el rendimiento de los clasificadores. A pesar de que los gráficos ROC son relativamente sencillos, existen conceptos erróneos y dificultades comunes a la hora de utilizarlos en la práctica. El objetivo de este artículo es ofrecer una introducción a los gráficos ROC como herramienta para los profesionales que desean comprender la evaluación del rendimiento de los clasificadores.
Desarrollo de un sistema de repetición (Parte 47): Proyecto Chart Trade (VI)
En este artículo finalizaremos el indicador Chart Trade, haciéndolo funcional hasta el punto de poder usarlo junto con algún Expert Advisor. Entonces, en este artículo finalizaremos el indicador Chart Trade, haciéndolo funcional hasta el punto de poder usarlo junto con algún Expert Advisor. Esto nos permitirá acceder y trabajar con el indicador, como si estuviera realmente vinculado al Expert Advisor. Pero lo haremos de una manera mucho más interesante que en el pasado.
Desarrollo de un sistema de repetición (Parte 48): Conceptos que hay que entender y comprender
¿Qué tal aprender algo nuevo? En este artículo, aprenderás cómo transformar scripts y servicios y por qué es útil hacerlo.
Superar los retos de integración de ONNX
ONNX es una gran herramienta para la integración de código complejo de IA entre diferentes plataformas, es una gran herramienta que viene con algunos desafíos que uno debe abordar para obtener el máximo provecho de ella, En este artículo se discuten los problemas comunes que podría enfrentar y cómo mitigarlos.
Del básico al intermedio: Variables (I)
Muchos programadores principiantes tienen muchas dificultades para comprender por qué sus códigos no funcionan como esperan. Existen muchos detalles que hacen que un código sea realmente funcional. No se trata simplemente de escribir toda una serie de funciones y operaciones para que un código funcione. ¿Qué tal si aprendemos de la manera correcta cómo se crea un código real en lugar de copiar y pegar fragmentos de código encontrados aquí y allá? El contenido expuesto aquí tiene como objetivo, pura y simplemente, la didáctica. En ningún caso debe considerarse como una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
Reimaginando las estrategias clásicas en MQL5 (Parte II): FTSE100 y bonos del Reino Unido (UK Gilts)
En esta serie de artículos, exploramos estrategias de negociación populares e intentamos mejorarlas utilizando IA. En el artículo de hoy, retomamos la estrategia de negociación clásica basada en la relación entre el mercado de valores y el mercado de bonos.
Redes neuronales en el trading: Modelo adaptativo multiagente (Final)
En el artículo anterior, nos familiarizamos con el framework MASA, un framework adaptativo multiagente que combina enfoques de aprendizaje por refuerzo y estrategias adaptativas para ofrecer un equilibrio armonioso entre rentabilidad y riesgo en condiciones de mercado turbulentas. Asimismo, construimos la funcionalidad de los agentes individuales de este framework. En este artículo continuaremos el trabajo empezado, llevándolo a su conclusión lógica.
Modelos polinómicos en el trading
Este artículo trata sobre los polinomios ortogonales. Su uso puede suponer la base de un análisis más preciso y eficaz de la información del mercado, de modo que el tráder pueda tomar decisiones más informadas.
Redes neuronales en el trading: Sistema multiagente con validación conceptual (Final)
Seguimos aplicando los planteamientos propuestos por los autores del framework FinCon. FinCon es un sistema multiagente basado en grandes modelos lingüísticos (LLM). Hoy pondremos en marcha los módulos necesarios y efectuaremos pruebas exhaustivas del modelo con datos históricos reales.
Desarrollo de un sistema de repetición (Parte 26): Proyecto Expert Advisor — Clase C_Terminal
Podemos comenzar a elaborar un EA para uso en repetición/simulación. Sin embargo, necesitamos algo refinado, no solo una solución cualquiera. No debemos, no obstante, ser intimidados por la complejidad inicial. Es esencial iniciar de algún punto, si no, acabaremos por acomodarnos, reflexionando sobre la dificultad del desafío sin realmente intentar superarlo. La esencia de la programación es exactamente esa: enfrentar un obstáculo y buscar superarlo a través de estudio, pruebas y extensa investigación.
Simulación de mercado (Parte 12): Sockets (VI)
En este artículo, veremos cómo resolver algunos problemas y cuestiones al usar código escrito en Python dentro de otros programas. Más concretamente, mostraré un problema habitual que ocurre al usar Excel junto con MetaTrader 5, aunque para esta comunicación utilizaremos Python. Sin embargo, hay un pequeño inconveniente en esta implementación. No ocurre en todos los casos, sino solo en algunos específicos. Cuando ocurre, es necesario entender la razón. En este artículo, empezaré a explicar cómo resolverlo.
Características del Wizard MQL5 que debe conocer (Parte 21): Pruebas con datos del calendario económico
De manera predeterminada, los datos del calendario económico no están disponibles para realizar pruebas con asesores expertos dentro del Probador de estrategias. Analizamos cómo las bases de datos podrían ayudar a solucionar esta limitación. Entonces, en este artículo exploramos cómo se pueden usar las bases de datos SQLite para archivar noticias del Calendario Económico, de modo que los Asesores Expertos ensamblados mediante un asistente puedan usarlas para generar señales comerciales.
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 4): Dimensionamiento dinámico de posiciones
El uso exitoso del trading algorítmico requiere un aprendizaje continuo e interdisciplinario. Sin embargo, la infinita gama de posibilidades puede consumir años de esfuerzo sin producir resultados tangibles. Para abordar esta cuestión, proponemos un marco que introduce gradualmente la complejidad, lo que permite a los operadores perfeccionar sus estrategias de forma iterativa en lugar de dedicar un tiempo indefinido a resultados inciertos.
Redes neuronales en el trading: Modelo hiperbólico de difusión latente (HypDiff)
El artículo estudiará formas de codificar los datos de origen en un espacio latente hiperbólico mediante procesos de difusión anisotrópica. Esto ayudará a preservar con mayor precisión las características topológicas de la situación actual del mercado y mejorará la calidad de su análisis.
Introducción a MQL5 (Parte 15): Guía para principiantes sobre cómo crear indicadores personalizados (IV)
En este artículo, aprenderás a crear un indicador de acción del precio en MQL5, centrándote en puntos clave como el mínimo (L), el máximo (H), el mínimo más alto (HL), el máximo más alto (HH), el mínimo más bajo (LL) y el máximo más bajo (LH) para analizar tendencias. También verás cómo identificar zonas de precios caros (premium) y baratos (discount), marcar el nivel de retroceso del 50%, y utilizar la relación riesgo-beneficio para calcular los objetivos de beneficio. El artículo también trata sobre cómo determinar los puntos de entrada, los niveles de stop loss (SL) y take profit (TP) basándose en la estructura de la tendencia.
Características del Wizard MQL5 que debe conocer (Parte 10). El RBM no convencional
Las máquinas de Boltzmann restringidas (RBM, Restrictive Boltzmann Machines) son, en el nivel básico, una red neuronal de dos capas que es competente en la clasificación no supervisada a través de la reducción de la dimensionalidad. Tomamos sus principios básicos y examinamos si lo rediseñamos y entrenamos de forma poco ortodoxa, podríamos obtener un filtro de señal útil.
Desarrollo de un sistema comercial basado en el libro de órdenes (Parte I): el indicador
El libro de órdenes —Depth of Market— es, sin duda, un elemento muy relevante para la ejecución de operaciones rápidas, especialmente en algoritmos de alta frecuencia (HFT). En esta serie de artículos, exploraremos este tipo de evento comercial que podemos obtener a través del bróker en muchos de los símbolos negociados. Empezaremos con un indicador en el que se pueden configurar la paleta de colores, la posición y el tamaño del histograma que se mostrará directamente en el gráfico. También veremos cómo generar eventos BookEvent para probar el indicador en condiciones específicas. Otros posibles temas que trataremos en artículos futuros son el almacenamiento de estas distribuciones de precios y las formas de utilizarlas en el simulador de estrategias.
Implementación del algoritmo criptográfico SHA-256 desde cero en MQL5
La creación de integraciones de intercambio de criptomonedas sin DLL ha sido durante mucho tiempo un reto, pero esta solución proporciona un marco completo para la conectividad directa con el mercado.
Algoritmo del restaurador de éxito — Successful Restaurateur Algorithm (SRA)
El algoritmo del restaurador de éxito (SRA) es un innovador método de optimización inspirado en los principios de la gestión de restaurantes. A diferencia de los enfoques tradicionales, el SRA no descarta las soluciones débiles, sino que las mejora combinándolas con elementos de las que han tenido éxito. El algoritmo muestra resultados competitivos y ofrece una nueva perspectiva sobre el equilibrio entre investigación y explotación en los problemas de optimización.
Criterios de tendencia. Final
En este artículo veremos cómo aplicar en la práctica algunos criterios de tendencia, y también intentaremos desarrollar algunos criterios nuevos. La atención se centrará en la eficacia de la aplicación de estos criterios al análisis de datos de mercado y al trading.
Superando las limitaciones del aprendizaje automático (Parte 1): Falta de métricas interoperables
Existe una fuerza poderosa y omnipresente que corrompe silenciosamente los esfuerzos colectivos de nuestra comunidad por desarrollar estrategias comerciales fiables que empleen la IA en cualquiera de sus formas. Este artículo establece que parte de los problemas a los que nos enfrentamos tienen su origen en la adhesión ciega a las «mejores prácticas». Al proporcionar al lector pruebas sencillas basadas en el mercado real, le explicaremos por qué debemos abstenernos de tal conducta y adoptar, en su lugar, las mejores prácticas específicas del ámbito si nuestra comunidad quiere tener alguna posibilidad de recuperar el potencial latente de la IA.
Algoritmo de Tribu Artificial (Artificial Tribe Algorithm, ATA)
Este artículo detalla los componentes clave y las innovaciones del algoritmo de optimización ATA, un método evolutivo con un sistema de comportamiento dual único que se adapta según la situación. Usando el cruce para la exploración en profundidad y la migración para la búsqueda cuando se dan atascos en óptimos locales, el ATA combina el aprendizaje individual y el social.
Automatización de estrategias de trading en MQL5 (Parte 18): Estrategia de scalping «Trend Bounce» con envolventes: infraestructura básica y generación de señales (Parte I)
En este artículo, desarrollamos la infraestructura básica del asesor experto «Envelopes Trend Bounce Scalping» en MQL5. Inicializamos las envolventes y otros indicadores para la generación de señales. Preparamos el entorno de backtesting para preparar la ejecución de operaciones en la siguiente parte.