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 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.
Características del Wizard MQL5 que debe conocer (Parte 35): Regresión de vectores de soporte
La regresión de vectores de soporte es una forma idealista de encontrar una función o "hiperplano" que describa mejor la relación entre dos conjuntos de datos. Intentamos aprovechar esto en la previsión de series de tiempo dentro de clases personalizadas del asistente MQL5.
Elementos del análisis de correlación en MQL5: Prueba chi-cuadrado de Pearson de independencia y ratio de correlación.
El artículo analiza las herramientas clásicas del análisis de correlaciones. Se hace hincapié en los breves antecedentes teóricos, así como en la aplicación práctica de la prueba de independencia chi-cuadrado de Pearson y la ratio de correlación.
Análisis del impacto del clima en las divisas de los países agrícolas usando Python
¿Cómo se relacionan el clima y el mercado de divisas? La teoría económica clásica no ha reconocido durante mucho tiempo la influencia de estos factores en el comportamiento del mercado. Pero ahora las cosas han cambiado. Hoy intentaremos encontrar conexiones entre el estado del tiempo y la posición de las divisas agrarias en el mercado.
Clase básica de algoritmos de población como base para una optimización eficaz
El presente material supone un intento único de investigación para combinar una variedad de algoritmos de población en una sola clase y simplificar la aplicación de técnicas de optimización. Este enfoque no solo descubre oportunidades para el desarrollo de nuevos algoritmos, incluidas variantes híbridas, sino que también crea un banco de pruebas básico y versátil. Este banco se convertirá así en una herramienta clave para seleccionar el algoritmo óptimo según un problema específico.
Operar con noticias de manera sencilla (Parte 5): Ejecución de operaciones (II)
Este artículo ampliará la clase de gestión de operaciones para incluir órdenes de compra y venta con límite (buy-stop y sell-stop) con el fin de operar con eventos de noticias e implementar una restricción de vencimiento en estas órdenes para evitar cualquier operación nocturna. Se incorporará una función de deslizamiento (slippage) al experto para intentar prevenir o minimizar el posible deslizamiento que puede producirse al utilizar órdenes stop en las operaciones, especialmente durante eventos noticiosos.
Desarrollo de un sistema de repetición (Parte 44): Proyecto Chart Trade (III)
En el artículo anterior, expliqué cómo puedes manipular los datos de la plantilla para usarlos en un OBJ_CHART. Allí solo introduje el tema sin entrar en muchos detalles, ya que en esa versión el trabajo se hizo de una manera muy simplificada. Sin embargo, se hizo de esa forma precisamente para facilitar la explicación del contenido. Pues, a pesar de parecer simple hacer ciertas cosas, algunas no son tan evidentes, y sin comprender la parte más simple y básica, no entenderás realmente lo que estoy haciendo.
Marcado de datos en el análisis de series temporales (Parte 6): Aplicación y prueba en EA utilizando ONNX
Esta serie de artículos presenta varios métodos de etiquetado de series temporales, que pueden crear datos que se ajusten a la mayoría de los modelos de inteligencia artificial, y el etiquetado de datos específico según las necesidades puede hacer que el modelo de inteligencia artificial entrenado se ajuste más al diseño esperado, mejorar la precisión de nuestro modelo, ¡e incluso ayudar al modelo a dar un salto cualitativo!
Búsqueda dialéctica - Dialectic Search (DA)
Hoy nos familiarizaremos con el Algoritmo Dialéctico (DA), un nuevo método de optimización global inspirado en el concepto filosófico de la dialéctica. El algoritmo explota la singular división de la población en pensadores especulativos y prácticos. Las pruebas demuestran un impresionante rendimiento de hasta el 98% en tareas pequeñas y una eficiencia global del 57,95%. El artículo explica estas métricas y presenta una descripción detallada del algoritmo y resultados experimentales con distintos tipos de características.
Integración de MQL5 con paquetes de procesamiento de datos (Parte 4): Gestión de Big Data
Esta parte explora técnicas avanzadas para integrar MQL5 con potentes herramientas de procesamiento de datos y se centra en el manejo eficiente de grandes volúmenes de datos para mejorar el análisis comercial y la toma de decisiones.
Desarrollo de un sistema de repetición (Parte 73): Una comunicación inusual (II)
En este artículo, veremos cómo transferir información en tiempo real entre el indicador y el servicio, y comprenderemos por qué pueden surgir problemas al modificar el timeframe y cómo resolverlos correctamente. Como bono, tendrás acceso a la última versión de la aplicación de repetición/simulador. El contenido es exclusivamente didáctico y no debe utilizarse con otros fines.
Redes neuronales en el trading: Conjunto de agentes con uso de mecanismos de atención (Final)
En el artículo anterior, presentamos el framework adaptativo multiagente MASAAT, que usa un conjunto de agentes para analizar de forma cruzada una serie temporal multimodal a diferentes escalas de representación de datos. Hoy llevaremos a una conclusión lógica el trabajo iniciado para aplicar los planteamientos de este framework usando MQL5.
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 07): Primeras mejoras (II)
En el artículo anterior realizamos correcciones en algunos puntos y agregamos pruebas a nuestro sistema de repetición para garantizar la mayor estabilidad posible. Asimismo, comenzamos a crear y utilizar un archivo de configuración para dicho sistema.
Simulación de mercado (Parte 02): Orden cruzada (II)
A diferencia de lo que se vio en el artículo anterior, aquí vamos a hacer el control de selección en el Asesor Experto. Aunque esta no es aún una solución definitiva, nos servirá por ahora. Así que acompaña el artículo para entender cómo implementar una de las soluciones posibles.
Desarrollo de un sistema de repetición (Parte 48): Conceptos que hay que entender y comprender
¿Qué tal aprender algo nuevo? En este artículo, aprenderás cómo transformar scripts y servicios y por qué es útil hacerlo.
Características del Wizard MQL5 que debe conocer (Parte 10). El RBM no convencional
Las máquinas de Boltzmann restringidas (RBM, Restrictive Boltzmann Machines) son, en el nivel básico, una red neuronal de dos capas que es competente en la clasificación no supervisada a través de la reducción de la dimensionalidad. Tomamos sus principios básicos y examinamos si lo rediseñamos y entrenamos de forma poco ortodoxa, podríamos obtener un filtro de señal útil.
Vectores y valores propios: Análisis exploratorio de datos en MetaTrader 5
En este artículo exploramos diferentes formas en que los vectores propios y los valores propios pueden aplicarse en el análisis exploratorio de datos para revelar relaciones únicas en los datos.
Simulación de mercado (Parte 12): Sockets (VI)
En este artículo, veremos cómo resolver algunos problemas y cuestiones al usar código escrito en Python dentro de otros programas. Más concretamente, mostraré un problema habitual que ocurre al usar Excel junto con MetaTrader 5, aunque para esta comunicación utilizaremos Python. Sin embargo, hay un pequeño inconveniente en esta implementación. No ocurre en todos los casos, sino solo en algunos específicos. Cuando ocurre, es necesario entender la razón. En este artículo, empezaré a explicar cómo resolverlo.
Análisis de todas las variantes del movimiento de precios en una computadora cuántica IBM
Hoy utilizaremos un computadora cuántica de IBM para descubrir todas las variantes del movimiento de los precios. ¿Le suena a ciencia ficción? ¡Bienvenido al mundo de la informática cuántica para el trading!
Factorización de matrices: lo básico
Como el objetivo aquí es ser didáctico. Mantendré las cosas en su forma más sencilla. Es decir, implementaremos solo lo necesario: la multiplicación de matrices. Verás que esto será suficiente para simular la multiplicación de una matriz por un escalar. La gran dificultad que muchas personas tienen a la hora de implementar un código utilizando la factorización de matrices es que, a diferencia de una factorización escalar, donde en casi todos los casos el orden de los factores no altera el resultado, cuando se usan matrices, la cosa no es así.
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.
Simulación de mercado (Parte 16): Sockets (X)
Estamos a punto de concluir este desafío. Sin embargo, antes de pasar al siguiente, quiero que tú, querido lector, procures comprender estos dos artículos, tanto este como el anterior. Así podrás entender realmente el próximo artículo, en el que abordaré exclusivamente la parte referente a la programación en MQL5. Aunque en él también procuraré que sea fácil de entender. Si no comprendes estos dos últimos artículos, con toda seguridad tendrás grandes dificultades para entender el siguiente. El motivo es simple: los contenidos se van acumulando. Cuantas más cosas haya que hacer, más cosas será necesario crear y comprender para alcanzar el objetivo.
Factorización de matriсes: un modelado más práctico
Es muy probable que no te hayas dado cuenta de que el modelado de las matrices era un tanto extraño, ya que no se indicaban filas y columnas, solo columnas. Esto resulta muy raro al leer un código que realiza factorizaciones de matrices. Si esperabas ver las filas y columnas indicadas, podrías haberte sentido bastante confundido al intentar implementar la factorización. Además, esa forma de modelar las matrices no es, ni de cerca, la mejor manera. Esto se debe a que, cuando modelamos matrices de esa forma, nos enfrentamos a ciertas limitaciones que nos obligan a usar otras técnicas o funciones que no serían necesarias si el modelado se realiza de manera más adecuada.
Desarrollo de un sistema de repetición (Parte 47): Proyecto Chart Trade (VI)
En este artículo finalizaremos el indicador Chart Trade, haciéndolo funcional hasta el punto de poder usarlo junto con algún Expert Advisor. Entonces, en este artículo finalizaremos el indicador Chart Trade, haciéndolo funcional hasta el punto de poder usarlo junto con algún Expert Advisor. Esto nos permitirá acceder y trabajar con el indicador, como si estuviera realmente vinculado al Expert Advisor. Pero lo haremos de una manera mucho más interesante que en el pasado.
Algoritmo del restaurador de éxito — Successful Restaurateur Algorithm (SRA)
El algoritmo del restaurador de éxito (SRA) es un innovador método de optimización inspirado en los principios de la gestión de restaurantes. A diferencia de los enfoques tradicionales, el SRA no descarta las soluciones débiles, sino que las mejora combinándolas con elementos de las que han tenido éxito. El algoritmo muestra resultados competitivos y ofrece una nueva perspectiva sobre el equilibrio entre investigación y explotación en los problemas de optimización.
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.
Simulación de mercado: Iniciando SQL en MQL5 (III)
En el artículo anterior vimos cómo podríamos desarrollar una clase en MQL5 capaz de darnos cierto soporte. Su finalidad es precisamente permitirnos colocar el código SQL dentro de un archivo de script. De este modo, no necesitaríamos escribir ese mismo código SQL como un string dentro del código MQL5. Aunque esa solución es funcional, contiene algunos detalles que podemos y debemos mejorar.
Algoritmos de optimización de la población: Resiliencia ante el estancamiento en los extremos locales (Parte I)
El presente artículo presenta un experimento único cuyo objetivo es investigar el comportamiento de los algoritmos de optimización basados en poblaciones en el contexto de su capacidad para abandonar eficientemente los mínimos locales cuando la diversidad en la población es baja y alcanzar los máximos globales. Los trabajos en este campo nos permitirán comprender mejor qué algoritmos específicos pueden continuar con éxito la búsqueda a partir de las coordenadas fijadas por el usuario como punto de partida, y qué factores influyen en su éxito en este proceso.
Modelo de riesgo de cartera utilizando el criterio de Kelly y la simulación de Monte Carlo
Durante décadas, los operadores han utilizado la fórmula del criterio de Kelly para determinar la proporción óptima de capital que se debe asignar a una inversión o apuesta con el fin de maximizar el crecimiento a largo plazo y minimizar el riesgo de ruina. Sin embargo, seguir ciegamente el criterio de Kelly utilizando el resultado de una sola prueba retrospectiva suele ser peligroso para los operadores individuales, ya que en el trading en vivo, la ventaja comercial disminuye con el tiempo y el rendimiento pasado no es un indicador de resultados futuros. En este artículo, presentaré un enfoque realista para aplicar el criterio de Kelly a la asignación de riesgos de uno o más EA en MetaTrader 5, incorporando los resultados de la simulación de Monte Carlo de Python.
Sistemas neurosimbólicos en trading algorítmico: Combinación de reglas simbólicas y redes neuronales
El artículo relata la experiencia del desarrollo de un sistema comercial híbrido que combine el análisis técnico clásico con las redes neuronales. El autor describe detalladamente la arquitectura del sistema, desde el análisis básico de patrones y la estructura de la red neuronal hasta los mecanismos de toma de decisiones comerciales, compartiendo código real y observaciones de carácter práctico.
Características del Wizard MQL5 que debe conocer (Parte 19): Inferencia bayesiana
La inferencia bayesiana es la adopción del teorema de Bayes para actualizar la hipótesis de probabilidad a medida que se dispone de nueva información. Esto intuitivamente se inclina hacia la adaptación en el análisis de series de tiempo, por lo que observamos cómo podríamos usarlo para crear clases personalizadas no solo para la señal sino también para la gestión de dinero y los trailing stops.
Superar los retos de integración de ONNX
ONNX es una gran herramienta para la integración de código complejo de IA entre diferentes plataformas, es una gran herramienta que viene con algunos desafíos que uno debe abordar para obtener el máximo provecho de ella, En este artículo se discuten los problemas comunes que podría enfrentar y cómo mitigarlos.
Algoritmo de Tribu Artificial (Artificial Tribe Algorithm, ATA)
Este artículo detalla los componentes clave y las innovaciones del algoritmo de optimización ATA, un método evolutivo con un sistema de comportamiento dual único que se adapta según la situación. Usando el cruce para la exploración en profundidad y la migración para la búsqueda cuando se dan atascos en óptimos locales, el ATA combina el aprendizaje individual y el social.
Características del Wizard MQL5 que debe conocer (Parte 47): Aprendizaje por refuerzo con diferencia temporal
La diferencia temporal es otro algoritmo del aprendizaje por refuerzo que actualiza los valores Q basándose en la diferencia entre las recompensas previstas y las reales durante el entrenamiento del agente. Se centra específicamente en la actualización de los valores Q sin tener en cuenta su emparejamiento estado-acción. Por lo tanto, veremos cómo aplicar esto, tal y como hemos hecho en artículos anteriores, en un Asesor Experto creado mediante un asistente.
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 04): Haciendo ajustes (II)
Vamos continuar con el desarrollo del sistema y el control. Sin una forma de controlar el servicio, se complica avanzar y mejorar el sistema.
Kit de herramientas de negociación MQL5 (Parte 4): Desarrollo de una biblioteca EX5 para la gestión del historial
Aprenda a recuperar, procesar, clasificar, ordenar, analizar y gestionar posiciones cerradas, órdenes e historiales de operaciones utilizando MQL5 mediante la creación de una amplia biblioteca EX5 de gestión de historiales con un enfoque detallado paso a paso.
Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte V): Modelos profundos de Markov
En esta discusión, aplicaremos una cadena de Markov simple en un indicador RSI, para observar cómo se comporta el precio después de que el indicador pasa por niveles clave. Concluimos que las señales de compra y venta más fuertes en el par NZDJPY se generan cuando el RSI está en el rango 11-20 y 71-80, respectivamente. Demostraremos cómo puedes manipular tus datos para crear estrategias comerciales óptimas que se aprenden directamente de los datos que tienes. Además, demostraremos cómo entrenar una red neuronal profunda para aprender a utilizar la matriz de transición de manera óptima.
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 4): Analytics Forecaster EA
Estamos pasando de simplemente ver las métricas analizadas en gráficos a una perspectiva más amplia que incluye la integración de Telegram. Esta mejora permite que los resultados importantes se envíen directamente a tu dispositivo móvil a través de la aplicación Telegram. Acompáñenos en este viaje que exploraremos juntos en este artículo.
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 09): Eventos personalizados
Aquí veremos cómo accionar eventos personalizados y mejorar la cuestión de cómo el indicador informa del estado del servicio de repetición/simulación.