Desarrollo de un sistema de repetición (Parte 65): Presionando play en el servicio (VI)
En este artículo, mostraré cómo lo implementaremos y resolveremos el problema del indicador del mouse cuando se utiliza junto con la aplicación de repetición/simulación. El contenido expuesto aquí tiene como único propósito la enseñanza. En ningún caso debe considerarse una aplicación cuya finalidad no sea el aprendizaje y estudio de los conceptos presentados.
Técnicas de remuestreo para la evaluación de predicciones y clasificaciones en MQL5
En este artículo exploraremos e implementaremos métodos para evaluar la calidad de los modelos que utilizan un único conjunto de datos como conjuntos de entrenamiento y validación.
Desarrollo de un sistema de repetición (Parte 76): Un nuevo Chart Trade (III)
En este artículo, veremos cómo funciona el código faltante del artículo anterior, DispatchMessage. Aquí se introducirá el tema del próximo artículo. Por esta razón, es importante entender el funcionamiento de este procedimiento antes de pasar al siguiente tema. 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 presentados.
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.
Características del Wizard MQL5 que debe conocer (Parte 43): Aprendizaje por refuerzo con SARSA
SARSA, que es la abreviatura de State-Action-Reward-State-Action (Estado-Acción-Recompensa-Estado-Acción), es otro algoritmo que se puede utilizar al implementar el aprendizaje por refuerzo. Por lo tanto, tal y como vimos con Q-Learning y DQN, analizamos cómo se podría explorar e implementar esto como un modelo independiente, en lugar de solo como un mecanismo de entrenamiento, en los asesores expertos ensamblados por el asistente.
Optimización del modelo de nubes atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Teoría
Este artículo se centra en el algoritmo metaheurístico Atmosphere Clouds Model Optimisation (ACMO), que modela el comportamiento de las nubes para resolver problemas de optimización. El algoritmo usa los principios de generación, movimiento y propagación de nubes, adaptándose a las "condiciones meteorológicas" del espacio de soluciones. El artículo revela cómo una simulación meteorológica del algoritmo encuentra soluciones óptimas en un espacio de posibilidades complejo y detalla las etapas del ACMO, incluida la preparación del "cielo", el nacimiento de las nubes, su movimiento y la concentración de la lluvia.
Desarrollo de un sistema de repetición (Parte 69): Ajuste del tiempo (II)
Aquí entenderemos por qué necesitamos utilizar la función iSpread. Al mismo tiempo, comprenderemos cómo el sistema nos informa del tiempo restante de la barra cuando no hay ticks disponibles para hacerlo. El contenido presentado aquí tiene como único propósito la enseñanza y la didáctica. En ningún caso debe considerarse una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
Desarrollo de un sistema de repetición (Parte 72): Una comunicación inesperada (I)
Lo que construiremos será complejo de entender. Por esta razón, en este artículo solo presentaré el inicio de la construcción. Léelo con calma, ya que es esencial comprender su contenido para pasar al siguiente paso. El objetivo de este contenido es meramente didáctico, sin aplicación práctica más allá del aprendizaje y estudio de los conceptos presentados.
Características del Wizard MQL5 que debe conocer (Parte 33): Núcleos de procesos gaussianos
Los núcleos del proceso gaussiano son la función de covarianza de la distribución normal que podría desempeñar un papel en el pronóstico. Exploramos este algoritmo único en una clase de señal personalizada de MQL5 para ver si podría usarse como una señal de entrada y salida principal.
Desarrollo de un sistema de repetición (Parte 53): Esto complica las cosas (V)
En este artículo, presentaré un tema muy importante, que pocos comprenden realmente: Eventos personalizados. Peligros. Ventajas y fallos causados por tales elementos. Este tema es clave para quienes desean convertirse en programadores profesionales en MQL5 o en cualquier otro tipo de lenguaje. Por ello, nos centraremos en MQL5 y MetaTrader 5.
Algoritmo de campo eléctrico artificial (AEFA) — Artificial Electric Field Algorithm (AEFA)
Este artículo presenta el algoritmo de campo eléctrico artificial (AEFA) inspirado en la ley de Coulomb de la fuerza electrostática. El algoritmo modela fenómenos eléctricos para resolver problemas de optimización complejos usando partículas cargadas y las interacciones de estas. El AEFA presenta propiedades únicas en el contexto de otros algoritmos relacionados con las leyes de la naturaleza.
Algoritmo de optimización de sociedad anárquica (Anarchic Society Optimization, ASO)
En este artículo, nos familiarizaremos con el algoritmo de optimización de sociedad anárquica (Anarchic Society Optimization, ASO) y discutiremos cómo un algoritmo basado en el comportamiento irracional y aventurero de los participantes en una sociedad anárquica (un sistema anómalo de interacción social libre de poder centralizado y varios tipos de jerarquías) es capaz de explorar el espacio de soluciones y evitar las trampas del óptimo local. El artículo presenta una estructura ASO unificada aplicable tanto a problemas continuos como discretos.
Análisis de múltiples símbolos con Python y MQL5 (Parte II): Análisis de componentes principales para la optimización de carteras
La gestión del riesgo de las cuentas de trading es un reto para todos los operadores. ¿Cómo podemos desarrollar aplicaciones de trading que aprendan dinámicamente los modos de riesgo alto, medio y bajo para diversos símbolos en MetaTrader 5? Al utilizar el Análisis de Componentes Principales (Principal Components Analysis, PCA), obtenemos un mejor control sobre la variación de la cartera. Demostraré cómo crear aplicaciones que aprendan estos tres modos de riesgo a partir de datos de mercado obtenidos de MetaTrader 5.
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.
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.
Optimización por herencia sanguínea — Blood inheritance optimization (BIO)
Les presento mi nuevo algoritmo basado en la población, el BIO (Blood Inheritance Optimization), inspirado en el sistema de herencia del grupo sanguíneo humano. En este algoritmo, cada solución tiene un "grupo sanguíneo" distinto que determina su forma de evolucionar. Al igual que en la naturaleza, el grupo sanguíneo de un niño se hereda según reglas específicas, en el BIO las nuevas soluciones obtienen sus características mediante un sistema de herencia y mutaciones.
Uso de reglas de asociación en el análisis de datos de Forex
¿Cómo aplicar las reglas predictivas del análisis minorista de supermercados al mercado Forex real? ¿Cómo se relacionan las compras de galletas, leche y pan con las transacciones bursátiles? El artículo analiza un enfoque innovador del trading algorítmico basado en el uso de reglas de asociación.
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 05): Creación de la clase C_Orders (II)
En este artículo, explicaré cómo Chart Trade, junto con el asesor experto, gestionará la solicitud de cierre de todas las posiciones abiertas del usuario. Parece sencillo, pero hay algunos factores que complican la situación y que es necesario saber gestionar.
De novato a experto: Noticias animadas utilizando MQL5 (I)
La accesibilidad a las noticias es un factor crítico a la hora de operar en el terminal MetaTrader 5. Aunque existen numerosas API de noticias, muchos operadores tienen dificultades para acceder a ellas e integrarlas de forma eficaz en su entorno de negociación. En este debate, nuestro objetivo es desarrollar una solución optimizada que lleve las noticias directamente al gráfico, donde más se necesitan. Lograremos esto mediante la creación de un asesor experto en titulares de noticias que monitorea y muestra actualizaciones de noticias en tiempo real desde fuentes API.
Métodos de discretización de los movimientos de precios en Python
Hoy analizaremos varios métodos de discretización de precios en Python + MQL5. En este artículo compartiré mi experiencia práctica en el desarrollo de una biblioteca Python que implementa toda una gama de enfoques para la formación de barras: desde las clásicas Volume y Range bars hasta métodos más exóticos como Renko y Kagi, velas de ruptura de tres líneas, barras de Rango; ¿cuáles son sus estadísticas, de qué otra forma se pueden representar los precios de forma discreta?
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.
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: Sistema comercial matricial para retornar al valor justo con limitación del riesgo
El artículo contiene una descripción detallada del algoritmo de cálculo de tipos cruzados, una visualización de la matriz de desequilibrios y recomendaciones para configurar de manera óptima los parámetros MinDiscrepancy y MaxRisk para un trading efectivo. El sistema calcula automáticamente el "valor justo" de cada par de divisas usando tipos de cambio cruzados, generando señales de compra para las desviaciones negativas y señales de venta para las desviaciones positivas.
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.
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.
Desarrollo de un sistema de repetición (Parte 67): Refinando el indicador de control
En este artículo, mostraré lo que un poco de refinamiento en el código es capaz de lograr. Dicho refinamiento tiene como objetivo simplificar nuestro código, hacer un mayor uso de las llamadas a la biblioteca de MQL5 y, sobre todo, conseguir que sea mucho más estable, seguro y fácil de usar en otros códigos que desarrollemos en el futuro. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe considerarse como una aplicación cuya finalidad no sea el aprendizaje y estudio de los conceptos mostrados.
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 18): Introducción a la teoría de los cuartos (III) — Quarters Board
En este artículo mejoramos el script Quarters original con la introducción del Quarters Board, una herramienta que te permite alternar los niveles de cuartos directamente en el gráfico sin necesidad de volver a revisar el código. Puede activar o desactivar fácilmente niveles específicos, y el EA también proporciona comentarios sobre la dirección de la tendencia para ayudarle a comprender mejor los movimientos del mercado.
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 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á.
Algoritmo de optimización caótica — Chaos optimization algorithm (COA)
Hoy hablaremos de un algoritmo de optimización caótica (COA) mejorado, que combina los efectos del caos con mecanismos de búsqueda adaptativos. El algoritmo usa un conjunto de mapeos caóticos y componentes inerciales para explorar el espacio de búsqueda. El artículo revela los fundamentos teóricos de los métodos caóticos de optimización financiera.
Desarrollo de un sistema de repetición (Parte 60): Presionando play en el servicio (I)
Llevamos bastante tiempo trabajando únicamente con los indicadores. Pero ahora ha llegado el momento de hacer que el servicio vuelva a ejecutar su trabajo y podamos ver el gráfico construyéndose con los datos proporcionados. Sin embargo, como no todo es tan simple, será necesario observar para entender lo que nos espera.
Desarrollo de un sistema de repetición (Parte 63): Presionando play en el servicio (IV)
En este archivo, resolveremos por fin los problemas de simulación de los ticks en una barra de un minuto, de manera que puedan coexistir con ticks reales. De esta manera, evitaremos enfrentarnos a problemas en el futuro. El contenido expuesto aquí tiene como único objetivo la didáctica. En ningún caso debe interpretarse como una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
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.
Análisis espectral singular unidimensional
El artículo aborda aspectos teóricos y prácticos del método de análisis espectral singular (ARS), un método eficaz de análisis de series temporales que permite representar la compleja estructura de una serie como una descomposición en componentes simples, como la tendencia, las fluctuaciones estacionales (periódicas) y el ruido.
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 kit de herramientas para el análisis de la acción del precio (Parte 16): Introducción a la teoría de los cuartos (II) - Intrusion Detector EA
En nuestro artículo anterior presentamos un script sencillo llamado «The Quarters Drawer». Partiendo de esa base, ahora damos el siguiente paso creando un Asesor Experto (Expert Advisor, EA) de monitoreo, destinado a seguir estos cuartos y a proporcionar supervisión sobre posibles reacciones del mercado en dichos niveles. Acompáñenos mientras exploramos el proceso de desarrollo de una herramienta de detección de zonas en este artículo.
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.
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 la fuerza central — Central Force Optimization (CFO)
Este artículo presenta un algoritmo de optimización de la fuerza central (CFO) inspirado en las leyes de la gravedad. Hoy investigaremos cómo los principios de atracción física pueden resolver problemas de optimización en los que las soluciones "más difíciles" atraen a sus homólogas menos exitosas.