Desarrollo de un sistema de repetición (Parte 64): Presionando play en el servicio (V)
En este artículo, mostraré cómo corregir dos errores presentes en el código. Sin embargo, he intentado explicarlas de manera que tú, aspirante a programador, entiendas que las cosas no siempre ocurrirán como habías previsto. Pero esto no debe ser motivo de desesperación, sino una oportunidad para aprender. El contenido expuesto aquí tiene como único propósito ser didáctico. En ningún caso debe interpretarse como una aplicación cuya finalidad sea distinta al aprendizaje y estudio de los conceptos presentados.
Dominando los registros (Parte 6): Guardando los registros en la base de datos
Este artículo explora el uso de bases de datos para almacenar registros de forma estructurada y escalable. Abarca conceptos fundamentales, operaciones esenciales, configuración e implementación de un controlador de base de datos en MQL5. Finalmente, valida los resultados y destaca los beneficios de este enfoque para la optimización y la monitorización eficiente.
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.
Gestor de riesgos para robots de trading (Parte I): archivo include para el control de riesgos en asesores expertos
El trading exige una estricta disciplina sn la gestión de riesgos. El presente trabajo presenta un análisis de las principales causas de los fracasos de los tráders y propone una solución técnica en forma de la clase CEnhancedRiskManager para la plataforma MQL5. Incluye pruebas prácticas con un asesor experto de cuadrícula agresivo.
Aprendizaje automático y Data Science (Parte 36): Cómo lidiar con mercados financieros sesgados
Los mercados financieros no están perfectamente equilibrados. Algunos mercados son alcistas, otros bajistas y otros presentan comportamientos laterales que indican incertidumbre en cualquier dirección. Esta información desequilibrada, cuando se utiliza para entrenar modelos de aprendizaje automático, puede resultar engañosa, ya que los mercados cambian con frecuencia. En este artículo vamos a analizar varias maneras de abordar este problema.
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.
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.
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.
Redes neuronales en el trading: Segmentación periódica adaptativa (LightGTS)
Les invitamos a explorar la innovadora técnica de segmentación adaptativa, una forma de segmentar series temporales de forma flexible en función de su periodicidad inherente. Además, se usan técnicas de codificación eficientes que permiten preservar características semánticas importantes al trabajar con datos de diferentes escalas. Estos métodos descubren nuevas posibilidades para procesar con precisión datos complejos a múltiples escalas, típicos de los mercados financieros, y mejoran significativamente la estabilidad y la validez de las previsiones.
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.
Introducción a MQL5 (Parte 20): Introducción a los patrones armónicos
En este artículo, analizamos los fundamentos de los patrones armónicos, sus estructuras y cómo se aplican en el trading. Aprenderás sobre los retrocesos y las extensiones de Fibonacci, así como a implementar la detección de patrones armónicos en MQL5, sentando así las bases para crear herramientas de trading avanzadas y asesores expertos.
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.
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.
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.
Redes neuronales en el trading: Previsión probabilística de series temporales (Codificador)
Le invitamos a explorar un nuevo enfoque que combina métodos clásicos y redes neuronales modernas para el análisis de series temporales. El artículo ofrece una descripción detallada de la arquitectura y los principios de funcionamiento del modelo K²VAE.
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.
Redes neuronales en el trading: Modelo multidimensional de extremo a extremo para la previsión de series temporales (Final)
Les presentamos la parte final de la serie dedicada a GinAR, un framework de red neuronal para la predicción de series temporales. En este artículo, vamos a analizar los resultados de las pruebas realizadas al modelo con datos nuevos y a evaluar su robustez en condiciones reales de mercado.
Del básico al intermedio: Eventos en Objetos (III)
En este artículo, prepararemos el terreno para algo que se verá en el próximo artículo. ambién veremos cómo permitir que un objeto de tipo OBJ_LABEL pueda editarse y moverse de forma completamente interactiva. Es decir, podremos cambiar tanto el texto como la posición de un objeto de tipo OBJ_LABEL, sin abrir la ventana de propiedades del objeto.
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.
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.
Simulación de mercado: Iniciando SQL en MQL5 (IV)
Muchos suelen infrautilizar SQL, o incluso no utilizarlo, porque no comprenden bien cómo funciona en realidad. Al consultar una base de datos SQL, no siempre buscamos una respuesta genérica; en algunos casos queremos una respuesta muy concreta y práctica. Si tú creas una base de datos con cierta estructuración y modelado, podrás introducir prácticamente cualquier tipo de información en ella.
Del básico al intermedio: Eventos en objetos (I)
En este artículo, veré tres de los seis eventos que MetaTrader 5 puede disparar cuando algo sucede con un objeto presente en el gráfico. Estos eventos son muy útiles cuando se trata de interacción con el usuario. Esto se debe a que, sin entender estos eventos, tendrás mucho más trabajo para mantener cierta configuración en el gráfico, al intentar controlar objetos con finalidades específicas.
Del básico al intermedio: SandBox y MetaTrader
¿Sabes qué es una SandBox? ¿Sabes cómo trabajar con ella? Si la respuesta a cualquiera de estas preguntas es no, lee este artículo para entender el principio básico que hay detrás de una SandBox. Y entiende por qué MetaTrader 5 utiliza una SandBox para garantizar la integridad de algunos de sus datos. El contenido expuesto aquí tiene única y exclusivamente un objetivo didáctico. En ningún caso debe considerarse una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
Características del Wizard MQL5 que debe conocer (Parte 69): Uso de patrones del SAR y del RVI
El Parabolic SAR (SAR) y el Relative Vigor Index (RVI) son otro par de indicadores que podrían utilizarse conjuntamente en un asesor experto de MQL5. Este par de indicadores, al igual que los que hemos analizado anteriormente, también es complementario, ya que el SAR define la tendencia mientras que el RVI evalúa el impulso. Como de costumbre, utilizamos el asistente MQL5 para construir y probar cualquier potencial que pueda tener este emparejamiento de indicadores.
Programación gráfica para principiantes (Parte I): Aprendiendo CCanvas con Crazy Scalper
Este artículo introduce la librería CCanvas en MQL5 mediante el desarrollo paso a paso de un minijuego que se ejecuta sobre el gráfico de MetaTrader 5. Se explican el sistema de coordenadas, el renderizado vectorial de formas, el canal alfa para transparencias, el bucle con temporizador, la máquina de estados, la física básica y la detección de colisiones AABB, además de la captura de teclado. Al finalizar, podrá crear superficies graficas interactivas y sentar las bases de paneles y minijuegos propios.
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.
Del básico al intermedio: Eventos en Objetos (II)
En este artículo, veremos cómo funcionan los tres últimos tipos de eventos que puede disparar un objeto. Entender esto será muy divertido, ya que, al final, haremos algo que, para muchos, puede parecer una especie de locura, pero que es perfectamente posible y tiene un resultado bastante sorprendente.
Características del Wizard MQL5 que debe conocer (Parte 63): Uso de los patrones de DeMarker y los canales de envolvente
El oscilador DeMarker y el indicador de envolvente son herramientas de impulso y de soporte/resistencia que pueden combinarse al desarrollar un asesor experto. Por lo tanto, examinamos patrón por patrón qué podría ser útil y qué podría evitarse. Como siempre, estamos utilizando un Asesor Experto creado mediante un asistente, junto con las funciones de uso de patrones integradas en la clase Expert Signal.
Introducción a MQL5 (Parte 25): Creación de un asesor experto (EA) que opere a partir de objetos del gráfico (II)
Este artículo explica cómo crear un Asesor Experto (EA) que interactúe con los objetos del gráfico, en particular con las líneas de tendencia, para identificar y operar con oportunidades de ruptura y reversión. Aprenderás cómo el Asesor Experto (EA) confirma las señales válidas, gestiona la frecuencia de las operaciones y mantiene la coherencia con las estrategias seleccionadas por el usuario.
Simulación de mercado: Position View (XIX)
Una de las cuestiones que más me ha incomodado es que la clase C_ElementsTrade contenga código que permite acceder a las posiciones. No lo interpretes como un fallo, porque en realidad no lo es. Sin embargo, hace que algunas de las tareas que deberemos realizar más adelante sean algo más propensas a errores. Todo el trabajo destinado a implementar el indicador de posición se ha desarrollado pensando en utilizarlo dentro del sistema de repetición/simulador. Sin embargo, cuando se ejecute en ese entorno, no tendremos acceso alguno a una posición real. Por tanto, cualquier llamada a la biblioteca de MQL5 destinada a consultar datos de una posición no tendrá ningún efecto en el código.
Dominando los registros (Parte 9): Implementación del patrón Builder y adición de configuraciones predeterminadas
Este artículo muestra cómo simplificar drásticamente el uso de la biblioteca Logify con el patrón Builder y las configuraciones predeterminadas automáticas. Explica la estructura de los constructores especializados, cómo utilizarlos con la función de autocompletado inteligente y cómo garantizar un registro funcional incluso sin configuración manual. También incluye ajustes para la versión 5100 de MetaTrader 5.
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.
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.
Del básico al intermedio: Navegando por la SandBox
En este artículo veremos dos formas de observar e incluso tener cierta interacción con el contenido de una SandBox, tomando MetaTrader 5 como base. Entender el contenido que se muestra en este artículo será fundamental para entender lo que se verá en los próximos artículos.
Aprendizaje automático y Data Science (Parte 46): Pronóstico de los mercados bursátiles con N-BEATS en Python
N-BEATS es un modelo revolucionario de aprendizaje profundo diseñado para la previsión de series temporales. Fue lanzado para superar los modelos clásicos de pronóstico de series temporales como ARIMA, PROPHET, VAR, etc. En este artículo vamos a analizar este modelo y a utilizarlo para predecir el mercado bursátil.
Dominando los registros (Parte 8): Registros de errores con traducción automática
En esta octava entrega de la serie «Dominando los registros», exploramos la implementación de mensajes de error multilingües en Logify, una potente biblioteca de registro de eventos para MQL5. Aprenderás a estructurar los errores con contexto, traducir mensajes a varios idiomas y formatear registros dinámicamente según su nivel de gravedad. Todo ello con un diseño limpio, extensible y listo para la producción.
Automatización de estrategias de trading en MQL5 (Parte 21): Mejora del trading basado en redes neuronales mediante tasas de aprendizaje adaptativas
En este artículo, mejoramos una estrategia de trading basada en redes neuronales en MQL5 mediante una tasa de aprendizaje adaptativa para aumentar la precisión. Diseñamos e implementamos este mecanismo y, a continuación, comprobamos su rendimiento. El artículo concluye con algunas ideas sobre la optimización del trading algorítmico.
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.
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.