De novato a experto: Desmitificando los niveles ocultos de retroceso de Fibonacci
De novato a experto: Desmitificando los niveles ocultos de retroceso de Fibonacci
En este artículo, analizamos un enfoque basado en datos para descubrir y validar niveles de retroceso de Fibonacci no estándar que los mercados podrían respetar. Presentamos un flujo de trabajo completo diseñado específicamente para su implementación en MQL5, que comienza con la recopilación de datos y la detección de barras o swings, y se extiende hasta la agrupación en clústeres, las pruebas de hipótesis estadísticas, el backtesting y la integración en una herramienta de Fibonacci de MetaTrader 5. El objetivo es crear un proceso reproducible que transforme las observaciones anecdóticas en señales de trading estadísticamente defendibles.
Características del Wizard MQL5 que debe conocer (Parte 68): Uso de patrones de TRIX y Williams Percent Range con una red de núcleo coseno
Características del Wizard MQL5 que debe conocer (Parte 68): Uso de patrones de TRIX y Williams Percent Range con una red de núcleo coseno
Retomamos nuestro último artículo, donde presentamos el par de indicadores TRIX y Williams Percent Range, y ahora analizamos cómo se podría ampliar este par de indicadores con aprendizaje automático. TRIX y Williams Percent Range forman un par complementario de tendencia y soporte/resistencia. Nuestro enfoque de aprendizaje automático utiliza una red neuronal convolucional que incorpora el núcleo coseno en su arquitectura a la hora de ajustar las previsiones de este par de indicadores. Como siempre, esto se hace en un archivo de clase de señal personalizado que funciona con el asistente de MQL5 (Wizard MQL5) para crear un asesor experto.
Del básico al intermedio: Colas, listas y árboles (III)
Del básico al intermedio: Colas, listas y árboles (III)
En este artículo daremos el siguiente paso para implementar y entender qué es y cómo funciona una lista enlazada. Aunque el contenido de este artículo pueda resultar bastante denso y confuso para quienes se están iniciando, intenté explicarlo de la forma más didáctica posible. Así podrás entender por qué y cuándo usar una lista enlazada.
Simulación de mercado: Position View (X)
Simulación de mercado: Position View (X)
Necesitamos un medio para manejar los objetos gráficos que se crearán. La propuesta mostrada en el artículo anterior encaja perfectamente en algunos escenarios. Aquí necesitamos algo un poco más elaborado, debido a la naturaleza del problema que estamos tratando. Por lo tanto, no intentaremos sustituir los mecanismos presentes en MetaTrader 5 para manejar ZOrder ni, por supuesto, comprobar qué objeto está en primer plano o queda oculto por otro objeto. Haremos algo completamente diferente. Aquí mostraré qué modificaciones hay que hacer en el código para aprovechar parte de lo que MetaTrader 5 ya hace por nosotros.
Del básico al intermedio: Colas, listas y árboles (II)
Del básico al intermedio: Colas, listas y árboles (II)
Este es un artículo que tú, mi estimado lector, deberás estudiar con mucha calma. Esto se debe al tipo de contenido que se explicará en él. Aunque hemos procurado mantener las cosas lo más simples y didácticas posible, el contenido presentado aquí es, sin duda, algo muy complicado para quienes se están iniciando en la programación. Sin embargo, esto no es motivo para que te desanimes o ignores lo que se explica aquí, ya que este artículo establecerá un vínculo entre dos temas completamente diferentes, aunque íntimamente relacionados.
Simulación de mercado: Position View (IX)
Simulación de mercado: Position View (IX)
En este artículo, que será un punto de inflexión, comenzaremos a explorar de manera un poco más profunda la interacción entre las aplicaciones que desarrollamos para dar soporte total al sistema de repetición/simulación. Aquí vamos a analizar un problema que, por un lado, resulta bastante molesto, pero, por otro, es muy interesante de explicar y resolver. El problema es: cómo añadir las líneas de take profit y stop loss después de que fueron eliminadas, y hacerlo sin usar el terminal, sino realizando la operación directamente en el gráfico. Bien, esto, a primera vista, parece algo simple. Sin embargo, hay algunos obstáculos que superar.
Del básico al intermedio: Colas, listas y árboles (I)
Del básico al intermedio: Colas, listas y árboles (I)
En este artículo comenzaremos a explorar una pequeña serie de conceptos de suma importancia para quienes realmente desean aprender a programar correctamente. Como al principio puede resultar muy complicado, aunque se base en elementos sencillos, lo veremos poco a poco. Entonces, aquí comenzaremos a ver qué son las colas de datos.
Descomposición en modos dinámicos aplicada a series temporales univariadas en MQL5
Descomposición en modos dinámicos aplicada a series temporales univariadas en MQL5
La descomposición en modos dinámicos (DMD, por sus siglas en inglés) es una técnica que se suele aplicar a conjuntos de datos de alta dimensionalidad. En este artículo, demostramos la aplicación de DMD a series temporales univariadas, mostrando su capacidad para caracterizar una serie y realizar pronósticos. Para ello, investigaremos la implementación integrada de la descomposición en modos dinámicos en MQL5, prestando especial atención al nuevo método matricial, DynamicModeDecomposition().
Introducción a MQL5 (Parte 20): Introducción a los patrones armónicos
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.
Símbolos personalizados MQL5: Creamos un símbolo de barras 3D
Símbolos personalizados MQL5: Creamos un símbolo de barras 3D
Este artículo ofrece una guía detallada para crear el innovador indicador 3DBarCustomSymbol.mq5, que genera símbolos personalizados en MetaTrader 5 que combinan precio, tiempo, volumen y volatilidad en una única representación tridimensional. Asimismo, analizaremos los fundamentos matemáticos, la arquitectura del sistema y los aspectos prácticos de su implementación y aplicación en estrategias de negociación.
Indicador de estacionalidad por horas, días de la semana y meses
Indicador de estacionalidad por horas, días de la semana y meses
Este artículo explica cómo desarrollar una herramienta para analizar patrones de precios recurrentes en los mercados financieros, ya sea por el día del mes (1-31), el día de la semana (lunes a domingo) o la hora del día (0-23). El indicador analiza datos históricos, calcula la rentabilidad media de cada periodo y muestra los resultados en forma de histograma con una previsión. Incluye parámetros personalizables: tipo de estacionalidad, número de barras analizadas, visualización como porcentajes o valores absolutos, colores del gráfico.
Creación de un sistema de trading (Parte 1): Enfoque cuantitativo
Creación de un sistema de trading (Parte 1): Enfoque cuantitativo
Muchos operadores evalúan las estrategias basándose en el rendimiento a corto plazo, abandonando a menudo los sistemas rentables demasiado pronto. Sin embargo, la rentabilidad a largo plazo depende de una expectativa positiva mediante una tasa de aciertos y una relación beneficio/riesgo optimizadas, junto con una gestión disciplinada del tamaño de las posiciones. Estos principios pueden validarse mediante simulación de Monte Carlo en Python con métricas de prueba retrospectiva para evaluar si una estrategia es robusta o si es probable que falle con el tiempo.
Acceso a la información de ticks de MetaTrader desde los servicios de MQL5 a una aplicación de Python mediante sockets
Acceso a la información de ticks de MetaTrader desde los servicios de MQL5 a una aplicación de Python mediante sockets
A veces no todo se puede programar en el lenguaje MQL5. E incluso si fuera posible convertir las bibliotecas avanzadas existentes en MQL5, llevaría mucho tiempo. Este artículo pretende demostrar que es posible sortear la dependencia de Windows transmitiendo información de ticks —como el precio bid, precio ask y hora— a través de los servicios de MetaTrader a una aplicación de Python mediante sockets.
Simulación de mercado: Position View (VIII)
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.
Introducción a MQL5 (Parte 19): Automatización de la detección de las ondas de Wolfe
Introducción a MQL5 (Parte 19): Automatización de la detección de las ondas de Wolfe
Este artículo explica cómo identificar mediante programación los patrones de onda de Wolfe alcistas y bajistas y cómo operar con ellos utilizando MQL5. Veremos cómo identificar las estructuras de la onda de Wolfe mediante programación y cómo ejecutar operaciones basadas en ellas utilizando MQL5. Esto incluye detectar puntos de inflexión clave, validar las reglas de los patrones y preparar el EA para que actúe en función de las señales que detecte.
Del básico al intermedio: Como burbujas de jabón
Del básico al intermedio: Como burbujas de jabón
En este artículo, se explicará un mecanismo muy simple y fácil de entender, cuyo propósito es ordenar un array cualquiera. En él, veremos que no siempre el resultado obtenido es el que esperamos tener, por lo que será necesario adaptar la propia implementación para conseguir los resultados adecuados.
Simulación de mercado: Position View (VII)
Simulación de mercado: Position View (VII)
En este artículo, comenzaremos a realizar algunas mejoras en el indicador de posición, para poder interactuar con él y modificar las líneas de precio, o cerrar una posición directamente mediante la interacción con el indicador de posición. Antes de entrar realmente en la implementación, conviene aclarar algo, sobre todo para quienes no estén al tanto. No es posible, de ninguna manera, usar un indicador para modificar algo en el servidor de trading. Esto se debe a que MetaTrader 5 cuenta con un sistema de seguridad que permite únicamente a los Asesores Expertos actuar sobre una orden o una posición. Ninguna otra aplicación que no sea un Asesor Experto podrá manipular órdenes o posiciones.
Del básico al intermedio: Navegando por la SandBox
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.
Simulación de mercado: Position View (VI)
Simulación de mercado: Position View (VI)
En este artículo, haremos diversas mejoras para que el indicador de posición refleje lo que realmente ocurre en el servidor de trading, en términos de posiciones y del estado actual de estas. Debo recordar que estas aplicaciones, que se mostrarán aquí, no pretenden en ningún caso sustituir ningún elemento disponible en MetaTrader 5. Tampoco deben usarse sin los debidos cuidados y criterios, ya que su objetivo es presentar un código didáctico, es decir, con fines de aprendizaje sobre cómo funciona el sistema. El motivo por el que digo que el código es didáctico es que el uso de mensajes, en algunos casos, no es la mejor forma de implementar ciertas funcionalidades.
Análisis de espectro singular (SSA) en MQL5
Análisis de espectro singular (SSA) en MQL5
Este artículo pretende servir de guía para aquellas personas que no estén familiarizadas con el concepto de análisis de espectro singular (SSA) y que deseen adquirir los conocimientos necesarios para poder aplicar las herramientas integradas disponibles en MQL5.
Del básico al intermedio: Acceso aleatorio (II)
Del básico al intermedio: Acceso aleatorio (II)
En este artículo, veremos cómo dos enfoques ligeramente diferentes pueden impactar de manera considerable en toda una metodología de implementación, tanto desde el punto de vista del rendimiento como desde el punto de vista de cómo deben pensarse los accesos al disco, con el fin de evitar problemas de compatibilidad entre distintas aplicaciones.
Simulación de mercado: Position View (V)
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.
Del básico al intermedio: Acceso aleatorio (I)
Del básico al intermedio: Acceso aleatorio (I)
En este artículo tendremos nuestra primera experiencia con el acceso aleatorio al contenido de un archivo. Esto apunta tanto a la escritura como a la lectura de información y datos almacenados en un archivo. Sin embargo, como este tema es bastante extenso para explicarlo en un único artículo, aquí solo haremos una introducción a esta cuestión del acceso aleatorio.
Simulación de mercado: Position View (IV)
Simulación de mercado: Position View (IV)
Aquí comenzaremos a unir diversos componentes o aplicaciones que antes estaban completamente aisladas entre sí. Aunque Chart Trade, el Indicador de Mouse y el Asesor Experto ya mantenían cierta relación, todavía no había una forma de observar directamente en el gráfico las posiciones abiertas en el servidor de trading, muchas veces usando un sistema de órdenes cruzadas. A partir de este momento, esto empieza a ser posible, abriendo diversas puertas a nuevas ideas e implementaciones futuras. Aunque apenas estamos comenzando a poner estos componentes en funcionamiento, ya tendremos un rumbo que seguir.
Formulación de un Asesor Experto Multipar Dinámico (Parte 3): Estrategias de reversión a la media y de impulso
Formulación de un Asesor Experto Multipar Dinámico (Parte 3): Estrategias de reversión a la media y de impulso
En este artículo, analizaremos la tercera parte de nuestro proceso de creación de un asesor experto (EA) dinámico para múltiples pares, centrándonos específicamente en la integración de las estrategias de trading de reversión a la media y momentum. Analizaremos cómo detectar y reaccionar ante las desviaciones de los precios respecto a la media (puntuación Z), y cómo medir el impulso en varios pares de divisas para determinar la dirección de la operación.
Determinación de los tipos de cambio justos en PPA usando los datos del FMI
Determinación de los tipos de cambio justos en PPA usando los datos del FMI
Construcción de un sistema de análisis de tipo de cambio basado en paridad de poder adquisitivo (PPA) en Python. El autor ha desarrollado un algoritmo con cinco métodos para calcular tipos de cambio justos utilizando datos del FMI. El presente artículo supone una guía práctica para el análisis fundamental de divisas, el procesamiento de datos económicos y la integración con sistemas comerciales. Encontrará el código completo en open source.
Guía de aprendizaje automático para MetaTrader 5 (Parte 1): Correcciones relacionadas con la fuga de datos y las marcas de tiempo
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.
Características del Wizard MQL5 que debe conocer (Parte 67): Uso de patrones de TRIX y Williams Percent Range (WPR)
Características del Wizard MQL5 que debe conocer (Parte 67): Uso de patrones de TRIX y Williams Percent Range (WPR)
El oscilador de media móvil exponencial triple (TRIX) y el oscilador de rango porcentual de Williams son otro par de indicadores que podrían utilizarse conjuntamente dentro de un Asesor Experto MQL5. Este par de indicadores, al igual que los que hemos analizado recientemente, también es complementario, ya que TRIX define la tendencia, mientras que el indicador Williams Percent Range confirma los niveles de soporte y resistencia. Como siempre, utilizamos el asistente MQL5 para evaluar el potencial que puedan tener estos dos indicadores.
Minería de datos de los balances de los bancos centrales y obtención de un panorama de la liquidez global
Minería de datos de los balances de los bancos centrales y obtención de un panorama de la liquidez global
La minería de datos del balance de los bancos centrales ofrece una imagen de la liquidez global en el mercado Forex y en las divisas clave. Hoy combinaremos datos de la Fed, el BCE, el BOJ y el PBoC en un índice compuesto y utilizaremos el aprendizaje automático para descubrir patrones ocultos. Este enfoque convierte los datos sin procesar en señales comerciales reales combinando el análisis fundamental y técnico.
Características del Wizard MQL5 que debe conocer (Parte 66): Uso de patrones FrAMA y Force Index con el núcleo de producto escalar
Características del Wizard MQL5 que debe conocer (Parte 66): Uso de patrones FrAMA y Force Index con el núcleo de producto escalar
El indicador FrAMA y el oscilador Force Index son herramientas de tendencia y volumen que pueden combinarse al desarrollar un asesor experto. Retomamos nuestro último artículo, en el que presentamos este par, para analizar la aplicabilidad del aprendizaje automático al mismo. Estamos utilizando una red neuronal convolucional que emplea el núcleo de producto escalar para realizar previsiones a partir de los datos de estos indicadores. Esto se lleva a cabo en un archivo de clase de señal personalizado que funciona con el asistente de MQL5 para crear un asesor experto.
Características del Wizard MQL5 que debe conocer (Parte 65): Uso de los patrones FrAMA y Force Index
Características del Wizard MQL5 que debe conocer (Parte 65): Uso de los patrones FrAMA y Force Index
La media móvil adaptativa fractal (FrAMA) y el oscilador Force Index son otro par de indicadores que podrían utilizarse conjuntamente en un asesor experto de MQL5. Estos dos indicadores se complementan en cierta medida, ya que FrAMA es un indicador de seguimiento de tendencias, mientras que el Force Index es un oscilador basado en el volumen. Como siempre, utilizamos el asistente MQL5 para explorar rápidamente el potencial que puede tener esta combinación.
Simulación de mercado: Position View (III)
Simulación de mercado: Position View (III)
En estos últimos artículos, he mencionado que, en algunos momentos, necesitamos definir un valor para la propiedad ZOrder. ¿Pero por qué?!?! El motivo es que muchos de los códigos que agregan objetos al gráfico simplemente no usan, o mejor dicho, no definen un valor para esa propiedad. Bien, no estoy aquí para decir qué debe o no debe hacer cada programador, ni cómo debe o no debe escribir su código. Estoy aquí para mostrarte, estimado lector e interesado en comprender realmente cómo funcionan las cosas, lo que ocurre entre bastidores.
Del básico al intermedio: FileSave y FileLoad
Del básico al intermedio: FileSave y FileLoad
En este artículo se explicarán y explorarán algunas formas de trabajar con las funciones de la biblioteca FileSave y FileLoad. Aunque mucha gente las considera poco prometedoras, debido a algunas limitaciones o dificultades que generan en ciertos escenarios, entender correctamente cómo funcionan estas dos funciones puede ahorrarte mucho trabajo en determinados momentos. Además, son una excelente forma de trabajar con archivos de log.
Del básico al intermedio: SandBox y MetaTrader
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.
Del básico al intermedio: Eventos en Objetos (IV)
Del básico al intermedio: Eventos en Objetos (IV)
En este artículo, terminaremos lo que comenzamos en el artículo anterior. Es decir, una forma total y completamente interactiva de redimensionar los objetos directamente en el gráfico. Aunque muchos imaginen que, para hacer algo así, haría falta mucho más conocimiento de MQL5, notarás que, con conceptos simples y conocimientos muy básicos, podemos implementar una forma de trabajar con los objetos directamente en el gráfico. Algo que da un resultado muy divertido y bastante interesante.