Algoritmo de camello — Camel Algorithm (CA)
El algoritmo del camello, desarrollado en 2016, modela el comportamiento de los camellos en el desierto para resolver problemas de optimización, considerando factores como la temperatura, las reservas y la resistencia. Este artículo presenta una versión modificada del mismo (CAm) con mejoras clave: el uso de una distribución gaussiana en la generación de soluciones y la optimización de los parámetros del efecto oasis.
Desarrollo de un sistema de repetición (Parte 27): Proyecto Expert Advisor — Clase C_Mouse (I)
En este artículo, daremos vida a la clase C_Mouse. Está diseñada para permitir programar al más alto nivel posible. Sin embargo, hablar de programar a niveles altos o bajos no está relacionado con incluir palabrotas o jerga en el código. Todo lo contrario. Cuando mencionamos programación de alto o bajo nivel, nos referimos a lo fácil o difícil que es para otro programador entender el código.
Trading de arbitraje en Forex: Análisis de movimientos de divisas sintéticas y reversión a la media
En este artículo, intentaremos analizar los movimientos de divisas sintéticas utilizando Python + MQL5 y comprender cómo es el arbitraje de divisas real hoy en día. Asimismo, presentaremos cierto código Python listo para analizar divisas sintéticas y más información sobre qué son las divisas sintéticas en Forex.
Indicador de pronóstico ARIMA en MQL5
En este artículo, crearemos un indicador de pronóstico ARIMA en MQL5. El artículo analiza cómo el modelo ARIMA genera pronósticos y su aplicabilidad al mercado Forex y al mercado de valores en general. También explica qué es la autorregresión AR, cómo se utilizan los modelos autorregresivos para realizar pronósticos y cómo funciona el mecanismo autorregresivo.
Integración de MQL5 con paquetes de procesamiento de datos (Parte 3): Visualización mejorada de datos
En este artículo, realizaremos una visualización de datos mejorada que va más allá de los gráficos básicos, incorporando características como interactividad, datos en capas y elementos dinámicos, lo que permite a los operadores explorar tendencias, patrones y correlaciones de manera más eficaz.
Algoritmo de optimización de Escalera Real - Royal Flush Optimisation (RFO)
El algoritmo Royal Flush Optimization del autor ofrece una nueva perspectiva en la resolución de problemas de optimización sustituyendo la clásica codificación binaria de los algoritmos genéticos por un enfoque basado en sectores e inspirado en los principios del póquer. El RFO demuestra cómo la simplificación de los principios básicos puede dar lugar a un método de optimización eficaz y práctico. El artículo presenta un análisis detallado del algoritmo y los resultados de las pruebas.
Algoritmo de colmena artificial — Artificial Bee Hive Algorithm (ABHA): Pruebas y resultados
En este artículo, continuaremos analizando el algoritmo de colmena artificial ABHA profundizando en la codificación y observando los métodos restantes. Recordemos que cada abeja en el modelo está representada como un agente individual cuyo comportamiento dependerá de información interna y externa, así como del estado motivacional. Probaremos el algoritmo con varias funciones y resumiremos los resultados presentándolos en una tabla de calificación.
Optimización del modelo de nubes atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Práctica
En este artículo, seguiremos profundizando en la aplicación del algoritmo ACMO (Atmospheric Cloud Model Optimisation). En particular, discutiremos dos aspectos clave: el movimiento de las nubes hacia regiones de bajas presiones y la modelización del proceso de lluvia, incluida la inicialización de las gotas y su distribución entre las nubes. También analizaremos otras técnicas que desempeñan un papel importante a la hora de gestionar el estado de las nubes y garantizar su interacción con el entorno.
Teoría de categorías en MQL5 (Parte 3)
La teoría de categorías es una rama diversa y en expansión de las matemáticas, relativamente inexplorada aún en la comunidad MQL5. Esta serie de artículos tiene como objetivo destacar algunos de sus conceptos para crear una biblioteca abierta y seguir utilizando esta maravillosa sección para crear estrategias comerciales.
Algoritmo de Big Bang y Big Crunch
En el presente artículo, le presentamos el método Big Bang - Big Crunch, que consta de dos fases clave: la creación cíclica de puntos aleatorios y su compresión hasta una solución óptima. Este enfoque combina exploración y refinamiento, lo cual permite encontrar soluciones progresivamente mejores y descubre nuevas oportunidades en el campo de la optimización.
Algoritmo de optimización Brain Storm - Brain Storm Optimization (Parte II): Multimodalidad
En la segunda parte del artículo pasaremos a la aplicación práctica del algoritmo BSO, realizaremos tests con funciones de prueba y compararemos la eficacia de BSO con otros métodos de optimización.
Desarrollo de un sistema de repetición (Parte 36): Haciendo retoques (II)
Una de las cosas que más nos puede complicar la vida como programadores es el hecho de suponer cosas. En este artículo, te mostraré los peligros de hacer suposiciones: tanto en la parte de programación MQL5, donde se asume que un tipo tendrá un tamaño determinado, como cuando se utiliza MetaTrader 5, donde se asume que los diferentes servidores funcionan de la misma manera.
Desarrollo de un sistema de repetición (Parte 45): Proyecto Chart Trade (IV)
Lo principal en este artículo es precisamente la presentación y explicación de la clase C_ChartFloatingRAD. Tenemos el indicador Chart Trade, que funciona de una manera bastante interesante. No obstante, si te das cuenta, aún tenemos un número bastante reducido de objetos en el gráfico. Y aun así, tenemos exactamente el comportamiento esperado. Se pueden editar los valores presentes en el indicador. La pregunta es: ¿Cómo es esto posible? En este artículo comenzarás a entenderlo.
Aplicamos el coeficiente generalizado de Hurst y la prueba del coeficiente de varianza en MQL5
En este artículo, discutiremos cómo utilizar el coeficiente generalizado de Hurst y la prueba del coeficiente de varianza para analizar el comportamiento de las series de precios en MQL5.
Aplicación de la selección de características localizadas en Python y MQL5
Este artículo explora un algoritmo de selección de características introducido en el artículo 'Local Feature Selection for Data Classification' de Narges Armanfard et al. El algoritmo se implementa en Python para construir modelos clasificadores binarios que pueden integrarse con aplicaciones de MetaTrader 5 para la inferencia.
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 25): Preparación para la próxima etapa
En este artículo, concluimos la primera fase del desarrollo del sistema de repetición y simulador. Con este hito, afirmo, estimado lector, que el sistema ha alcanzado un nivel avanzado, abriendo camino para la incorporación de nuevas funcionalidades. El objetivo es enriquecer aún más el sistema, convirtiéndolo en una herramienta poderosa para estudios y para el desarrollo de análisis de mercado.
Algoritmo de optimización basado en ecosistemas artificiales — Artificial Ecosystem-based Optimization (AEO)
El artículo analiza el algoritmo metaheurístico AEO que modela las interacciones entre los componentes del ecosistema mediante la creación de una población inicial de soluciones y la aplicación de estrategias de actualización adaptativas, y detalla las etapas de funcionamiento del AEO, incluidas las fases de consumo y descomposición, así como diversas estrategias de comportamiento de los agentes. El artículo presenta las peculiaridades y ventajas de este algoritmo.
MQL5 Wizard techniques you should know (Part 49): Aprendizaje por refuerzo con optimización de políticas proximales
La optimización de políticas proximales es otro algoritmo del aprendizaje por refuerzo que actualiza la política, a menudo en forma de red, en pasos incrementales muy pequeños para garantizar la estabilidad del modelo. Examinamos cómo esto podría ser útil, tal y como hemos hecho en artículos anteriores, en un asesor experto creado mediante un asistente.
De novato a experto: Noticias animadas utilizando MQL5 (III) — Información sobre indicadores
En este artículo, mejoraremos el EA News Headline introduciendo una línea dedicada a la información de los indicadores: una visualización compacta en el gráfico de las señales técnicas clave generadas a partir de indicadores populares como el RSI, el MACD, el estocástico y el CCI. Este enfoque elimina la necesidad de múltiples subventanas de indicadores en la terminal MetaTrader 5, lo que mantiene su espacio de trabajo limpio y eficiente. Al aprovechar la API MQL5 para acceder a los datos de los indicadores en segundo plano, podemos procesar y visualizar información del mercado en tiempo real utilizando una lógica personalizada. Únase a nosotros para explorar cómo manipular los datos de los indicadores en MQL5 para crear un sistema de información inteligente y que ahorra espacio, todo ello en una sola línea horizontal en su gráfico de operaciones.
Desarrollo de un sistema de repetición (Parte 42): Proyecto Chart Trade (I)
Vamos a crear algo más interesante. El código que mostré antes quedará completamente obsoleto. No quiero arruinar la sorpresa. Sigue el artículo para entender mejor. Desde el inicio de esta secuencia sobre cómo desarrollar un sistema de repetición/simulación, he dicho que la idea es usar la plataforma MetaTrader 5 de manera idéntica, tanto en el sistema que estamos desarrollando como en el mercado real. Es importante que esto se haga de manera adecuada. No querrás entrenar y aprender a luchar usando determinadas herramientas y en el momento de la pelea tener que usar otras.
Características del Wizard MQL5 que debe conocer (Parte 13): DBSCAN para la clase experta de señales
El agrupamiento basado en densidad para aplicaciones con ruido (DBSCAN) es una forma no supervisada de agrupar datos que apenas requiere parámetros de entrada, salvo solo 2, lo cual, en comparación con otros enfoques como k-means, es una ventaja. Profundizamos en cómo esto podría ser constructivo para probar y eventualmente operar con Asesores Expertos montados por Wizard MQL5.
Aprendizaje automático y Data Science (Parte 35): NumPy en MQL5, el arte de crear algoritmos complejos con menos código
La biblioteca NumPy impulsa casi todos los algoritmos de aprendizaje automático en el lenguaje de programación Python. En este artículo vamos a implementar un módulo similar que contiene una colección de todo el código complejo para ayudarnos a crear modelos y algoritmos sofisticados de cualquier tipo.
Desarrollo de estrategias comerciales de tendencia basadas en el aprendizaje automático
El presente artículo propone un enfoque original para el desarrollo de estrategias de tendencia. Hoy aprenderemos a marcar ejemplos de entrenamiento y a entrenar clasificadores con ellos. El resultado serán sistemas comerciales listos para usar que se ejecutarán en el terminal MetaTrader 5.
Características del Wizard MQL5 que debe conocer (Parte 29): Continuación sobre las tasas de aprendizaje con MLP
Concluimos nuestro análisis de la sensibilidad de la tasa de aprendizaje al rendimiento de los Asesores Expertos examinando principalmente las Tasas de Aprendizaje Adaptativo. Estas tasas de aprendizaje pretenden personalizarse para cada parámetro de una capa durante el proceso de entrenamiento, por lo que evaluamos los beneficios potenciales frente al peaje de rendimiento esperado.
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 03): Haciendo ajustes (I)
Pongamos las cosas en su sitio, porque este comienzo no ha sido de los mejores. Si no lo hacemos ahora, pronto tendremos problemas.
Desarrollamos un asesor experto multidivisa (Parte 7): Selección de grupos considerando el periodo forward
Anteriormente hemos evaluado la selección de un grupo de instancias de estrategias comerciales para mejorar el rendimiento cuando trabajan juntas solo durante el mismo periodo de tiempo en el que se han optimizado las instancias individuales. Veamos qué ocurre en el periodo forward.
Algoritmo de agujero negro — Black Hole Algorithm (BHA)
El algoritmo de agujero negro (BHA) utiliza los principios de la gravedad de los agujeros negros para optimizar las soluciones. En este artículo, analizaremos cómo el BHA atrae las mejores soluciones evitando los extremos locales, y por qué este algoritmo se ha convertido en una poderosa herramienta para resolver problemas complejos. Descubra cómo ideas sencillas pueden dar lugar a resultados impresionantes en el mundo de la optimización.
Estrategia de Evolución de Adaptación de la Matriz de Covarianza — Covariance Matrix Adaptation Evolution Strategy (CMA-ES)
Hoy analizaremos uno de los algoritmos de optimización sin gradiente más interesantes, que aprende a comprender la geometría de la función objetivo. Consideremos la implementación clásica de CMA-ES con una ligera modificación: la sustitución de la distribución normal por una distribución potencial. Asimismo, veremos un análisis detallado de las bases matemáticas del algoritmo, su implementación práctica y un análisis honesto: dónde el CMA-ES es imbatible y dónde es mejor evitarlo.
Desarrollo de un sistema de repetición (Parte 75): Un nuevo Chart Trade (II)
En este artículo explicaré gran parte de la clase C_ChartFloatingRAD. Esta es la encargada de hacer que Chart Trade funcione. Sin embargo, no terminaré la explicación aquí. La finalizaré en el próximo artículo, ya que el contenido de este es bastante denso y necesita ser comprendido a fondo. El contenido expuesto aquí tiene como único objetivo la enseñanza. En ningún caso debe considerarse como una aplicación cuya finalidad sea distinta a la enseñanza y el estudio de los conceptos mostrados.
Aprendizaje automático y Data Science (Parte 19): Potencie sus modelos de IA con AdaBoost
AdaBoost, un potente algoritmo de refuerzo diseñado para elevar el rendimiento de sus modelos de IA. AdaBoost, abreviatura de Adaptive Boosting (refuerzo adaptativo), es una sofisticada técnica de aprendizaje por conjuntos que integra a la perfección los aprendices débiles, potenciando su fuerza predictiva colectiva.
Aprendizaje automático y Data Science (Parte 34): Descomposición de series temporales, desglosando el mercado bursátil hasta su núcleo
En un mundo repleto de datos ruidosos e impredecibles, identificar patrones significativos puede resultar complicado. En este artículo, exploraremos la descomposición estacional, una potente técnica analítica que ayuda a separar los datos en sus componentes clave: tendencia, patrones estacionales y ruido. Al desglosar los datos de esta manera, podemos descubrir información oculta y trabajar con datos más claros y fáciles de interpretar.
Desarrollo de un sistema de repetición (Parte 71): Ajuste del tiempo (IV)
En este artículo, mostraré cómo implementar lo presentado en el artículo anterior en el servicio de repetición/simulación. Pero, como suele ocurrir con muchas cosas en la vida, es habitual que surjan problemas. Y este caso no fue una excepción. Sigue leyendo y descubre cuál será el tema del próximo artículo de esta serie. 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 mostrados.
Gestión de capital en el trading y programa de contabilidad doméstica del tráder con base de datos
¿Cómo gestiona el capital un tráder? ¿Cómo debe llevar el tráder y el inversor los registros de gastos, ingresos, activos y pasivos? No solo voy a presentarle un programa de contabilidad, sino una herramienta que puede convertirse en su navegante financiero de confianza en el turbulento mar del trading.
Características del Wizard MQL5 que debe conocer (Parte 34): Incorporación de precios con un RBM no convencional
Las Máquinas de Boltzmann Restringidas (Restricted Boltzmann Machines, RBMs) son un tipo de red neuronal desarrollada a mediados de la década de 1980, en una época en la que los recursos computacionales eran extremadamente costosos.. Desde sus inicios, se basó en el muestreo de Gibbs y la divergencia contrastiva para reducir la dimensionalidad o capturar las probabilidades y propiedades ocultas en los conjuntos de datos de entrenamiento. Analizamos cómo la retropropagación puede lograr un rendimiento similar cuando la RBM "incorpora" precios en un perceptrón multicapa para pronósticos.
Algoritmo de trading evolutivo con aprendizaje por refuerzo y extinción de individuos no rentables (ETARE)
Hoy le presentamos un innovador algoritmo comercial que combina algoritmos evolutivos con aprendizaje profundo por refuerzo para la negociación de divisas. El algoritmo utiliza un mecanismo de extinción de individuos ineficaces para optimizar la estrategia comercial.
Métodos de optimización de la biblioteca ALGLIB (Parte II)
En este artículo seguiremos analizando los métodos restantes de optimización de la biblioteca ALGLIB, prestando especial atención a su comprobación con funciones multivariantes complejas. Esto nos permitirá no solo evaluar el rendimiento de cada algoritmo, sino también identificar sus puntos fuertes y débiles en diferentes condiciones.
Arbitraje de swaps en Forex: Reunimos un portafolio sintético y creamos un flujo de swaps estable
¿Quiere saber cómo aprovechar los spreads de los tipos de interés? En este artículo, veremos cómo usar el arbitraje de swaps en Forex para generar unos ingresos constantes cada noche construyendo un portafolio resistente a las fluctuaciones del mercado.
Aprendizaje automático en la negociación de tendencias unidireccionales tomando el oro como ejemplo
En este artículo analizaremos un enfoque interesante: la negociación solo en la dirección seleccionada (compra o venta). Para ello, utilizaremos técnicas de inferencia causal y aprendizaje automático.
Algoritmo de búsqueda cooperativa artificial (Artificial Cooperative Search, ACS)
La búsqueda cooperativa artificial (Artificial Cooperative Search, ACS) es un método innovador que utiliza una matriz binaria y múltiples poblaciones dinámicas basadas en relaciones de mutualismo y cooperación para encontrar soluciones óptimas de forma rápida y precisa. El enfoque único de ACS sobre depredadores y presas le permite obtener excelentes resultados en problemas de optimización numérica.
Desarrollo de un sistema de repetición (Parte 35): Haciendo retoques (I)
Tenemos que arreglar algunas cosas antes de poder continuar de verdad. Pero no es necesariamente una corrección, sino una mejora en la forma de gestionar y utilizar la clase. La razón es que hay fallos debidos a algún tipo de interacción dentro del sistema. A pesar de los intentos de comprender la razón de algunos de los fallos, para ponerles fin, todos ellos se vieron frustrados, ya que algunos no tenían sentido. Cuando usamos punteros o recursión en C / C++, y el programa empieza a fallar.