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.
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.
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.
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: 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.
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.
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.
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.
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.
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.
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 29): Boom and Crash Interceptor EA
Descubre cómo el EA «Boom & Crash Interceptor» transforma tus gráficos en un sistema de alertas proactivo, capaz de detectar movimientos explosivos mediante análisis ultrarrápidos, detección de picos de volatilidad, confirmación de tendencias y filtros de zonas de pivote. Con las flechas verdes «Boom» y rojas «Crash», que te guían en cada decisión, esta herramienta elimina el ruido y te permite sacar partido de los picos del mercado como nunca antes. Descúbrelo y comprueba cómo funciona y por qué puede convertirse en tu próxima ventaja imprescindible.
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.
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.
Programación gráfica para principiantes (Parte II): Dominando la Interfaz, POO y Persistencia
El artículo transforma un minijuego en un sistema UI profesional orientado a EAs y paneles. Introduce una clase de botón con detección AABB y estados hover/pressed, resuelve el rebote de clic mediante transición 0→1 y ajusta colores con manipulación ARGB. Los datos persisten con FileReadStruct/FileWriteStruct en .bin. El resultado es una base compilable y reutilizable para interfaces robustas.
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.
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.
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 28): Herramienta de ruptura del rango de apertura
Al comienzo de cada sesión de negociación, la tendencia direccional del mercado a menudo solo se hace evidente después de que el precio supera el rango de apertura. En este artículo, exploramos cómo crear un Asesor Experto MQL5 que detecte y analice automáticamente las rupturas del rango de apertura, proporcionándole señales oportunas basadas en datos para realizar entradas intradía con confianza.
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.
Del básico al intermedio: Sobrecarga de operadores (V)
En este artículo vemos cómo manipular un código para implementar una solución completamente diferente de lo que muchos creen posible en MQL5. Una observación importante: para comprender adecuadamente este contenido, es necesario haber asimilado correctamente los conceptos tratados en los artículos anteriores.
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 8): Análisis de múltiples estrategias (2)
Únase a nosotros en nuestra próxima charla, donde combinaremos nuestras dos primeras estrategias de trading en una estrategia de trading conjunta. Demostraremos los diferentes esquemas posibles para combinar múltiples estrategias y también cómo ejercer control sobre el espacio de parámetros, para garantizar que la optimización efectiva siga siendo posible incluso a medida que aumenta el tamaño de nuestros parámetros.
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.
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 8): Análisis de múltiples estrategias
¿Cuál es la mejor manera de combinar múltiples estrategias para crear una estrategia de conjunto eficaz? Únete a nosotros en este debate mientras analizamos cómo integrar tres estrategias diferentes en nuestra aplicación de trading. Los operadores suelen emplear estrategias especializadas para abrir y cerrar posiciones, y queremos saber si nuestras máquinas pueden realizar esta tarea mejor. Para esta introducción nos familiarizaremos con las funcionalidades del probador de estrategias y los principios de la programación orientada a objetos que necesitaremos para esta tarea.
Reimaginando las estrategias clásicas en MQL5 (Parte 13): Llevando nuestra estrategia de cruce a nuevas dimensiones (Parte 2)
Únase a nosotros en nuestra discusión mientras buscamos mejoras adicionales para nuestra estrategia de cruce de medias móviles con el fin de reducir el retraso en nuestra estrategia de negociación a niveles más confiables, aprovechando nuestras habilidades en ciencia de datos. Es un hecho ampliamente estudiado que aumentar la dimensionalidad de los conjuntos de datos puede, en ocasiones, mejorar el rendimiento de los modelos de aprendizaje automático. Demostraremos qué significa esto en la práctica para usted como trader y le mostraremos cómo puede aprovechar este poderoso principio utilizando su terminal MetaTrader 5.
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.
Del básico al intermedio: Colas, listas y árboles (IV)
En este artículo, finalizaremos la parte relativa a la implementación y explicación de una lista enlazada. Sin embargo, la implementación mostrada aquí no incluirá cierto detalle que podemos implementar en una lista enlazada. Esto se verá más adelante, en otro artículo.
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.
Negociamos con opciones sin opciones (Parte 2): Aplicación en el trading real
En este artículo se analizan estrategias de opciones sencillas y su implementación en MQL5. Vamos a escribir un asesor experto básico que iremos modernizando y haciendo más complejo.
Del básico al intermedio: Sobrecarga de operadores (III)
En este artículo veremos cómo implementar la sobrecarga tanto de operadores lógicos como de operadores relacionales. Hacerlo requiere cierto cuidado y una buena dosis de atención. Un simple descuido al implementar la sobrecarga de estos operadores puede hacer que todo el código termine siendo completamente inservible. Si la sobrecarga presenta algún problema, toda una base de datos creada a partir de los resultados generados por el código deberá descartarse por completo o, como mínimo, revisarse íntegramente.
Del básico al intermedio: Sobrecarga de operadores (IV)
En este artículo, haremos una primera aproximación para mostrar cómo podemos implementar la sobrecarga del operador de subíndice y también del operador de asignación, intentando ofrecer un enfoque práctico e interesante para todos. Lo que veremos aquí es solo una parte de lo que aún pretendo mostrar y que está directamente relacionado con la sobrecarga de estos operadores.
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.
Del básico al intermedio: Clases (I)
En este artículo explicamos qué es una clase y por qué surgió este concepto. Aunque el tema es interesante, aquí nos centraremos en los principios que rigen la programación en MQL5. Este artículo es solo una introducción.
Del básico al intermedio: Clases (II)
Este artículo busca ser lo más didáctico posible, porque el tema que abordaremos ya suele generar bastante confusión. Por eso, mi querido lector, intenta poner en práctica lo que se explica aquí. Ante cualquier duda, no dejes de comentar, pues comprender los destructores no es precisamente una de las tareas más sencillas.
Del básico al intermedio: Colas, listas y árboles (VII)
En este artículo mostraremos y explicaremos con claridad cómo se elimina un nodo de un árbol. Este proceso suele confundir a los principiantes más que ayudarlos a comprender cómo se lleva a cabo y por qué debe realizarse de una forma determinada.
Del básico al intermedio: Colas, listas y árboles (VIII)
En este artículo veremos cómo implementar un algoritmo de equilibrado del árbol. Lo que presentaré aquí es mi propuesta para implementar este algoritmo. Existen muchos otros algoritmos con el mismo objetivo. Sin embargo, cada uno tiene sus ventajas y sus inconvenientes. Depende de ti, mi querido lector, estudiarlos y encontrar el que mejor se adapte a tus necesidades.
Del básico al intermedio: Clases (III)
En este artículo veremos cómo controlar mejor el código cuando trabajamos con programación orientada a objetos. Aunque apenas estamos comenzando a estudiar la programación orientada a objetos, lo que veremos aquí te ayudará a comprender diversos aspectos. También reducirá las dudas que puedan surgir más adelante.
Del básico al intermedio: Sobrecarga de operadores (II)
Este artículo puede parecer bastante confuso al principio por el contenido que presentaré. Sin embargo, he intentado presentar todo de la forma más sencilla y didáctica posible. Espero que comprendas lo que voy a mostrar aquí y que te resulte útil en algún momento.
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.
Del básico al intermedio: Colas, listas y árboles (V)
En este artículo, implementamos los primeros componentes de una estructura arbórea. Como sé que esta estructura puede resultar extremadamente compleja cuando se empieza a aprender, la implementaremos con calma y paso a paso. Así, todos podrán entender cómo funciona un árbol y cuál es el mejor momento para utilizarlo.
Del básico al intermedio: Colas, listas y árboles (VI)
En este artículo retomaremos la implementación de un árbol. Ahora que conocemos los conceptos básicos sobre el funcionamiento de los constructores y destructores, finalmente podremos corregir el código presentado en el último artículo. Prepárate para una verdadera aventura en la programación con MQL5.