Optimización paralela con el método de enjambre de partículas (Particle Swarm Optimization)
El presente artículo describimos un modo de optimización rápida usando el método de enjambre de partículas, y presentamos una implementación en MQL lista para utilizar tanto en el modo de flujo único dentro de un EA, como en el modo paralelo de flujo múltiples como un complemento ejecutado en los agentes locales del simulador.
Redes neuronales: así de sencillo (Parte 14): Clusterización de datos
Lo confieso: ha pasado más de un año desde que publiqué el último artículo. En tanto tiempo, me ha sido posible repensar mucho, desarrollar nuevos enfoques. Y en este nuevo artículo, me gustaría alejarme un poco del método anteriormente usado de aprendizaje supervisado, y sugerir una pequeña inmersión en los algoritmos de aprendizaje no supervisado. En particular, vamos a analizar uno de los algoritmos de clusterización, las k-medias.
La teoría del caos en el trading (Parte 1): Introducción, aplicación a los mercados financieros e indicador de Lyapunov
¿Puede aplicarse la teoría del caos a los mercados financieros? En este artículo analizaremos en qué se diferencian la teoría clásica del caos y los sistemas caóticos del concepto propuesto por Bill Williams.
Redes neuronales: así de sencillo (Parte 31): Algoritmos evolutivos
En el artículo anterior, comenzamos a analizar los métodos de optimización sin gradiente, y también nos familiarizamos con el algoritmo genético. Hoy continuaremos con el tema iniciado, y estudiaremos otra clase de algoritmos evolutivos.
Cómo construir un EA que opere automáticamente (Parte 14): Automatización (VI)
Aquí pondremos realmente en práctica todos los conocimientos de esta serie. Finalmente construiremos un sistema 100% automático y funcional. Pero para hacer esto, tendrás que aprender una última cosa.
Patrones de diseño en MQL5 (Parte I): Patrones de creación (Creational Patterns)
Existen métodos que pueden usarse para resolver problemas típicos. Una vez entendemos cómo utilizar estas técnicas una vez, podemos escribir programas de forma eficaz y aplicar el concepto DRY (No te repitas, en inglés, don't repeat yourself). En este contexto, resultan muy útiles los patrones de diseño que pueden aportar soluciones a problemas bien descritos y recurrentes.
Redes neuronales: así de sencillo (Parte 49): Soft Actor-Critic
Continuamos nuestro análisis de los algoritmos de aprendizaje por refuerzo en problemas de espacio continuo de acciones. En este artículo, le propongo introducir el algoritmo Soft Astog-Critic (SAC). La principal ventaja del SAC es su capacidad para encontrar políticas óptimas que no solo maximicen la recompensa esperada, sino que también tengan la máxima entropía (diversidad) de acciones.
Aprendiendo a diseñar un sistema comercial basado en Momentum
En el artículo anterior, mencionamos la importancia de detectar las tendencias, es decir, de determinar la dirección del movimiento del precio. En este artículo, hablaremos sobre otro concepto importante en el trading, que también existe en forma de indicador: el impulso del precio o el indicador Momentum. Asimismo, desarrollaremos nuestro propio sistema comercial basado en este indicador.
Integración de Smart Money Concepts (SMC), Order Blocks (OB) y Fibonacci para entradas óptimas
Los bloques de órdenes (Order Blocks, OB) son áreas clave donde los operadores institucionales inician compras o ventas significativas. Después de un movimiento de precio significativo, Fibonacci ayuda a identificar un retroceso potencial desde un máximo reciente hasta un mínimo para identificar la entrada comercial óptima.
Paradigmas de programación (Parte 1): Enfoque procedimental para el desarrollo de un asesor basado en la dinámica de precios
Conozca los paradigmas de programación y su aplicación en el código MQL5. En este artículo, analizaremos las características de la programación procedimental y ofreceremos ejemplos prácticos. Asimismo, aprenderemos a desarrollar un asesor basado en la acción del precio (Action Price) utilizando el indicador EMA y datos de velas. Además, el artículo introduce el paradigma de la programación funcional.
Aprendizaje automático y Data Science (Parte 26): La batalla definitiva en la previsión de series temporales: redes neuronales LSTM frente a GRU
En el artículo anterior, hablamos de una RNN sencilla que, a pesar de su incapacidad para comprender las dependencias a largo plazo en los datos, fue capaz de realizar una estrategia rentable. En este artículo hablaremos tanto de la memoria a largo plazo (LSTM) como de la unidad recurrente controlada (GRU). Estas dos se introdujeron para superar las deficiencias de una RNN simple y ser más astuta que ella.
Creación de un panel de indicadores de fuerza relativa (RSI) dinámico, multisímbolo y multiperíodo en MQL5
En este artículo, desarrollamos un panel dinámico de indicadores RSI multisímbolo y multiperiodo en MQL5, que proporciona a los operadores valores RSI en tiempo real a través de varios símbolos y marcos temporales. El panel cuenta con botones interactivos, actualizaciones en tiempo real e indicadores codificados por colores para ayudar a los operadores a tomar decisiones informadas.
Paradigmas de programación (Parte 2): Enfoque orientado a objetos para el desarrollo de EA basados en la dinámica de precios
En este artículo hablaremos sobre el paradigma de la POO y su aplicación en el código MQL5. Este será el segundo artículo de la serie. En él aprenderemos las características de la programación orientada a objetos y analizaremos ejemplos prácticos. La última vez escribimos un Asesor Experto basado en la Acción del Precio (Price Action) utilizando el indicador EMA y datos de velas. Ahora convertiremos su código procedimental en un código orientado a objetos.
Aproximación por fuerza bruta a la búsqueda de patrones (Parte II): Nuevos horizontes
Este artículo prosigue con el tema de la fuerza bruta, ofreciendo al algoritmo de nuestro programa nuevas posibilidades para el análisis de mercado, y acelerando la velocidad de análisis y la calidad de los resultados finales, lo cual brinda un punto de vista de máxima calidad sobre los patrones globales en el marco de este enfoque.
Previsión usando modelos ARIMA en MQL5
En este artículo, continuaremos el desarrollo de la clase CArima para construir modelos ARIMA añadiendo métodos de predicción intuitivos.
Todo lo que necesita saber sobre la estructura de un programa MQL5
Cualquier programa en cualquier lenguaje de programación tiene una estructura determinada. En este artículo, aprenderá los componentes principales de la estructura de un programa en MQL5, que pueden resultarle muy útiles a la hora de crear un sistema comercial o una herramienta comercial para MetaTrader 5.
Características del Wizard MQL5 que debe conocer (Parte 26): Medias móviles y el exponente de Hurst
El exponente de Hurst es una medida del grado de autocorrelación de una serie temporal a largo plazo. Se entiende que capta las propiedades a largo plazo de una serie temporal y, por tanto, tiene cierto peso en el análisis de series temporales, incluso fuera de las series temporales económicas/financieras. Sin embargo, nos centramos en sus posibles beneficios para los operadores, examinando cómo esta métrica podría combinarse con las medias móviles para crear una señal potencialmente sólida.
Redes neuronales: así de sencillo (Parte 65): Aprendizaje supervisado ponderado por distancia (DWSL)
En este artículo, le presentaremos un interesante algoritmo que se basa en la intersección de los métodos de aprendizaje supervisado y por refuerzo.
Estrategia comercial con el indicador de mejora de reconocimiento de velas Doji
El indicador sobre metabarras ha detectado más velas que el clásico. Veamos si aporta un beneficio real en el trading automatizado.
Arbitraje estadístico con predicciones
Daremos un paseo por el arbitraje estadístico, buscaremos con Python símbolos de correlación y cointegración, haremos un indicador para el coeficiente de Pearson y haremos un EA para operar arbitraje estadístico con predicciones hechas con Python y modelos ONNX.
Análisis de múltiples símbolos con Python y MQL5 (Parte 3): Tipos de cambio triangulares
Los operadores suelen enfrentarse a pérdidas por señales falsas, mientras que esperar a la confirmación puede llevar a perder oportunidades. Este artículo presenta una estrategia comercial triangular que utiliza el precio de la plata en dólares (XAGUSD) y euros (XAGEUR), junto con el tipo de cambio EURUSD, para filtrar el ruido. Al aprovechar las relaciones entre mercados, los operadores pueden descubrir el sentimiento oculto y perfeccionar sus entradas en tiempo real.
Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 4): Media móvil triangular - Señales del indicador
Por asesor multidivisa en este artículo entendemos un asesor, o un robot comercial que puede operar (abrir/cerrar órdenes, gestionar órdenes como Trailing Stop Loss y Trailing Profit) con más de un par de símbolos desde un gráfico. Esta vez usaremos un solo indicador, a saber, la media móvil triangular en uno o varios marcos temporales.
Redes neuronales: así de sencillo (Parte 20): Autocodificadores
Continuamos analizando los algoritmos de aprendizaje no supervisado. El lector podría preguntarse sobre la relevancia de las publicaciones recientes en el tema de las redes neuronales. En este nuevo artículo, retomaremos el uso de las redes neuronales.
Cómo construir un EA que opere automáticamente (Parte 06): Tipos de cuentas (I)
Aprenda a crear un EA que opere automáticamente de forma sencilla y segura. Hasta ahora nuestro EA puede funcionar en cualquier tipo de situación, pero aún no está listo para ser automatizado, por lo que tenemos que hacer algunas cosas.
Cómo usar la API de datos JSON en sus proyectos MQL
Imagina que puedes utilizar datos que no se encuentran en MetaTrader, solo obtienes datos de los indicadores mediante análisis de precios y análisis técnico. Ahora imagina que puedes acceder a datos que aumentarán tu poder comercial. Puede multiplicar la potencia del software MetaTrader si combina la salida de otro software, métodos de análisis macro y herramientas ultra avanzadas a través de los datos de la API. En este artículo, le enseñaremos cómo utilizar las API y le presentaremos servicios de datos API útiles y valiosos.
Gráficos en la biblioteca DoEasy (Parte 73): Objeto de formulario del elemento gráfico
En el presente artículo, iniciaremos un nuevo apartado del trabajo con gráficos. En esta ocasión, vamos a crear el objeto de estado del ratón, el objeto básico de todos los elementos gráficos y la clase de objeto de formulario de los elementos gráficos de la biblioteca.
Desarrollando un EA comercial desde cero (Parte 11): Sistema de órdenes cruzadas
Creación de un sistema de órdenes cruzadas. Hay una clase de activos que les hace la vida muy difícil a los comerciantes, estos son los activos de contratos futuros, y ¿por qué le hacen la vida difícil al comerciante?
Redes neuronales: así de sencillo (Parte 80): Modelo generativo y adversarial del Transformador de grafos (GTGAN)
En este artículo, le presentamos el algoritmo GTGAN, introducido en enero de 2024 para resolver problemas complejos de disposición arquitectónica con restricciones gráficas.
Automatización de estrategias de trading en MQL5 (Parte 1): El sistema Profitunity (Trading Chaos de Bill Williams)
En este artículo, examinamos el sistema Profitunity de Bill Williams, desglosando sus componentes principales y su enfoque único para operar en el caos del mercado. Guiamos a los lectores a través de la implementación del sistema en MQL5, centrándonos en la automatización de indicadores clave y señales de entrada/salida. Por último, probamos y optimizamos la estrategia, proporcionando información sobre su desempeño en diversos escenarios de mercado.
Desarrollando la estrategia martingala Zone Recovery en MQL5
El artículo analiza, en una perspectiva detallada, los pasos que deben implementarse para la creación de un asesor experto basado en el algoritmo comercial Zone Recovery. Esto ayuda a automatizar el sistema ahorrando tiempo a los algotraders.
Aprendiendo a diseñar un sistema de trading con Relative Vigor Index
Bienvenidos a un nuevo artículo de nuestra serie dedicada a la creación de sistemas comerciales basados en indicadores técnicos populares. En esta ocasión, analizaremos el Índice de Vigor Relativo (Relative Vigor Index, RVI).
Redes neuronales: así de sencillo (Parte 32): Aprendizaje Q distribuido
En uno de los artículos de esta serie, nos familiarizamos con el método de aprendizaje Q. Este método promedia las recompensas de cada acción. En 2017 se presentaron dos trabajos que muestran un mayor éxito al estudiar la función de distribución de recompensas. Vamos a analizar la posibilidad de utilizar esta tecnología para resolver nuestros problemas.
Desarrollo de un EA comercial desde cero (Parte 28): Rumbo al futuro (III)
Nuestro sistema de órdenes todavía falla en hacer una cosa, pero FINALMENTE lo resolveremos...
Automatización de estrategias comerciales con la estrategia de tendencia Parabolic SAR en MQL5: Creación de un asesor experto eficaz
En este artículo, automatizaremos las estrategias comerciales con la estrategia Parabolic SAR en MQL5: Creación de un asesor experto eficaz. El EA realizará operaciones basadas en las tendencias identificadas por el indicador Parabolic SAR.
Redes neuronales: así de sencillo (Parte 21): Autocodificadores variacionales (VAE)
En el anterior artículo, vimos el algoritmo del autocodificador. Como cualquier otro algoritmo, tiene ventajas y desventajas. En la implementación original, el autocodificador se encarga de dividir los objetos de la muestra de entrenamiento tanto como sea posible. Y en este artículo, en cambio, hablaremos de cómo solucionar algunas de sus deficiencias.
Gráficos en la biblioteca DoEasy (Parte 75): Métodos de trabajo con primitivas y texto en el elemento gráfico básico
En el presente artículo, continuaremos el desarrollo de la clase de elemento gráfico de todos los elementos gráficos de la biblioteca creados sobre la base de la Biblioteca Estándar CCanvas. En concreto, crearemos los métodos para dibujar las primitivas gráficas y los métodos para mostrar el texto en un objeto de elemento gráfico.
Desarrollando un EA comercial desde cero (Parte 08): Un salto conceptual (I)
¿Cómo implementar una nueva funcionalidad de la forma más sencilla posible? Aquí daremos un paso atrás y luego daremos dos pasos adelante.
Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 1): Señales basadas en ADX combinadas con Parabolic SAR
En este artículo, entenderemos por asesor multidivisa un asesor o robot comercial que puede comerciar (abrir/cerrar órdenes, gestionar órdenes, etc.) con más de un par de símbolos de un gráfico.
Desarrollando un EA comercial desde cero (Parte 22): Un nuevo sistema de órdenes (V)
Hoy seguiremos desarrollando el nuevo sistema de ordenes. No es nada fácil implementar un nuevo sistema, muchas veces nos encontramos con problemas que dificultan mucho el proceso, cuando suceden hay que parar y volver a analizar el rumbo que se está tomando.
Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 2): Señales del indicador - Parabolic SAR de marco temporal múltiple
En este artículo, entenderemos por asesor multidivisa un asesor o robot comercial que puede comerciar (abrir/cerrar órdenes, gestionar órdenes, por ejemplo, trailing-stop y trailing-profit, etc.) con más de un par de símbolos de un gráfico. Esta vez usaremos solo un indicador, a saber, Parabolic SAR o iSAR en varios marcos temporales, comenzando desde PERIOD_M15 y terminando con PERIOD_D1.