Creación de un modelo de restricción de tendencia de velas (Parte 9): Asesor Experto de múltiples estrategias (III)
¡Bienvenidos a la tercera entrega de nuestra serie sobre tendencias! Hoy profundizaremos en el uso de la divergencia como estrategia para identificar puntos de entrada óptimos dentro de la tendencia diaria predominante. También presentaremos un mecanismo de bloqueo de ganancias personalizado, similar a un stop-loss dinámico, pero con mejoras únicas. Además, actualizaremos el asesor experto Trend Constraint a una versión más avanzada, incorporando una nueva condición de ejecución comercial para complementar las existentes. A medida que avanzamos, continuaremos explorando la aplicación práctica de MQL5 en el desarrollo algorítmico, brindándole información más detallada y técnicas prácticas.
Desarrollamos un asesor experto multidivisa (Parte 12): Gestor de riesgos como en las empresas de prop-trading
Ya disponemos de un cierto mecanismo de control de la reducción en el asesor experto que estamos desarrollando. Pero este es de naturaleza probabilística, ya que se basa en resultados de pruebas sobre los datos históricos de los precios. Por lo tanto, las reducciones, aunque con una probabilidad pequeña, pueden superar a veces los valores máximos previstos. Vamos a intentar añadir un mecanismo que garantice el nivel de reducción especificado.
Creación de un asesor experto integrado de MQL5 y Telegram (Parte 5): Envío de comandos desde Telegram a MQL5 y recepción de respuestas en tiempo real
En este artículo, creamos varias clases para facilitar la comunicación en tiempo real entre MQL5 y Telegram. Nos centramos en recuperar comandos de Telegram, decodificarlos e interpretarlos y enviar respuestas apropiadas. Al final, nos aseguramos de que estas interacciones se prueben eficazmente y estén operativas dentro del entorno comercial.
Cómo desarrollar un agente de aprendizaje por refuerzo en MQL5 con Integración RestAPI (Parte 2): Funciones MQL5 para interacción HTTP con API REST del juego de tres en raya
Este artículo detalla cómo MQL5 puede interactuar con Python y FastAPI, utilizando llamadas HTTP en MQL5 para comunicarse con un juego de tres en raya en Python. En él se discute la creación de una API con FastAPI para esta integración e se incluye un script de prueba en MQL5, resaltando la versatilidad del MQL5, la simplicidad del Python y la eficiencia del FastAPI en la conexión de diferentes tecnologías para soluciones innovadoras.
Teoría de categorías en MQL5 (Parte 14): Funtores con orden lineal
Este artículo de la serie sobre la implementación de la teoría de categorías en MQL5 está dedicado a los funtores. Hoy veremos cómo asignar el orden lineal a un conjunto utilizando funtores al analizar dos conjuntos de datos que parecen no tener relación entre sí.
Operar con noticias de manera sencilla (Parte 3): Ejecución de operaciones
En este artículo, nuestro experto en negociación de noticias comenzará a abrir operaciones basándose en el calendario económico almacenado en nuestra base de datos. Además, mejoraremos los gráficos del experto para mostrar información más relevante sobre los próximos acontecimientos del calendario económico.
Algoritmos de optimización de la población: Modificamos la forma y desplazamos las distribuciones de probabilidad y realizamos pruebas con el cefalópodo inteligente (Smart Cephalopod, SC)
Este artículo investigará qué efectos provoca el cambio de la forma de las distribuciones de probabilidad en el rendimiento de los algoritmos de optimización. Hoy realizaremos experimentos con el algoritmo de prueba "Smart Cephalopod" (SC) para evaluar la eficacia de distintas distribuciones de probabilidad en el contexto de problemas de optimización.
Desarrollamos un asesor experto multidivisa (Parte 11): Comenzamos a automatizar el proceso de optimización
Para obtener un buen EA, tenemos que seleccionar muchos conjuntos adecuados de parámetros de instancias de estrategias comerciales para él. Esto puede hacerse manualmente ejecutando la optimización en diferentes símbolos y seleccionando después los mejores resultados. Pero resulta mejor delegar el trabajo en un programa y dedicarse a actividades más productivas.
Integración de MQL5 con paquetes de procesamiento de datos (Parte 2): Aprendizaje automático (Machine Learning, ML) y análisis predictivo
En nuestra serie sobre la integración de MQL5 con paquetes de procesamiento de datos, nos adentramos en la poderosa combinación del aprendizaje automático y el análisis predictivo. Exploraremos cómo conectar a la perfección MQL5 con librerías populares de aprendizaje automático, para habilitar sofisticados modelos predictivos para los mercados financieros.
Teoría de Categorías en MQL5 (Parte 10): Grupos monoidales
El presente artículo continúa la serie sobre la implementación de la teoría de categorías en MQL5. Hoy analizaremos los grupos monoidales como un medio que normaliza conjuntos de monoides y los hace más comparables entre una gama más amplia de conjuntos de monoides y tipos de datos.
Creación de un asesor experto integrado de MQL5 y Telegram (Parte 4): Modular las funciones del código para mejorar su reutilización
En este artículo, refactorizamos el código existente utilizado para enviar mensajes y capturas de pantalla de MQL5 a Telegram organizándolo en funciones modulares y reutilizables. Esto agilizará el proceso, permitiendo una ejecución más eficiente y una gestión del código más sencilla en múltiples instancias.
Optimización de portafolios en Fórex: Síntesis de VaR y la teoría de Markowitz
¿Cómo funciona la negociación de portafolios en Fórex? ¿Cómo pueden sintetizarse la teoría de portafolios de Markowitz para optimizar las proporciones de los portafolios y el modelo VaR para optimizar el riesgo de los portafolios? Hoy crearemos un código de teoría de portafolios en el que, por un lado, obtendremos un riesgo bajo y, por otro, una rentabilidad aceptable a largo plazo.
Algoritmo de optimización aritmética (AOA): De AOA a SOA (Simple Optimization Algorithm)
En este artículo, presentamos el algoritmo de optimización aritmética (AOA) basado en operaciones aritméticas simples: suma, resta, multiplicación y división. Estas operaciones matemáticas básicas sirven como base para encontrar soluciones óptimas a diversos problemas.
Modelos de regresión no lineal en la bolsa de valores
Modelos de regresión no lineal en la bolsa de valores: ¿Es posible predecir los mercados financieros? Consideremos la creación de un modelo para pronosticar precios para EURUSD y crear dos robots basados en él: en Python y MQL5.
Redes neuronales: así de sencillo (Parte 37): Atención dispersa (Sparse Attention)
En el artículo anterior, analizamos los modelos relacionales que utilizan mecanismos de atención en su arquitectura. Una de las características de dichos modelos es su mayor uso de recursos informáticos. Este artículo propondrá uno de los posibles mecanismos para reducir el número de operaciones computacionales dentro del bloque Self-Attention o de auto-atención, lo cual aumentará el rendimiento del modelo en su conjunto.
Desarrollamos un Asesor Experto multidivisas (Parte 20): Ordenando la cadena de etapas de optimización automática de proyectos (I)
Ya hemos creado bastantes componentes que ayudan a organizar la optimización automática. Durante la creación, seguimos la estructura cíclica tradicional: desde la creación de código mínimo funcional hasta la refactorización y la obtención de código mejorado. Es hora de empezar a limpiar nuestra base de datos, que también es un componente clave en el sistema que estamos creando.
Desarrollamos un asesor experto multidivisa (Parte 13): Automatización de la segunda fase: selección en grupos
Ya hemos puesto en marcha la primera fase del proceso de optimización automatizada. Para distintos símbolos y marcos temporales, realizamos la optimización utilizando varios criterios y almacenamos información sobre los resultados de cada pasada en la base de datos. Ahora vamos a seleccionar los mejores grupos de conjuntos de parámetros de entre los encontrados en la primera etapa.
Simulación de mercado (Parte 06): Transfiriendo información desde MetaTrader 5 hacia Excel
A muchas personas, especialmente a los no programadores, les resulta muy difícil transferir información entre MetaTrader 5 y otros programas. Uno de esos programas es Excel. Muchos utilizan Excel para gestionar y controlar sus riesgos, ya que es un programa muy bueno y fácil de aprender, incluso para quienes no son programadores de VBA. A continuación, voy a mostrar cómo establecer la comunicación entre MetaTrader 5 y Excel (un método muy sencillo).
Asistente de Connexus (Parte 5): Métodos HTTP y códigos de estado
En este artículo, comprenderemos los métodos HTTP y los códigos de estado, dos piezas muy importantes de la comunicación entre el cliente y el servidor en la web. Comprender lo que hace cada método le brinda el control para realizar solicitudes con mayor precisión, informando al servidor qué acción desea realizar y haciéndolo más eficiente.
Teoría de Categorías en MQL5 (Parte 5): Ecualizadores
La teoría de categorías es un apartado diverso y en expansión de las matemáticas, que solo recientemente ha comenzado a ser trabajado por la comunidad MQL5. Esta serie de artículos tiene por objetivo repasar algunos de sus conceptos para crear una biblioteca abierta y seguir usando este maravilloso apartado en la creación de estrategias comerciales.
Creación de un modelo de restricción de tendencia de velas (Parte 5): Sistema de notificaciones (Parte III)
Esta parte de la serie de artículos está dedicada a la integración de WhatsApp con MetaTrader 5 para las notificaciones. Hemos incluido un diagrama de flujo para simplificar la comprensión y analizaremos la importancia de las medidas de seguridad en la integración. El objetivo principal de los indicadores es simplificar el análisis mediante la automatización, y deben incluir métodos de notificación para alertar a los usuarios cuando se cumplan determinadas condiciones. Descubra más en este artículo.
Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD (Parte 4)
Este artículo supone la cuarta parte de la serie que describe las etapas de desarrollo de un cliente MQL5 nativo para el protocolo MQTT. En esta parte, veremos las propiedades de MQTT v5.0, su semántica, cómo leemos algunas de ellas, y ofreceremos un breve ejemplo de cómo se pueden usar las propiedades para ampliar el protocolo.
Creación de un modelo de restricción de tendencia de velas (Parte 5): Sistema de notificaciones (Parte I)
Desglosaremos el código principal de MQL5 en fragmentos de código especificados para ilustrar la integración de Telegram y WhatsApp para recibir notificaciones de señales del indicador Trend Constraint que estamos creando en esta serie de artículos. Esto ayudará a los traders, tanto novatos como experimentados, a comprender el concepto con facilidad. En primer lugar, vamos a cubrir la configuración de MetaTrader 5 para las notificaciones y su importancia para el usuario. Esto ayudará a los desarrolladores a tomar notas para aplicarlas en sus sistemas.
Creación de un Panel de administración de operaciones en MQL5 (Parte III): Mejora de la interfaz gráfica de usuario con estilización visual (I)
En este artículo, nos centraremos en el estilo visual de la interfaz gráfica de usuario (GUI) de nuestro Panel de Administrador de Trading utilizando MQL5. Exploraremos diversas técnicas y funciones disponibles en MQL5 que permiten personalizar y optimizar la interfaz, garantizando que satisfaga las necesidades de los operadores al tiempo que mantiene una estética atractiva.
Indicador de fuerza y dirección de la tendencia en barras 3D
Hoy estudiaremos un nuevo enfoque del análisis de las tendencias del mercado basado en la visualización tridimensional y el análisis tensorial de la microestructura del mercado.
Características del Wizard MQL5 que debe conocer (Parte 22): Redes generativas adversativas (RGAs) condicionales
Las redes generativas antagónicas son un emparejamiento de redes neuronales que se entrenan entre sí para obtener resultados más precisos. Adoptamos el tipo condicional de estas redes mientras buscamos una posible aplicación en la previsión de series de tiempo financieras dentro de una clase de señales expertas.
Características del Wizard MQL5 que debe conocer (Parte 38): Bandas de Bollinger
Las bandas de Bollinger son un indicador de envolvente muy común utilizado por muchos traders para colocar y cerrar operaciones manualmente. Examinamos este indicador considerando las diferentes señales posibles que genera, y vemos cómo se podrían poner en uso en un Asesor Experto montado por un asistente.
Algoritmo de búsqueda por vecindad — Across Neighbourhood Search (ANS)
El artículo revela el potencial del algoritmo ANS como paso importante en el desarrollo de métodos de optimización flexibles e inteligentes capaces de considerar la especificidad del problema y la dinámica del entorno en el espacio de búsqueda.
Modelos ocultos de Markov para la predicción de la volatilidad siguiendo tendencias
Los modelos ocultos de Markov (Hidden Markov Models, HMM) son potentes herramientas estadísticas que identifican los estados subyacentes del mercado mediante el análisis de los movimientos observables de los precios. En el ámbito bursátil, los HMM mejoran la predicción de la volatilidad y proporcionan información para las estrategias de seguimiento de tendencias mediante la modelización y la anticipación de los cambios en los regímenes de mercado. En este artículo, presentaremos el procedimiento completo para desarrollar una estrategia de seguimiento de tendencias que utiliza HMM para predecir la volatilidad como filtro.
Algoritmos de optimización de la población: Evolución de grupos sociales (Evolution of Social Groups, ESG)
En este artículo analizaremos el principio de construcción de algoritmos multipoblacionales y como ejemplo de este tipo de algoritmos consideraremos la evolución de grupos sociales (ESG), un nuevo algoritmo de autor. Así, analizaremos los conceptos básicos, los mecanismos de interacción con la población y las ventajas de este algoritmo, y revisaremos su rendimiento en problemas de optimización.
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 7): Signal Pulse EA
Aproveche todo el potencial del análisis multitemporal con «Signal Pulse», un asesor experto MQL5 que integra las bandas de Bollinger y el oscilador estocástico para ofrecer señales de trading precisas y de alta probabilidad. Descubra cómo implementar esta estrategia y visualizar eficazmente las oportunidades de compra y venta utilizando flechas personalizadas. Ideal para operadores que buscan mejorar su capacidad de juicio mediante análisis automatizados en múltiples marcos temporales.
Desarrollamos un asesor experto multidivisa (Parte 9): Recopilamos los resultados de optimización de las instancias individuales de una estrategia comercial
Hoy vamos a esbozar los principales pasos para desarrollar nuestro EA. Uno de los primeros será realizar una optimización en una sola instancia de la estrategia comercial desarrollada. Así, intentaremos reunir en un solo lugar toda la información necesaria sobre las pasadas del simulador durante la optimización.
Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD (Parte 3)
El presente artículo supone la tercera parte de la serie que describe las etapas de desarrollo de un cliente MQL5 nativo para el protocolo MQTT. En esta ocasión, hablaremos con detalle sobre la aplicación de un desarrollo basado en pruebas para implementar el intercambio de paquetes CONNECT/CONNACK. Al final de este paso, nuestro cliente DEBERÁ poder comportarse adecuadamente al lidiar con cualquier posible resultado del servidor al intentar conectarse.
Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD (Parte 2)
El artículo forma parte de una serie que describe las etapas de desarrollo de un cliente MQL5 nativo para el protocolo MQTT. En esta parte describiremos la organización de nuestro código, los primeros archivos de encabezado y las clases, así como la escritura de las pruebas. Este artículo también incluirá notas breves sobre un desarrollo basado en las pruebas y su aplicación a este proyecto.
Desarrollamos un asesor experto multidivisa (Parte 19): Creando las etapas implementadas en Python
Hasta ahora, hemos analizado la automatización del inicio de los procedimientos de optimización secuencial de los asesores expertos exclusivamente en el simulador de estrategias estándar. Pero, ¿qué ocurrirá si, entre una ejecución y otra, queremos procesar los datos ya adquiridos con otras herramientas? Hoy intentaremos añadir la posibilidad de crear nuevos pasos de optimización ejecutados por programas escritos en Python.
Clústeres de series temporales en inferencia causal
Los algoritmos de agrupamiento en el aprendizaje automático son importantes algoritmos de aprendizaje no supervisado que pueden dividir los datos originales en grupos con observaciones similares. Utilizando estos grupos, puede analizar el mercado de un grupo específico, buscar los grupos más estables utilizando nuevos datos y hacer inferencias causales. El artículo propone un método original de agrupación de series temporales en Python.
Integración de MQL5 con paquetes de procesamiento de datos (Parte 1): Análisis avanzado de datos y procesamiento estadístico
La integración permite un flujo de trabajo continuo en el que los datos financieros sin procesar de MQL5 se pueden importar a paquetes de procesamiento de datos como Jupyter Lab para realizar análisis avanzados que incluyen pruebas estadísticas.
Implementación en MQL5 de la prueba de Augmented Dickey-Fuller (ADF)
En este artículo demostramos la implementación de la prueba Dickey-Fuller aumentada (ADF, por sus siglas en inglés), y la aplicamos para realizar pruebas de cointegración utilizando el método Engle-Granger.
Operar con noticias de manera sencilla (Parte 6): Ejecución de operaciones (III)
En este artículo se implementará la filtración de noticias para eventos de noticias individuales basándose en sus identificadores. Además, se mejorarán las consultas SQL anteriores para proporcionar información adicional o reducir el tiempo de ejecución de la consulta. Además, se hará funcional el código creado en los artículos anteriores.
Predicción de tendencias con LSTM para estrategias de seguimiento de tendencias
La memoria a corto y largo plazo (Long Short-Term Memory, LSTM) es un tipo de red neuronal recurrente (Recurrent Neural Network, RNN) diseñada para modelar datos secuenciales capturando de manera efectiva las dependencias a largo plazo y abordando el problema del gradiente que se desvanece. En este artículo, exploraremos cómo utilizar LSTM para predecir tendencias futuras, mejorando el rendimiento de las estrategias de seguimiento de tendencias. El artículo tratará sobre la introducción de conceptos clave y la motivación detrás del desarrollo, la obtención de datos de MetaTrader 5, el uso de esos datos para entrenar el modelo en Python, la integración del modelo de aprendizaje automático en MQL5 y la reflexión sobre los resultados y las aspiraciones futuras basadas en pruebas estadísticas retrospectivas.