Del básico al intermedio: Indicador (II)
En este artículo, veremos cómo implementar el cálculo de una media móvil y qué precauciones debemos tomar al realizar este cálculo. También hablaremos sobre la sobrecarga de la función OnCalculate para saber cuándo y cómo trabajar con un modelo u otro.
Automatización de estrategias de trading en MQL5 (Parte 15): Patrón armónico Cypher de acción del precio con visualización
En este artículo, exploramos la automatización del patrón armónico Cypher en MQL5, detallando su detección y visualización en los gráficos de MetaTrader 5. Implementamos un Asesor Experto que identifica puntos de oscilación, valida patrones basados en Fibonacci y ejecuta operaciones con anotaciones gráficas claras. El artículo concluye con una guía sobre cómo realizar pruebas retrospectivas y optimizar el programa para lograr un trading efectivo.
Redes neuronales en el trading: Segmentación periódica adaptativa (Generación de tokens)
Le invitamos a embarcarse en un apasionante viaje por el mundo del análisis adaptativo de series temporales financieras y a aprender cómo transformar el análisis espectral complejo y la convolución flexible en señales de trading reales. Hoy verá cómo LightGTS escucha el ritmo del mercado, adaptándose a sus cambios con un paso de ventana variable, y cómo la aceleración OpenCL convierte la computación en la vía más rápida para tomar decisiones rentables.
Equilibrio de riesgos en la negociación simultánea de varios instrumentos comerciales
Este artículo permitirá a los principiantes escribir desde cero la implementación de un script para el equilibrio de riesgos en la negociación simultánea de varios instrumentos comerciales, mientras que los usuarios experimentados podrán obtener nuevas ideas para la implementación de sus soluciones en cuanto a las opciones propuestas en este artículo.
Redes neuronales: así de sencillo (Parte 91): Previsión en el dominio de la frecuencia (FreDF)
Vamos a continuar con el tema del análisis y la previsión de series temporales en el dominio de la frecuencia. En este artículo, introduciremos un nuevo método de predicción en el dominio de la frecuencia que puede añadirse a muchos de los algoritmos que hemos estudiado anteriormente.
Aprendizaje automático y Data Science (Parte 34): Descomposición de series temporales, desglosando el mercado bursátil hasta su núcleo
En un mundo repleto de datos ruidosos e impredecibles, identificar patrones significativos puede resultar complicado. En este artículo, exploraremos la descomposición estacional, una potente técnica analítica que ayuda a separar los datos en sus componentes clave: tendencia, patrones estacionales y ruido. Al desglosar los datos de esta manera, podemos descubrir información oculta y trabajar con datos más claros y fáciles de interpretar.
Desarrollo de un sistema de repetición (Parte 71): Ajuste del tiempo (IV)
En este artículo, mostraré cómo implementar lo presentado en el artículo anterior en el servicio de repetición/simulación. Pero, como suele ocurrir con muchas cosas en la vida, es habitual que surjan problemas. Y este caso no fue una excepción. Sigue leyendo y descubre cuál será el tema del próximo artículo de esta serie. El contenido expuesto aquí tiene como único propósito la enseñanza. En ningún caso debe considerarse una aplicación cuyo objetivo no sea el aprendizaje y el estudio de los conceptos mostrados.
Del básico al intermedio: Indicador (IV)
En este artículo, veremos lo fácil que es crear e implementar una metodología operativa para teñir velas. Este es un concepto muy apreciado por los operadores. Es necesario tener cuidado al implementar este tipo de cosas para que las barras o velas mantengan su apariencia original y no se dificulte la lectura vela por vela.
Del básico al intermedio: Array (II)
En este artículo, veremos qué es un array dinámico y un array estático. ¿Existe diferencia entre usar uno u otro? ¿O ambos son siempre lo mismo? ¿Cuándo debo usar uno y cuándo usar el otro? ¿Y los arrays constantes? ¿Por qué existen y cuál es el riesgo que corro, cuando no inicializo todos los valores de un array? Suponiendo que serán iguales a cero. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe considerarse como una aplicación final, si el objetivo no es el estudio de los conceptos mostrados aquí.
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.
DoEasy. Elementos de control (Parte 18): Preparamos la funcionalidad para el scrolling de las pestañas en TabControl
En este artículo colocaremos los botones de control de scrolling del encabezado en el objeto WinForms TabControl en su lugar en caso de que la fila del encabezado no se ajuste al tamaño del control, y haremos que la fila del encabezado se desplace al clicar en un encabezado de pestaña recortado.
Gestión de capital en el trading y programa de contabilidad doméstica del tráder con base de datos
¿Cómo gestiona el capital un tráder? ¿Cómo debe llevar el tráder y el inversor los registros de gastos, ingresos, activos y pasivos? No solo voy a presentarle un programa de contabilidad, sino una herramienta que puede convertirse en su navegante financiero de confianza en el turbulento mar del trading.
Redes neuronales en el trading: Aprendizaje contextual aumentado por memoria (MacroHFT)
Hoy le propongo familiarizarse con el framework MacroHFT, que aplica el aprendizaje por refuerzo dependiente del contexto y la memoria para mejorar las decisiones en el comercio de criptodivisas de alta frecuencia utilizando datos macroeconómicos y agentes adaptativos.
DoEasy. Elementos de control (Parte 22): SplitContainer. Cambiando las propiedades del objeto creado
En este artículo, implementaremos la capacidad de cambiar las propiedades y el aspecto del control SplitContainer después de haberlo creado.
Algoritmo de búsqueda orbital atómica - Atomic Orbital Search (AOS) Modificación
En la segunda parte del artículo, seguiremos desarrollando una versión modificada del algoritmo AOS (Atomic Orbital Search), centrándonos en operadores específicos para mejorar su eficacia y adaptabilidad. Tras analizar los fundamentos y la mecánica del algoritmo, discutiremos ideas para mejorar el rendimiento y la capacidad de analizar espacios de soluciones complejos, proponiendo nuevos enfoques para ampliar su funcionalidad como herramienta de optimización.
Cambiamos a MQL5 Algo Forge (Parte 1): Creación del repositorio principal
Mientras trabajan en proyectos en el MetaEditor, los desarrolladores se enfrentan a la necesidad de gestionar las versiones del código. A pesar de los planes de traslado a GIT y el lanzamiento de MQL5 Algo Forge, la integración aún no está completa. El presente artículo analizará posibles formas de mejorar la usabilidad de las herramientas actuales.
Redes neuronales: así de sencillo (Parte 55): Control interno contrastado (CIC)
El aprendizaje contrastivo (Contrastive learning) supone un método de aprendizaje de representación no supervisado. Su objetivo consiste en entrenar un modelo para que destaque las similitudes y diferencias entre los conjuntos de datos. En este artículo, hablaremos del uso de enfoques de aprendizaje contrastivo para investigar las distintas habilidades del Actor.
Redes neuronales en el trading: Modelos híbridos de secuencias de grafos (Final)
Continuamos nuestro estudio de los modelos híbridos de secuencias de grafos (GSM++) que integran las ventajas de distintas arquitecturas, proporcionando una gran precisión de análisis y una asignación eficiente de los recursos computacionales. Estos modelos revelan eficazmente patrones ocultos, reduciendo el impacto del ruido del mercado y mejorando la calidad de las previsiones.
Características del Wizard MQL5 que debe conocer (Parte 34): Incorporación de precios con un RBM no convencional
Las Máquinas de Boltzmann Restringidas (Restricted Boltzmann Machines, RBMs) son un tipo de red neuronal desarrollada a mediados de la década de 1980, en una época en la que los recursos computacionales eran extremadamente costosos.. Desde sus inicios, se basó en el muestreo de Gibbs y la divergencia contrastiva para reducir la dimensionalidad o capturar las probabilidades y propiedades ocultas en los conjuntos de datos de entrenamiento. Analizamos cómo la retropropagación puede lograr un rendimiento similar cuando la RBM "incorpora" precios en un perceptrón multicapa para pronósticos.
Algoritmo de trading evolutivo con aprendizaje por refuerzo y extinción de individuos no rentables (ETARE)
Hoy le presentamos un innovador algoritmo comercial que combina algoritmos evolutivos con aprendizaje profundo por refuerzo para la negociación de divisas. El algoritmo utiliza un mecanismo de extinción de individuos ineficaces para optimizar la estrategia comercial.
Red neuronal en la práctica: Esbozando una neurona
En este artículo, vamos construir una neurona básica. Aunque parezca algo simple, y muchos piensen que el código es totalmente trivial y sin propósito, quiero que tú, querido lector y entusiasta del tema de redes neuronales, te diviertas explorando este sencillo esbozo de una neurona. No tengas miedo de modificar el código para entenderlo mejor.
Redes neuronales: así de sencillo (Parte 92): Predicción adaptativa en los ámbitos de la frecuencia y el tiempo
Los autores del método FreDF confirmaron experimentalmente la ventaja de la previsión combinada en los ámbitos de la frecuencia y el tiempo. Sin embargo, el uso del hiperparámetro de peso no es óptimo para series temporales no estacionarias. En este artículo, nos familiarizaremos con el método de combinación adaptativa de previsiones en los ámbitos de la frecuencia y el tiempo.
Del básico al intermedio: Unión (II)
Este será un artículo muy divertido y bastante curioso, en varios aspectos. Abordará la unión, para resolver un problema discutido anteriormente. Además, exploraremos algunas situaciones inusuales que pueden surgir al usar una unión en aplicaciones. El contenido expuesto aquí tiene, pura y simplemente, una finalidad 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.
Redes neuronales en el trading: Transformador con codificación relativa
El aprendizaje autosupervisado puede ser una forma eficaz de analizar grandes cantidades de datos no segmentados. El principal factor de éxito es la adaptación de los modelos a las particularidades de los mercados financieros, lo cual contribuye a mejorar el rendimiento de los métodos tradicionales. Este artículo le presentará un mecanismo alternativo de atención que permitirá considerar las dependencias y relaciones relativas entre los datos de origen.
Métodos de optimización de la biblioteca ALGLIB (Parte II)
En este artículo seguiremos analizando los métodos restantes de optimización de la biblioteca ALGLIB, prestando especial atención a su comprobación con funciones multivariantes complejas. Esto nos permitirá no solo evaluar el rendimiento de cada algoritmo, sino también identificar sus puntos fuertes y débiles en diferentes condiciones.
Arbitraje de swaps en Forex: Reunimos un portafolio sintético y creamos un flujo de swaps estable
¿Quiere saber cómo aprovechar los spreads de los tipos de interés? En este artículo, veremos cómo usar el arbitraje de swaps en Forex para generar unos ingresos constantes cada noche construyendo un portafolio resistente a las fluctuaciones del mercado.
Aprendizaje automático en la negociación de tendencias unidireccionales tomando el oro como ejemplo
En este artículo analizaremos un enfoque interesante: la negociación solo en la dirección seleccionada (compra o venta). Para ello, utilizaremos técnicas de inferencia causal y aprendizaje automático.
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.
Redes neuronales en el trading: Aprendizaje contextual aumentado por memoria (Final)
Hoy finalizaremos la implementación del framework MacroHFT para el comercio de criptomonedas de alta frecuencia, que utiliza el aprendizaje de refuerzo consciente del contexto y el aprendizaje con memoria para adaptarse a las condiciones dinámicas del mercado. Y al final de este artículo, probaremos los enfoques aplicados con datos históricos reales para evaluar su eficacia.
Reimaginando las estrategias clásicas (Parte V): Análisis de múltiples símbolos en USDZAR
En esta serie de artículos, revisamos las estrategias clásicas para ver si podemos mejorarlas utilizando la IA. En el artículo de hoy, examinaremos una estrategia popular de análisis de símbolos múltiples utilizando una cesta de valores correlacionados, nos centraremos en el exótico par de divisas USDZAR.
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.
Filtrado de estacionalidad y período de tiempo para modelos de Deep Learning ONNX con Python para EA
¿Podemos beneficiarnos de la estacionalidad al crear modelos para Deep Learning con Python? ¿Ayuda el filtrado de datos para los modelos ONNX a obtener mejores resultados? ¿Qué periodo de tiempo debemos utilizar? Trataremos todo esto a lo largo de este artículo.
Algoritmo de búsqueda cooperativa artificial (Artificial Cooperative Search, ACS)
La búsqueda cooperativa artificial (Artificial Cooperative Search, ACS) es un método innovador que utiliza una matriz binaria y múltiples poblaciones dinámicas basadas en relaciones de mutualismo y cooperación para encontrar soluciones óptimas de forma rápida y precisa. El enfoque único de ACS sobre depredadores y presas le permite obtener excelentes resultados en problemas de optimización numérica.
Operar con el Calendario Económico MQL5 (Parte 2): Creación de un Panel de Noticias
En este artículo, creamos un panel de noticias práctico utilizando el Calendario Económico MQL5 para mejorar nuestra estrategia comercial. Comenzamos diseñando el diseño, centrándonos en elementos clave como los nombres de los eventos, la importancia y el tiempo, antes de pasar a la configuración dentro de MQL5. Por último, implementamos un sistema de filtrado para mostrar sólo las noticias más relevantes, brindando a los operadores acceso rápido a eventos económicos impactantes.
Automatización de estrategias de trading en MQL5 (Parte 14): Estrategia Trade Layering con técnicas estadísticas basadas en MACD y RSI
En este artículo se presenta una estrategia de trade layering que combina los indicadores MACD y RSI con métodos estadísticos para automatizar un trading dinámico en MQL5.
Se analiza la arquitectura de este enfoque en cascada, se detalla su implementación mediante segmentos clave de código y se orienta al lector sobre cómo realizar pruebas retrospectivas para optimizar el rendimiento. Finalmente, concluimos destacando el potencial de la estrategia y preparando el escenario para futuras mejoras en el trading automatizado.
Desarrollo de un sistema de repetición (Parte 35): Haciendo retoques (I)
Tenemos que arreglar algunas cosas antes de poder continuar de verdad. Pero no es necesariamente una corrección, sino una mejora en la forma de gestionar y utilizar la clase. La razón es que hay fallos debidos a algún tipo de interacción dentro del sistema. A pesar de los intentos de comprender la razón de algunos de los fallos, para ponerles fin, todos ellos se vieron frustrados, ya que algunos no tenían sentido. Cuando usamos punteros o recursión en C / C++, y el programa empieza a fallar.
Simulación de mercado: Iniciando SQL en MQL5 (III)
En el artículo anterior vimos cómo podríamos desarrollar una clase en MQL5 capaz de darnos cierto soporte. Su finalidad es precisamente permitirnos colocar el código SQL dentro de un archivo de script. De este modo, no necesitaríamos escribir ese mismo código SQL como un string dentro del código MQL5. Aunque esa solución es funcional, contiene algunos detalles que podemos y debemos mejorar.
Un algoritmo de selección de características que utiliza aprendizaje basado en energía en MQL5 puro
En este artículo presentamos la implementación de un algoritmo de selección de características descrito en un artículo académico titulado "FREL: Un algoritmo de selección de características estable", llamado Ponderación de características como aprendizaje regularizado basado en energía.
Teoría de categorías en MQL5 (Parte 18): Cuadrado de la naturalidad
El artículo continúa la serie sobre teoría de categorías, presentando transformaciones naturales que suponen un elemento clave de la teoría. Hoy echaremos un vistazo a su definición (aparentemente compleja) y luego profundizaremos en los ejemplos y métodos de aplicación de las transformaciones para pronosticar la volatilidad.
Redes neuronales en el trading: Reducción del consumo de memoria con el método de optimización Adam (Adam-mini)
Una forma de mejorar la eficacia del proceso de aprendizaje y la convergencia de los modelos es mejorar los métodos de optimización. Adam-mini es un método de optimización adaptativa desarrollado para mejorar el algoritmo Adam básico.