Formulación Genérica de Optimización (GOF, Generic Optimization Formulation) utilizando el `Criterio máximos del usuario` (Custom Max) con múltiples restricciones en el Probador de Estrategias
En este artículo presentaremos una forma de implementar problemas de optimización con múltiples objetivos y restricciones al seleccionar «Custom Max» en la pestaña Setting del terminal MetaTrader 5. Como ejemplo, el problema de optimización podría ser: Maximizar el Factor de Beneficio, el Beneficio Neto y el Factor de Recuperación, de forma que la reducción sea inferior al 10%, el número de pérdidas consecutivas sea inferior a 5 y el número de operaciones por semana sea superior a 5.
Redes neuronales: así de sencillo (Parte 93): Predicción adaptativa en los ámbitos de la frecuencia y el tiempo (Parte final)
En este artículo, continuamos la aplicación de los planteamientos del modelo ATFNet, que combina de forma adaptativa los resultados de 2 bloques (frecuencia y tiempo) dentro de la predicción de series temporales.
Creación de un Panel de administración de operaciones en MQL5 (Parte VIII): Panel de análisis
Hoy profundizamos en la incorporación de métricas de trading útiles dentro de una ventana especializada integrada en el EA del Panel de Administración.
Este debate se centra en la implementación de MQL5 para desarrollar un panel de análisis y destaca el valor de los datos que proporciona a los administradores de operaciones bursátiles. El impacto es principalmente educativo, ya que se extraen valiosas lecciones del proceso de desarrollo, lo que beneficia tanto a los desarrolladores noveles como a los experimentados. Esta función demuestra las oportunidades ilimitadas que ofrece esta serie de desarrollo al equipar a los gestores comerciales con herramientas de software avanzadas. Además, exploraremos la implementación de las clases PieChart y ChartCanvas como parte de la continua expansión de las capacidades del panel del administrador de operaciones.
Integración de Discord con MetaTrader 5: Creación de un robot comercial con notificaciones en tiempo real
En este artículo veremos cómo integrar MetaTrader 5 y el servidor Discord para recibir notificaciones de transacciones en tiempo real desde cualquier parte del mundo. Además, aprenderemos a configurar la plataforma y Discord para asegurarnos de que las alertas se envían a Discord, y hablaremos de los problemas de seguridad que surgen al utilizar WebRequest y webhooks para estos métodos de notificación.
Introducción a MQL5 (Parte 11): Guía de trabajo con indicadores incorporados en MQL5 para principiantes (II)
Descubra cómo desarrollar un Asesor Experto (Expert Advisor, EA) en MQL5 utilizando múltiples indicadores como el RSI, la media móvil y el oscilador estocástico para detectar divergencias alcistas y bajistas ocultas. En este artículo aprenda a implementar una gestión de riesgos eficaz y a automatizar las operaciones con ejemplos detallados y código fuente totalmente comentado con fines educativos.
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 11): EA de señales Heikin Ashi
MQL5 ofrece infinitas oportunidades para desarrollar sistemas de trading automatizados adaptados a sus preferencias. ¿Sabías que incluso puede realizar cálculos matemáticos complejos? En este artículo, presentamos la técnica japonesa Heikin-Ashi como una estrategia de trading automatizada.
Desarrollo de un sistema de repetición (Parte 49): Esto complica las cosas (I)
En este artículo complicaremos un poco las cosas. Utilizando lo que vimos en los artículos anteriores, comenzaremos a liberar el archivo de plantilla para que el usuario pueda utilizar una plantilla personalizada. Sin embargo, haré los cambios poco a poco, ya que también modificaré el indicador con el fin de reducir la carga de MetaTrader 5.
Desarrollando un cliente MQTT para MetaTrader 5: metodología TDD (Parte 6)
Este artículo supone la sexta parte de la serie que describe las etapas de desarrollo de un cliente MQL5 nativo para el protocolo MQTT 5.0. En esta parte, describiremos los principales cambios en nuestra primera refactorización, obteniendo un borrador de trabajo de nuestras clases de construcción de paquetes, creando los paquetes PUBLISH y PUBACK y la semántica de los códigos de motivo PUBACK.
Del básico al intermedio: Punto flotante
Este artículo es una breve introducción a lo que sería el punto flotante. Como este contenido es muy complicado, te aconsejo leer con calma y atención. No esperes dominar el sistema de punto flotante de manera rápida. El mismo solo se domina con el tiempo y la experiencia de uso. Pero este artículo te ayudará a entender por qué, a veces, tu aplicación reporta un resultado diferente del esperado originalmente. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe considerarse una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
Observador de Connexus (Parte 8): Cómo agregar un observador de solicitudes
En esta última entrega de nuestra serie de bibliotecas Connexus, exploramos la implementación del patrón Observer, así como refactorizaciones esenciales de rutas de archivos y nombres de métodos. Esta serie cubrió todo el desarrollo de Connexus, diseñado para simplificar la comunicación HTTP en aplicaciones complejas.
Aprendizaje automático y Data Science (Parte 33): Pandas Dataframe en MQL5, recopilación de datos para facilitar el uso de ML
Cuando se trabaja con modelos de aprendizaje automático, es esencial garantizar la coherencia de los datos utilizados para el entrenamiento, la validación y las pruebas. En este artículo, crearemos nuestra propia versión de la biblioteca Pandas en MQL5 para garantizar un enfoque unificado para el manejo de datos de aprendizaje automático, con el fin de asegurar que se apliquen los mismos datos dentro y fuera de MQL5, donde se lleva a cabo la mayor parte del entrenamiento.
Introducción a MQL5 (Parte 13): Guía para principiantes sobre cómo crear indicadores personalizados (II)
Este artículo le guía a través del proceso de creación de un indicador Heikin Ashi personalizado desde cero y muestra cómo integrar indicadores personalizados en un EA. Abarca cálculos de indicadores, lógica de ejecución de operaciones y técnicas de gestión de riesgos para mejorar las estrategias de negociación automatizadas.
Optimización de Battle Royale — Battle Royale Optimizer (BRO)
El artículo describe un innovador enfoque de optimización que combina la competición espacial de soluciones con el estrechamiento adaptativo del espacio de búsqueda, lo cual convierte al Battle Royale Optimizer en una prometedora herramienta para el análisis financiero.
Redes neuronales: así de sencillo (Parte 76): Exploración de diversos patrones de interacción con Multi-future Transformer
Este artículo continúa con el tema de la predicción del próximo movimiento de los precios. Le invito a conocer la arquitectura del Transformador Multifuturo. Su idea principal es descomponer la distribución multimodal del futuro en varias distribuciones unimodales, lo que permite simular eficazmente varios modelos de interacción entre agentes en la escena.
Características del Wizard MQL5 que debe conocer (Parte 37): Regresión de procesos gaussianos con núcleos Matérn y lineales
Los núcleos lineales son la matriz más simple de su tipo utilizada en el aprendizaje automático para regresión lineal y máquinas de vectores de soporte. Por otro lado, el kernel Matérn es una versión más versátil de la función de base radial que analizamos en un artículo anterior, y es apto para mapear funciones que no son tan suaves como asumiría la RBF. Creamos una clase de señal personalizada que utiliza ambos núcleos para pronosticar condiciones largas y cortas.
Desarrollamos un asesor experto multidivisas (Parte 23): Ordenando la cadena de etapas de optimización automática de proyectos (II)
Hoy nuestro objetivo consiste en crear un sistema de optimización periódica automática de las estrategias comerciales utilizadas en un asesor experto final. El sistema se vuelve más complejo a medida que se desarrolla, por lo que de vez en cuando debemos examinarlo en su conjunto para detectar cuellos de botella y soluciones subóptimas.
Redes neuronales en el trading: Jerarquía de habilidades para el comportamiento adaptativo de agentes (HiSSD)
Hoy nos familiarizaremos con el framework HiSSD, que combina el aprendizaje jerárquico y los enfoques multiagente para crear sistemas adaptativos. En este artículo, detallaremos cómo este enfoque innovador ayuda a identificar patrones ocultos en los mercados financieros y a optimizar las estrategias comerciales en un entorno descentralizado.
Redes neuronales en el trading: Framework de predicción cruzada de dominios de series temporales (TimeFound)
En este artículo, construiremos paso a paso el núcleo del modelo inteligente TimeFound, adaptado a tareas de pronóstico de series temporales del mundo real. Si está interesado en la implementación práctica de algoritmos de parcheo de redes neuronales en MQL5, está en el lugar correcto.
Desarrollo de un sistema de repetición (Parte 66): Presionando play en el servicio (VII)
En este artículo, implementaremos una primera solución para identificar cuándo puede aparecer una nueva barra en el gráfico. Esta solución es aplicable a diversas situaciones. Sin embargo, comprender su desarrollo puede ayudarte a entender varios aspectos. El contenido expuesto aquí tiene como único propósito la enseñanza. En ningún caso debe considerarse una aplicación cuyo objetivo no sea el aprendizaje y el estudio de los conceptos presentados.
Del básico al intermedio: Precedencia de operadores
Se trata, sin duda, del tema más complicado de explicar únicamente con la parte teórica. Por esta razón, te aconsejo que practiques lo que se mostrará aquí. Aunque al principio todo parezca simple, esta cuestión sobre los operadores solo se comprenderá bien con la práctica aliada a un estudio constante. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe considerarse una aplicación cuya finalidad no sea aprender y estudiar los conceptos mostrados.
Criterio de independencia de Hilbert-Schmidt (HSIC)
El presente artículo analiza la prueba estadística no paramétrica HSIC (Criterio de Independencia de Hilbert-Schmidt) diseñada para identificar dependencias lineales y no lineales en los datos. Para el cálculo de HSIC en el lenguaje MQL5, se propone la implementación de dos algoritmos: la prueba de permutación exacta y la aproximación gamma. La eficacia de los métodos se demuestra en el modelado de datos sintéticos de una relación no lineal entre las características y la variable objetivo.
Redes neuronales: así de sencillo (Parte 96): Extracción multinivel de características (MSFformer)
Extraer y combinar eficazmente las dependencias a largo plazo y las características a corto plazo sigue siendo una tarea importante en el análisis de series temporales. Para crear modelos predictivos precisos y fiables deberemos comprender e integrar estos adecuadamente.
Redes neuronales en el trading: Modelos bidimensionales del espacio de enlaces (Final)
Continuamos nuestra introducción al innovador framework Chimera, un modelo bidimensional de espacio de estados que utiliza tecnologías de redes neuronales para analizar series temporales multidimensionales. Este método proporciona una gran precisión de predicción con un bajo costo computacional.
Características del Wizard MQL5 que debe conocer (Parte 17): Negociación con multidivisas
La negociación con varias divisas no está disponible por defecto cuando se crea un asesor experto mediante el asistente. Examinamos dos posibles trucos que los operadores pueden utilizar para poner a prueba sus ideas con más de un símbolo a la vez.
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 08): Bloqueo del indicador
En este artículo te mostraré cómo bloquear un indicador, simplemente utilizando el lenguaje MQL5, de una forma muy interesante y sorprendente.
Reimaginando las estrategias clásicas (Parte VIII): Los mercados de divisas y metales preciosos en el USDCAD
En esta serie de artículos, revisamos estrategias de negociación bien conocidas para ver si podemos mejorarlas utilizando IA. En el artículo de hoy comprobaremos si existe una relación fiable entre los metales preciosos y las divisas.
Selección de características paso a paso en MQL5
En este artículo, presentamos una versión modificada de la selección de características paso a paso, implementada en MQL5. Este enfoque se basa en las técnicas descritas en Algoritmos modernos de minería de datos en C++ y CUDA C de Timothy Masters.
Redes neuronales en el trading: Integración de la teoría del caos en la previsión de series temporales (Final)
Seguimos integrando en los modelos comerciales los métodos propuestos por los autores del framework Attraos. Recordemos que este framework usa conceptos de la teoría del caos para resolver problemas de previsión de series temporales, interpretándolos como proyecciones de sistemas dinámicos caóticos multidimensionales.
Negociamos con opciones sin opciones (Parte 1): Teoría básica y emulación a través de activos subyacentes
El artículo describe una variante de emulación de opciones a través de un activo subyacente, implementada en el lenguaje de programación MQL5. Asimismo, se comparan las ventajas y desventajas del enfoque elegido con opciones bursátiles reales utilizando el ejemplo del mercado de futuros FORTS de la bolsa de Moscú MOEX y la bolsa de criptomonedas Bybit.
El método de manejo de datos en grupo: implementación del algoritmo combinatorio en MQL5
En este artículo continuamos nuestra exploración de la familia de algoritmos del método de manejo de datos en grupo, con la implementación del algoritmo combinatorio junto con su encarnación refinada, el algoritmo combinatorio selectivo en MQL5.
Ingeniería de características con Python y MQL5 (Parte II): El ángulo del precio
Hay muchas publicaciones en el foro MQL5 pidiendo ayuda para calcular la pendiente de los cambios de precios. Este artículo demostrará una forma posible de calcular el ángulo formado por los cambios de precio en cualquier mercado en el que desee operar. Además, responderemos si vale la pena invertir el esfuerzo y el tiempo extra para diseñar esta nueva característica. Exploraremos si la pendiente del precio puede mejorar la precisión de nuestro modelo de IA al pronosticar el par USDZAR en M1.
Características del Wizard MQL5 que debe conocer (Parte 45): Aprendizaje por refuerzo con Monte-Carlo
Monte-Carlo es el cuarto algoritmo diferente de aprendizaje por refuerzo que estamos considerando con el objetivo de explorar su implementación en los asesores expertos ensamblados por el asistente. Aunque se basa en el muestreo aleatorio, ofrece numerosas posibilidades de simulación que podemos aprovechar.
Redes neuronales en el trading: Detección de anomalías en el dominio de la frecuencia (Final)
Seguimos trabajando en la aplicación de los planteamientos del framework CATCH, que combina la transformada de Fourier y el mecanismo de parcheo de frecuencias para posibilitar una detección precisa de las anomalías del mercado. En este artículo, finalizaremos nuestra propia visión de los enfoques propuestos y probaremos los nuevos modelos con datos históricos reales.
Desarrollo de un sistema de repetición (Parte 46): Proyecto Chart Trade (V)
¿Cansado de perder tiempo buscando ese archivo que es necesario para que tu aplicación funcione? ¿Qué tal si incluimos todo en el ejecutable? Así nunca perderás tiempo buscando las cosas. Sé que muchos utilizan exactamente esa forma de distribuir y guardar las cosas. Pero existe una manera mucho más adecuada. Al menos en lo que respecta a la distribución de ejecutables y almacenamiento de los mismos. La forma que explicaré aquí, puede ser de gran ayuda. Ya que puedes usar el propio MetaTrader 5 como un gran ayudante, así como el MQL5. No es algo tan complejo ni difícil de entender.
Explorando técnicas avanzadas de aprendizaje automático en la estrategia Darvas Box Breakout
La estrategia Darvas Box Breakout, creada por Nicolas Darvas, es un enfoque técnico de negociación que detecta posibles señales de compra cuando el precio de una acción sube por encima de un rango establecido, lo que sugiere un fuerte impulso alcista. En este artículo, aplicaremos este concepto estratégico como ejemplo para explorar tres técnicas avanzadas de aprendizaje automático. Entre ellas se incluyen el uso de un modelo de aprendizaje automático para generar señales en lugar de filtrar operaciones, el empleo de señales continuas en lugar de discretas y el uso de modelos entrenados en diferentes marcos temporales para confirmar las operaciones.
Del básico al intermedio: Plantilla y Typename (V)
En este artículo, veremos un último caso simple de uso de plantillas, pero también veremos cuál es la utilidad y por qué la necesidad de utilizar typename en tus códigos. Aunque este artículo pueda parecer un tanto complicado al principio, es necesario comprenderlo adecuadamente para que futuras aplicaciones que utilicen plantilla y typename, sean, de hecho, comprendidas.
Formulación de un Asesor Experto Multipar Dinámico (Parte 2): Diversificación y optimización de carteras
La diversificación y optimización de la cartera distribuye estratégicamente las inversiones entre múltiples activos para minimizar el riesgo, al tiempo que selecciona la combinación ideal de activos para maximizar la rentabilidad basándose en métricas de rendimiento ajustadas al riesgo.
Movimiento de precios: Modelos matemáticos y análisis técnico
Pronosticar los movimientos de los pares de divisas es un factor importante para el éxito en el trading. Este artículo explora varios modelos de movimiento de precios, analiza sus ventajas y desventajas y además explora su aplicación práctica en estrategias comerciales. Asimismo, consideraremos enfoques que nos permitirán identificar patrones ocultos y mejorar la precisión de los pronósticos.
Desarrollo de un sistema de repetición (Parte 68): Ajuste del tiempo (I)
A continuación, continuaremos con el trabajo de lograr que el indicador del mouse nos informe sobre el tiempo restante de la barra en momentos de baja liquidez. Aunque a primera vista parece sencillo, verás que esta tarea es mucho más complicada. Esto se debe a algunos obstáculos que tendremos que superar. Por eso, es importante que sigas esta primera parte para poder comprender las siguientes.
Selección de características y reducción de dimensionalidad mediante componentes principales
El artículo profundiza en la implementación de un algoritmo modificado de análisis de componentes por selección ascendente, inspirándose en la investigación presentada en «Forward Selection Component Analysis: Algorithms and Applications» (Análisis de componentes por selección ascendente: algoritmos y aplicaciones), de Luca Puggini y Sean McLoone.