Métodos de ensamble para mejorar predicciones numéricas en MQL5
En este artículo presentamos la implementación de varios métodos de aprendizaje por ensamble en MQL5 y examinamos su efectividad en distintos escenarios.
Simulación de mercado (Parte 08): Sockets (II)
¿Qué te parece si creamos algo práctico con sockets? Bien, en este artículo empezaremos a crear un minichat. Acompáñanos y descubre cómo se hace, porque será algo bastante interesante. Recuerda que el código que se mostrará aquí tiene un objetivo puramente didáctico. En realidad, no deberías utilizar este código con fines comerciales ni en una aplicación finalizada, ya que no cuenta con ningún tipo de seguridad en la transmisión de datos y es posible ver el contenido que se está transportando a través del socket.
Simulación de mercado (Parte 15): Sockets (IX)
En este artículo, explicaré una de las posibles soluciones a lo que he estado intentando mostrar. Es decir, cómo permitir que un usuario de Excel realice una acción en MetaTrader 5 sin enviar órdenes ni abrir o cerrar una posición. La idea es que el usuario utilice Excel para realizar un análisis fundamental de algún símbolo. Y que, usando únicamente Excel, pueda indicar a un Asesor Experto que se esté ejecutando en MetaTrader 5 que debe abrir o cerrar una posición determinada.
Algoritmo de optimización del billar — Billiards Optimization Algorithm (BOA)
El método BOA, inspirado en el clásico juego del billar, modela el proceso de búsqueda de soluciones óptimas como un juego de bolas que intentan acertar en las troneras que representan los mejores resultados. En este artículo revisaremos los fundamentos del BOA, su modelo matemático y su eficacia para resolver diversos problemas de optimización.
Redefiniendo los indicadores de MQL5 y MetaTrader 5
Un enfoque innovador para recopilar información de indicadores en MQL5 que permite un análisis de datos más flexible y optimizado, al permitir a los desarrolladores pasar entradas personalizadas a los indicadores para realizar cálculos inmediatos. Este enfoque resulta especialmente útil para el trading algorítmico, ya que proporciona un mayor control sobre la información procesada por los indicadores, superando las limitaciones tradicionales.
Analizamos el código binario de los precios en bolsa (Parte II): Convirtiendo a BIP39 y escribiendo un modelo GPT
Seguimos intentando descifrar los movimientos de los precios.... ¿Qué tal un análisis lingüístico del "diccionario de mercado" que obtendríamos convirtiendo el código binario de precios en BIP39? En el presente artículo, nos adentramos en un enfoque innovador del análisis de los datos bursátiles y exploramos cómo pueden aplicarse las modernas técnicas de procesamiento del lenguaje natural al lenguaje del mercado.
Operar con noticias de manera sencilla (Parte 4): Mejora del rendimiento
Este artículo profundizará en los métodos para mejorar el tiempo de ejecución del experto en el probador de estrategias. El código se escribirá para dividir los tiempos de los eventos de noticias en categorías por hora. Las horas de estos eventos noticiosos se accederán dentro de la hora especificada. Esto garantiza que el EA pueda gestionar de manera eficiente las operaciones basadas en eventos tanto en entornos de alta como de baja volatilidad.
Kit de herramientas de negociación MQL5 (Parte 7): Ampliación de la libreria EX5 de gestión del historial con las funciones de última orden pendiente cancelada
Aprenda a completar la creación del módulo final en la librería History Manager EX5, centrándose en las funciones responsables de gestionar la orden pendiente cancelada más recientemente. Esto le proporcionará las herramientas necesarias para recuperar y almacenar de manera eficiente los detalles clave relacionados con las órdenes pendientes canceladas con MQL5.
Mecanismos de compuertas en el aprendizaje en conjuntos
En este artículo, continuamos nuestra exploración de los modelos ensamblados analizando el concepto de compuertas, concretamente cómo pueden ser útiles para combinar los resultados de los modelos con el fin de mejorar la precisión de las predicciones o la generalización de los modelos.
Pruebas de robustez en asesores expertos
En el desarrollo de una estrategia hay muchos detalles complejos a tener en cuenta, muchos de los cuales no se destacan para los traders principiantes. Como resultado, muchos comerciantes, incluido yo mismo, hemos tenido que aprender estas lecciones a las duras penas. Este artículo se basa en mis observaciones de errores comunes que la mayoría de los traders principiantes encuentran al desarrollar estrategias en MQL5. Ofrecerá una variedad de consejos, trucos y ejemplos para ayudar a identificar la descalificación de un EA y probar la solidez de nuestros propios EA de una manera fácil de implementar. El objetivo es educar a los lectores, ayudándolos a evitar futuras estafas al comprar EA, así como a prevenir errores en el desarrollo de su propia estrategia.
Simulación de mercado (Parte 09): Sockets (III)
Este artículo es la continuación del anterior. En él veremos cómo se implementará el Asesor Experto, centrándonos principalmente en cómo debe hacerse el código del servidor. El código del artículo anterior no es suficiente para que las cosas funcionen como deberían, por lo que es necesario profundizar en él. Por esta razón, es necesario que leas ambos artículos para comprender mejor lo que ocurrirá.
ADAM poblacional (Estimación Adaptativa de Momentos)
Este artículo presenta la transformación del conocido y popular método de optimización ADAM basado en gradientes en un algoritmo basado en poblaciones y su modificación con la introducción de individuos híbridos. El nuevo enfoque permite crear agentes que combinen elementos de soluciones exitosas mediante una distribución de probabilidades. Una innovación clave es la generación de poblaciones híbridas que acumulan de forma adaptativa la información de las soluciones más prometedoras, mejorando la eficacia de la búsqueda en espacios multidimensionales complejos.
Desarrollo de un sistema de repetición (Parte 64): Presionando play en el servicio (V)
En este artículo, mostraré cómo corregir dos errores presentes en el código. Sin embargo, he intentado explicarlas de manera que tú, aspirante a programador, entiendas que las cosas no siempre ocurrirán como habías previsto. Pero esto no debe ser motivo de desesperación, sino una oportunidad para aprender. El contenido expuesto aquí tiene como único propósito ser didáctico. En ningún caso debe interpretarse como una aplicación cuya finalidad sea distinta al aprendizaje y estudio de los conceptos presentados.
Simulación de mercado (Parte 13): Sockets (VII)
Cuando tú desarrollas algo, ya sea en xlwings o en cualquier otro paquete que nos permita leer y escribir directamente en Excel, en realidad deberías notar que todos los programas, funciones o procedimientos se ejecutan y luego finalizan su tarea. No permanecen allí dentro de un bucle, y, por más que intentes hacer las cosas de otra forma.
Gestor de riesgos profesional remoto para Forex en Python
Hoy crearemos un gestor de riesgos profesional remoto para Forex en Python, y los desplegaremos en un servidor paso a paso. En el transcurso del artículo entenderemos cómo gestionar programáticamente los riesgos en Forex, y cómo no agotar más nuestro depósito en el mundo de las divisas.
Simulación de mercado (Parte 07): Sockets (I)
Sockets. ¿Sabes para qué sirven o cómo usarlos en MetaTrader 5? Si la respuesta es no, comencemos aprendiendo un poco sobre ellos. Este artículo trata de lo más básico. Pero, como existen diversas maneras de hacer lo mismo, y lo que realmente nos interesa es siempre el resultado, quiero mostrar que sí, existe una forma sencilla de pasar datos desde MetaTrader 5 hacia otros programas, como, por ejemplo, Excel. Sin embargo, la idea principal no es transferir datos de MetaTrader 5 a Excel, sino hacer lo contrario. Es decir, transferir datos desde Excel, o desde cualquier otro programa, hacia MetaTrader 5.
Creación de un Panel de administración de operaciones en MQL5 (Parte IX): Organización del código (II): Modularización
En este debate, damos un paso más allá al desglosar nuestro programa MQL5 en módulos más pequeños y manejables. Estos componentes modulares se integrarán posteriormente en el programa principal, mejorando su organización y facilidad de mantenimiento. Este enfoque simplifica la estructura de nuestro programa principal y permite reutilizar los componentes individuales en otros asesores expertos (EA) y desarrollos de indicadores. Al adoptar este diseño modular, creamos una base sólida para futuras mejoras, lo que beneficia tanto a nuestro proyecto como a la comunidad de desarrolladores en general.
Trading de arbitraje en Forex: Un bot market-maker simple de sintéticos para comenzar
Hoy vamos a desmontar mi primer robot de arbitraje: un proveedor de liquidez (si lo podemos llamar así) en activos sintéticos. Hoy en día este bot está funcionando con éxito como un módulo en un gran sistema de aprendizaje automático, pero he puesto en marcha un viejo robot de arbitraje de divisas de la nube, así que le propongo echarle un vistazo, y pensar en lo que podemos hacer con él hoy.
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 13): Herramienta RSI Sentinel
La evolución de los precios puede analizarse eficazmente identificando divergencias, con indicadores técnicos como el RSI que proporcionan señales de confirmación cruciales. En el siguiente artículo, explicamos cómo el análisis automatizado de divergencias del RSI puede identificar continuaciones y reversiones de tendencias, ofreciendo así información valiosa sobre el sentimiento del mercado.
Características del Wizard MQL5 que debe conocer (Parte 54): Aprendizaje por refuerzo con SAC híbrido y tensores
Soft Actor Critic es un algoritmo de aprendizaje por refuerzo que analizamos en un artículo anterior, donde también presentamos Python y ONNX en esta serie como enfoques eficientes para entrenar redes. Revisamos el algoritmo con el objetivo de aprovechar los tensores, gráficos computacionales que a menudo se utilizan en Python.
Algoritmo de optimización de neuroboides — Neuroboids Optimization Algorithm (NOA)
Hoy hablaremos de una nueva metaheurística de optimización inspirada en la naturaleza: el NOA (Neuroboids Optimisation Algorithm), que combina principios de inteligencia colectiva y redes neuronales. A diferencia de los métodos clásicos, el algoritmo usa una población de "neuroboides" autodidactas, cada uno con su propia red neuronal que adapta la estrategia de búsqueda en tiempo real. En el artículo se revela la arquitectura del algoritmo, los mecanismos de autoaprendizaje de los agentes y las perspectivas de aplicación de este enfoque híbrido a problemas complejos de optimización.
Características del Wizard MQL5 que debe conocer (Parte 55): SAC con Prioritized Experience Replay (PER)
Los búferes de reproducción en el aprendizaje por refuerzo son especialmente importantes con algoritmos fuera de política como DQN o SAC. Esto pone entonces el foco en el proceso de muestreo de este búfer de memoria. Mientras que las opciones predeterminadas con SAC, por ejemplo, utilizan una selección aleatoria de este búfer, los búferes de reproducción de experiencia priorizada ajustan esto mediante un muestreo del búfer basado en una puntuación TD. Repasamos la importancia del aprendizaje por refuerzo y, como siempre, examinamos solo esta hipótesis (no la validación cruzada) en un asesor experto creado por un asistente.
El filtro de Kalman para estrategias de reversión a la media en Forex
El filtro de Kalman es un algoritmo recursivo utilizado en el trading algorítmico para estimar el estado real de una serie temporal financiera filtrando el ruido de los movimientos de precios. Actualiza dinámicamente las predicciones basándose en nuevos datos del mercado, lo que lo hace valioso para estrategias adaptativas como la reversión a la media. Este artículo presenta primero el filtro de Kalman, cubriendo su cálculo e implementación. A continuación, aplicamos el filtro a una estrategia clásica de reversión a la media en el mercado de divisas como ejemplo. Por último, realizamos diversos análisis estadísticos comparando el filtro con una media móvil en diferentes pares de divisas.
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.
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.
Aplicación de la teoría de juegos a algoritmos comerciales
Hoy crearemos un asesor comercial adaptativo de autoaprendizaje basado en DQN de aprendizaje automático, con inferencia causal multivariante, que negociará con éxito simultáneamente en 7 pares de divisas, con agentes de diferentes pares intercambiando información entre sí.