Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 24): Herramienta de cuantificación de la acción del precio
Los patrones de velas japonesas ofrecen información valiosa sobre los posibles movimientos del mercado. Algunas velas individuales señalan la continuación de la tendencia actual, mientras que otras presagian cambios de tendencia, dependiendo de su posición dentro de la acción del precio. Este artículo presenta un Asesor Experto (EA) que identifica automáticamente cuatro formaciones clave de velas japonesas. Explore las siguientes secciones para descubrir cómo esta herramienta puede mejorar su análisis de la evolución de los precios.
Simulación de mercado: La unión hace la fuerza (I)
Estamos llegando a la recta final. El desarrollo del sistema de repetición/simulador está casi terminado. Es cierto que aún tendremos que completar algunas cosas, pero, en comparación con todo lo que ya hemos hecho, implementar lo que falta será sencillo. Sin embargo, todo lo que se mostrará en este artículo deberá asimilarse y comprenderse adecuadamente. Quiero que tú, estimado lector y entusiasta...
Simulación de mercado: Position View (XX)
En este artículo veremos cómo modificar el código del indicador de posición para crear una especie de sombra que nos permita visualizar dónde se encuentra actualmente el precio que continúa vigente en el servidor de trading. Este mecanismo pretende facilitar la planificación de operaciones en las que desplazamos las líneas de stop loss o take profit. Añadir esta función, es decir, las sombras de precio, puede parecer extremadamente complejo. En este artículo mostraré que puedes implementarla de una forma muy sencilla y práctica.
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.
Simulación de mercado: Position View (XVIII)
En este artículo mostré, de la forma más didáctica posible, cómo puedes modificar y desarrollar un código capaz de cumplir determinados objetivos alterando lo mínimo posible un código ya existente. Añadiremos un indicador de volumen y, al mismo tiempo, impediremos que el usuario u operador elimine los objetos que se están creando por el indicador de posición.
De novato a experto: Trading con filtrado temporal
El hecho de que los ticks lleguen constantemente no significa que cada momento sea una oportunidad para operar. Hoy, realizaremos un estudio en profundidad del arte de la sincronización, centrándonos en el desarrollo de un algoritmo de aislamiento temporal para ayudar a los operadores a identificar y operar dentro de sus ventanas de mercado más favorables. Cultivar esta disciplina permite a los traders minoristas sincronizarse más estrechamente con el timing institucional, donde la precisión y la paciencia suelen ser clave para el éxito. Acompáñanos en esta discusión mientras exploramos la ciencia del timing y el trading selectivo a través de las capacidades analíticas de MQL5.
Simulación de mercado: Position View (XVII)
En el artículo anterior hicimos que el indicador mostrara el resultado financiero. Sin embargo, no a todos les gusta utilizar este modo de visualización. El motivo puede variar de un operador a otro, aunque en algunos casos me parece bastante razonable y justificable. Adaptar el código para ofrecer esta posibilidad no es, ni mucho menos, una de las tareas más complejas. En realidad, se trata de algo bastante sencillo. En este artículo veremos cómo hacerlo.
Simulación de mercado: Position View (XVI)
En este artículo realizaremos las modificaciones necesarias para que el indicador de posición muestre un resultado financiero. De este modo, el operador podrá hacerse una idea del resultado financiero que se obtiene con una posición abierta. Además, compartiré contigo algo que muchos desconocen, incluso quienes llevan mucho tiempo utilizando MQL5: cómo utilizar variables estáticas para compartir memoria y evitar declarar una variable global en el código principal.
Aprendizaje automático y Data Science (Parte 44): Pronóstico de series temporales OHLC de Forex mediante autorregresión vectorial (VAR)
Descubra cómo los modelos de autorregresión vectorial (VAR) pueden pronosticar datos de series temporales OHLC (apertura, máximo, mínimo y cierre) del mercado Forex. Este artículo trata sobre la implementación de VAR, el entrenamiento de modelos y la previsión en tiempo real en MetaTrader 5, lo que ayuda a los traders a analizar los movimientos interdependientes de las divisas y a mejorar sus estrategias de trading.
De novato a experto: Períodos del mercado Forex
Cada período de mercado tiene un principio y un final, y cada uno cierra con un precio que define su sentimiento, al igual que cualquier sesión de velas japonesas. Comprender estos puntos de referencia nos permite evaluar el estado de ánimo predominante del mercado, revelando si las fuerzas alcistas o bajistas tienen el control. En este análisis, damos un paso importante al desarrollar una nueva función dentro del Sincronizador de Períodos de Mercado, que visualiza las sesiones del mercado Forex para facilitar la toma de decisiones de trading más informadas. Esta herramienta puede ser especialmente útil para identificar, en tiempo real, qué bando —alcistas o bajistas— domina la sesión. Exploremos este concepto y descubramos las conclusiones que ofrece.
Simulación de mercado: Position View (XV)
En este artículo intentaré explicar, de la forma más sencilla posible, cómo puedes utilizar el intercambio de mensajes entre aplicaciones. El objetivo es que puedas desarrollar algo funcional de la manera más simple y eficaz, siempre que sea posible. No sé si lograré transmitir la idea que sustenta este concepto, pues no resulta fácil de asimilar para quien lo encuentra por primera vez. También aprovecharé para mostrarte cómo modificar el sistema de repetición/simulador, de modo que puedas depurar un Asesor Experto o cualquier otro código que estés desarrollando. Todo ello de una forma igualmente sencilla y directa.
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.
Simulación de mercado: Position View (XIV)
Ahora implementaremos esta solución porque MQL5 sigue el mismo principio que la programación basada en eventos. Los desarrolladores utilizan este modelo con frecuencia al crear DLL. Sé que, al principio, el funcionamiento basado en eventos parecerá confuso y carente de lógica. Pero, en este artículo, presentaré los principios de la programación basada en eventos con mayor claridad para que tú, que estás empezando, comprendas adecuadamente su funcionamiento. Entender lo que comenzaré a explicar en este artículo te ayudará en tu vida como programador.
Simulación de mercado: Position View (XIII)
En este artículo mostraré cómo implementar, sin mucho esfuerzo, una indicación que muestre si una posición genera pérdidas o beneficios. El procedimiento es sencillo y eficaz. Incluso sin grandes conocimientos, este indicador te permitirá reconocer con facilidad cuándo conviene cerrar una posición. Así evitarás resultados inesperados, ya que el cálculo refleja el resultado efectivo que produciría el cierre de la posición.
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.
De novato a experto: Revelando las sombras de las velas japonesas (mechas)
En este análisis, damos un paso adelante para descubrir la acción del precio subyacente que se esconde tras las mechas de las velas japonesas. Al integrar una función de visualización de mechas en el Market Periods Synchronizer, mejoramos la herramienta con mayor profundidad analítica e interactividad. Este sistema mejorado permite a los traders visualizar los rechazos de precios en marcos temporales superiores directamente en gráficos de marcos temporales inferiores, revelando estructuras detalladas que antes estaban ocultas.
Simulación de mercado: Position View (XII)
En este artículo, aprenderás a crear una señal visual en tu plataforma de trading para identificar directamente en el gráfico si la posición es larga o corta, sin necesidad de acceder al terminal. Además, el texto aborda la implementación de una funcionalidad que mejora la visualización al mover las líneas de take profit y stop loss, ocultando la línea horizontal que sigue al cursor del mouse mientras se reposicionan dichas líneas para evitar confusiones. La lectura ofrece conocimientos prácticos para personalizar sistemas de simulación de mercado.
De novato a experto: Utilidad de control de parámetros
Imagínese transformar las propiedades de entrada tradicionales de un EA o indicador en una interfaz de control en tiempo real directamente en el gráfico. Este análisis se basa en nuestro trabajo fundamental sobre el indicador Market Periods Synchronizer, lo que supone una evolución significativa en la forma en que visualizamos y gestionamos las estructuras de mercado en marcos temporales superiores (HTF). Aquí, convertimos ese concepto en una herramienta totalmente interactiva: un panel de control que ofrece control dinámico y una visualización mejorada de la acción del precio en múltiples períodos directamente en el gráfico. Acompáñanos a explorar cómo esta innovación transforma la manera en que los traders interactúan con sus herramientas.
Aprendizaje automático y Data Science (Parte 43): Detección de patrones ocultos en datos de indicadores con modelos de mezcla gaussiana latente (LGMM)
¿Alguna vez has mirado un gráfico y has tenido esa extraña sensación... de que hay un patrón oculto justo debajo de la superficie? ¿Un código secreto que podría revelar hacia dónde se dirigen los precios si tan solo pudieras descifrarlo? Les presentamos LGMM, el detector de patrones ocultos del mercado. Un modelo de aprendizaje automático que ayuda a identificar esos patrones ocultos en el mercado.
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.
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 7): Trading con múltiples períodos simultáneamente
En esta serie de artículos, hemos analizado diversas formas de determinar cuál es el mejor período para utilizar nuestros indicadores técnicos. Hoy, demostraremos al lector cómo puede aplicar la lógica opuesta; es decir, en lugar de elegir un único período óptimo, le mostraremos cómo emplear todos los períodos disponibles de forma eficaz. Este enfoque reduce la cantidad de datos descartados y ofrece casos de uso alternativos para los algoritmos de aprendizaje automático, más allá de la predicción habitual de precios.
Simulación de mercado: Position View (XI)
En este artículo, te mostraré, querido y estimado lector, cómo puedes modificar el indicador de posición para que sea capaz de hacer muchas más cosas de las que podía hacer originalmente. Veremos cómo incorporar la capacidad de mover los precios y crear líneas de precio directamente en el gráfico. Algo que muchos considerarían extremadamente complicado y difícil de resolver. Sin embargo, verás que lo haremos con mucha facilidad y con un mínimo de esfuerzo. Solo hará falta detenerse y pensar un poco.
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 27): Herramienta de barrido de liquidez con filtro de media móvil
Comprender las sutiles dinámicas que subyacen a los movimientos de los precios puede proporcionarle una ventaja decisiva. Uno de estos fenómenos es el «liquidity sweep», una estrategia deliberada que utilizan los grandes operadores, especialmente las instituciones, para empujar los precios a través de niveles clave de soporte o resistencia. Estos niveles suelen coincidir con concentraciones de órdenes stop-loss de traders minoristas, lo que crea zonas de liquidez que los grandes operadores pueden aprovechar para entrar en posiciones voluminosas o salir de ellas con un deslizamiento mínimo.
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.
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.
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.
Dominar los Fair Value Gaps: formación, lógica y automatización del trading con Breakers y Market Structure Shifts (MSS)
Este artículo tiene como objetivo exponer y explicar los Fair Value Gaps, la lógica que subyace a su formación y aparición, y su aplicación al trading automatizado mediante Breakers y cambios en la estructura del mercado.
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().
De novato a experto: Dominando la generación de informes detallados de trading con Reporting EA
En este artículo, profundizamos en cómo mejorar los detalles de los informes de operaciones y cómo enviar el documento final por correo electrónico en formato PDF. Esto supone un avance respecto a nuestro trabajo anterior, ya que seguimos explorando cómo aprovechar el potencial de MQL5 y Python para generar y programar informes de operaciones en los formatos más adecuados y profesionales. Acompáñenos en este análisis para obtener más información sobre cómo optimizar la generación de informes de operaciones dentro del ecosistema MQL5.
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.
Procesos gaussianos en el aprendizaje automático (Parte 1): Modelo de clasificación en MQL5
En este artículo, analizaremos el modelo de clasificación de procesos gaussianos. Comenzaremos estudiando sus principios teóricos y luego pasaremos al desarrollo práctico de la biblioteca GP en MQL5.
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)
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.
Optimización Extrema — Extremal Optimization (EO)
En este artículo analizamos el algoritmo de Optimización Extremal (OE), un método de optimización inspirado en el modelo de criticidad autoorganizada de Bak-Sneppen, donde la evolución se produce mediante la eliminación de los componentes del sistema que representan el peor caso. La versión modificada del algoritmo para poblaciones específicas demuestra un cambio de enfoque, alejándose de los principios teóricos en favor de la eficiencia práctica, lo cual lleva a la creación de potentes herramientas computacionales
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.
De novato a experto: Noticias animadas utilizando MQL5 (VI) Estrategia de órdenes pendientes para el trading basado en noticias
En este artículo, nos centramos en la integración de una lógica de ejecución de órdenes basada en las noticias, lo que permite que el asesor experto actúe, y no solo informe. Acompáñanos a descubrir cómo implementar la ejecución automática de operaciones en MQL5 y convertir el asesor experto «News Headline» en un sistema de trading plenamente automatizado y capaz de responder en tiempo real. Los Asesores Expertos ofrecen ventajas significativas para los desarrolladores de algoritmos gracias a la amplia gama de funciones que admiten. Hasta ahora, nos hemos centrado en desarrollar una herramienta de presentación de noticias y eventos del calendario, que incluye paneles de análisis basados en inteligencia artificial e indicadores técnicos.
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.
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.
Red neuronal cuántica en MQL5 (Parte I): Creamos un archivo de inclusión
El artículo presenta un nuevo enfoque para la creación de sistemas de negociación basados en principios cuánticos e inteligencia artificial. El autor describe el desarrollo de una red neuronal única que va más allá del aprendizaje automático clásico al integrar la mecánica cuántica con las arquitecturas de inteligencia artificial modernas.
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.