Trading Algorítmico MQL5
20.6K subscribers
499 photos
499 links
Las mejores publicaciones de la mayor comunidad de tráders algorítmicos.

Suscríbase para estar al día con las tecnologías más avanzadas y el desarrollo de programas de trading.
Download Telegram
La propuesta de ATFNet presenta un enfoque innovador para la previsión de series temporales, combinando análisis en los dominios temporal y frecuencial. Utiliza módulos específicos para manejar dependencias locales y globales, y un mecanismo de ponderación que optimiza el uso de ambos campos. A través de una FFT extendida, ATFNet alinea los espectros de frecuencia, mejorando la precisión de la predicción. La atención espectral compleja permite captar combinaciones de respuesta en frecuencia de manera eficiente. Experimentos con diversos conjuntos de datos demuestran que ATFNet supera a métodos tradicionales, ofreciendo un avance significativo para desarrolladores interesados en mejorar predicciones en series temporales.

Leer más...
MetaTrader 5 build 4730 en MQL5 ahora admite varias funciones nuevas de la biblioteca OpenBLAS, así como las funciones TransposeConjugate y CompareEqual. Estas ofrecerán aún más oportunidades a la hora de trabajar con matrices y vectores.

Además, hemos corregido la compatibilidad del paquete de integración de MQL5 con Python. Ahora funciona con cualquier versión de Python hasta la versión 3.13.

También hemos optimizado y acelerado el trabajo de la plataforma con los datos de precios, mejorado la ventana de apertura de cuentas y corregido la visualización de los valores de las posiciones.

Seguir leyendo...
La naturaleza ha sido una fuente rica de inspiración para el desarrollo de algoritmos de optimización como el ACS (búsqueda cooperativa artificial). Basado en interacciones mutualistas y comportamientos de superorganismos eusociales, como las hormigas y abejas, este algoritmo busca soluciones óptimas al simular y adaptar estrategias de cooperación y migración.

El ACS utiliza dos poblaciones de superorganismos artificiales, α y β, para explorar y optimizar el espacio de búsqueda. A través de la selección dinámica y la mutación, permite encontrar soluciones eficientes en problemas complejos. Su enfoque innovador garantiza alta precisión y velocidad de convergencia, convirtiéndolo en una herramienta poderosa para resolver una variedad de problemas en optimización numérica.

Leer más...
Los arrays son estructuras esenciales en programación, eficientes para organizar y almacenar datos. En MQL5, se declaran especificando el tipo de dato y tamaño del array. Existen dos métodos para asignar valores: durante la declaración o posterior a ella. Además, el acceso a los elementos se realiza mediante índices comenzando desde cero.

Las funciones definidas por el usuario en MQL5 permiten realizar tareas específicas, mejorando la modularidad y legibilidad del código. Al definir una función, se elige un nombre y se especifican los parámetros y el tipo de retorno.

Los preprocesadores son herramientas clave en MQL5, reinterpretando el código fuente antes de compilarlo. Permiten definir constantes y configuraciones, mejorando la eficiencia del código.

Leer más...
El artículo aborda la mejora de clases de indicadores de símbolo y periodo múltiple en MetaTrader 5, centrándose en el manejo de indicadores de flechas. Se introduce la capacidad de indicar valores vacíos en búferes para evitar la eliminación de flechas al copiar datos entre marcos temporales. Se rediseñan métodos para copiar de manera eficiente, utilizando arrays globales y comprobando variables. La implementación se prueba con indicadores de flechas como Fractals y Parabolic SAR, mostrando cómo se integran datos de distintos periodos en gráficos M1, M5 y M15. Estas mejoras son relevantes para desarrolladores interesados en optimizar la gestión de información gráfica en plataformas de trading algorítmico.

Leer más...
La versión web de la plataforma MetaTrader 5 es una solución comercial moderna, rápida y fiable. Funciona en cualquier dispositivo, con cualquier sistema operativo y no requiere la instalación de ningún software adicional. El acceso a la cuenta solo requiere de un navegador.

Para familiarizarse con las funciones del terminal web, hemos preparado un breve vídeo. En solo 4 minutos, aprenderá a:

✓ Conectarse a una cuenta
✓ Ver cotizaciones y gráficos
✓ Realizar transacciones comerciales
✓ Analizar los mercados utilizando indicadores y objetos
✓ Realizar un seguimiento de la cuenta y la historia de transacciones

Ver el vídeo
El artículo explora la innovadora implementación del algoritmo ATFNet para la predicción de series temporales utilizando dos modelos complementarios: uno para el análisis temporal y otro para frecuencias. Se centra en la creación de la clase CNeuronATFNetOCL, la cual facilita la integración de procesos paralelos en un único bloque. El diseño aborda la normalización de datos y el uso de transformadas de Fourier para gestionar la frecuencia dominante. A través de un enfoque meticuloso en la implementación, se destaca la habilidad de ATFNet para mejorar las predicciones a través de una representación compleja y un detallado análisis estadístico y de datos históricos.

Leer más...
En el artículo anterior, se abordaron cambios en módulos de control de indicadores y el mouse, centrándose en resolver problemas de encapsulamiento en el sistema de repetición/simulación. Se identificó una fuga de datos en la clase C_FilesTicks, corregida al declarar una variable privada y reajustar el encapsulamiento, mejorando la seguridad. Cambios similares se realizaron en C_ConfigService, eliminando variables no necesarias de la configuración general. Además, se implementaron actualizaciones en el módulo del indicador de control para mejorar la estabilidad y prevenir errores aleatorios, asegurando que el servicio de repetición/simulación sea más seguro y estable.

Leer más...
En el desarrollo de sistemas de repetición y simuladores de MetaTrader 5 se ha identificado una caída de rendimiento inesperada. Este problema necesita ser abordado e implica una revisión y ajuste del código, con un enfoque en la programación orientada a objetos. Se destacan las ventajas de entender y utilizar adecuadamente los objetos gráficos en MQL5 para mejorar el rendimiento del servicio sin crear dependencias complejas.

La revisión del código se centra en mejorar la legibilidad y eficiencia. Se introducen modificaciones en los archivos de cabecera como C_Controls.mqh y C_DrawImage.mqh para gestionar y accesar el estado de los objetos gráficos de manera más directa. Estos cambios, aunque no dramáticamente rápidos, optimizan ciertos aspectos del rendimiento y ofrecen una estructura de código más clara.

Finalmente, se destaca la importancia de realizar pruebas con estos ajustes p...

Leer más...
Para mejorar la velocidad de respuesta en el sistema de simulación de MetaTrader 5, se propone establecer límites en la cantidad de ticks procesados. Esto se debe a que, tanto en datos simulados como reales, una alta frecuencia de ticks puede sobrecargar la capacidad de procesamiento y afectar la eficiencia. Se introduce una nueva variable que controla el número máximo de ticks, ajustando así el sistema para manejar la información sin comprometer la integridad temporal o calidad de los datos. Este enfoque busca optimizar el rendimiento y adaptabilidad del sistema en diferentes escenarios de trading algorítmico.

Leer más...
El algoritmo Artificial Cooperative Search (ACS) se ha destacado por modelar relaciones mutualistas en la naturaleza para resolver problemas de optimización multidimensional. Investigaciones recientes han introducido modificaciones significativas que optimizan su eficacia. La primera modificación añade columnas a las matrices de población para mejorar la precisión de las soluciones. La segunda modificación revisa la selección de candidatos, aumentando la eficiencia y diversidad de la búsqueda óptima mediante comparaciones aleatorias. La tercera modificación reorganiza las poblaciones Predator y Prey en función del valor de aptitud, mejorando así la convergencia del algoritmo. Este enfoque refina la capacidad de ACS para enfrentar desafíos complejos en el ámbito de la inteligencia artificial.

Leer más...
El artículo aborda problemas y soluciones en un sistema de simulación de ticks. Se detalla cómo los errores surgen al tratar datos simulados como reales, afectando la temporización en la construcción de barras de un minuto. Se explica la necesidad de un número mínimo de ticks y cómo influye en la simulación basada en datos reales. La implementación de ajustes en el código, especialmente en C_Simulation.mqh y C_FileTicks.mqh, se presenta como esencial para manejar la memoria y corregir desajustes. Se destaca la importancia de permitir configuraciones de usuario en archivos, asegurando el rendimiento óptimo en sistemas específicos. Concluye con una revisión de ajustes para mejorar la simulación de ticks.

Leer más...
En el campo del desarrollo de sistemas de repetición, controlar el modo de reproducción y pausa es esencial. Un problema surge cuando el sistema entra en pausa inesperadamente, debido a un mal manejo del evento personalizado que altera la propiedad del objeto gráfico. La solución consiste en evitar la observación del objeto gráfico y optar por leer el buffer del indicador de control. Esto no solo corrige el problema del modo pausa automático, sino que también permite implementar funciones adicionales, como el avance rápido.

Además, se resolvió un problema de fuga de memoria asociado con la incorrecta eliminación de objetos en el gráfico. La solución implicó modificar la gestión de punteros dentro de la clase responsable de controlar estos objetos, asegurando que se liberen adecuadamente al destruirse. Esta atención al detalle es crucial para garantizar la estabilidad y funcionalidad ...

Leer más...
Implementar un sistema de repetición en MetaTrader 5 es un desafío complejo, especialmente al optimizar funciones como el avance rápido. Este artículo ofrece una solución adaptativa, eliminando la dependencia de variables globales y usando nuevas técnicas. Se presentan dos enfoques: uno básico, que muestra gráficamente la creación de barras de precios, y uno ágil, que aumenta la eficiencia al utilizar índices de barras pre-calculados.

El modelo básico es más visual pero lento, mientras que el ágil acelera el proceso al evitar recalcular posiciones. Ambos son fundamentales para mejorar el rendimiento del simulador y demuestran cómo pequeñas modificaciones, como el uso de spread en estructuras de datos, pueden mejorar significativamente la funcionalidad de aplicaciones de trading algorítmico.

Leer más...
El análisis de correlación es fundamental para detectar dependencias entre variables aleatorias. La ratio de correlación, aunque popular, solo mide dependencia lineal. Valores cero no necesariamente implican independencia en distribuciones no normales.

La prueba chi-cuadrado de Pearson evalúa independencia entre variables al comparar frecuencias reales con esperadas. El cálculo se basa en la formación de intervalos y una tabla de contingencia.

El coeficiente de contingencia de Cramer complementa el análisis chi-cuadrado al medir la dependencia de probabilidad. Este enfoque es útil para evaluar relaciones no lineales y validar modelos financieros. Es crucial ajustar la precisión de las pruebas seleccionando el nivel de significación adecuado.

Leer más...
El artículo presenta una serie de soluciones técnicas avanzadas para mejorar la sincronización y la reproducción en sistemas de simulación de MetaTrader 5. Se aborda el problema de la indicación del tiempo restante hasta la próxima barra en simulaciones, una característica valiosa para operadores. Al implementar esta funcionalidad, se enfatiza en la manipulación precisa del tiempo y la necesidad de evitar el uso de variables globales del terminal para una transferencia eficiente de la información entre programas. La solución se centra en la sincronización del reloj del sistema y el uso de eventos personalizados para mejorar la eficiencia sin comprometer el rendimiento.

Leer más...
Implementar métodos eficientes y optimizar código es crucial para mantener sistemas robustos y fáciles de mantener. En la clase C_DrawImage, se aborda el reto de acceder a recursos internos en lugar de externos, lo que simplifica las operaciones y mejora la sostenibilidad.

Al revisar el código de C_Controls y C_DrawImage, se destaca la importancia de estructurar adecuadamente la herencia y la gestión de recursos. Adaptar el uso de punteros para clases como C_Terminal puede aumentar la consistencia y seguridad del código.

A través de una implementación cuidadosa y el uso de bibliotecas MQL5 optimizadas, es posible mejorar la eficiencia del sistema, asegurando así una expansión segura y un mantenimiento simplificado a largo plazo.

Leer más...
Descubre un enfoque innovador para mejorar la precisión de los indicadores del mouse en MetaTrader 5, revelado en un reciente artículo sobre sistemas de repetición. Un problema común en el seguimiento del tiempo restante de las barras debido a la baja liquidez se aborda con eficiencia. Al crear un nuevo método de actualización que no depende exclusivamente del evento OnCalculate, logramos que el indicador reciba señales precisas en situaciones de baja actividad. Este avance no solo optimiza el rendimiento del servicio de repetición, sino que también ofrece a los desarrolladores la capacidad de gestionar mejor el tiempo y los datos, incluso en condiciones de mercado difíciles.

Leer más...
Descubre cómo aprovechar la profundidad de mercado para detectar bloques de órdenes en MetaTrader 5 con este innovador enfoque. Aprende a crear arrays dinámicos para almacenar volúmenes, y usar eventos como OnBookEvent para recopilar datos en tiempo real. Verificamos condiciones específicas de volumen para identificar desbalances significativos y estructura de velas para localizar potenciales bloques de órdenes. Exploramos la implementación detallada de buffers para visualizar y gestionar estos datos en el gráfico. Esta técnica avanzada beneficia a traders y desarrolladores interesados en mejorar sus estrategias de trading automatizado, al proporcionar una herramienta robusta y adaptada a las dinámicas del mercado.

Leer más...
El artículo aborda un problema común en MetaTrader 5 al analizar grandes volúmenes de datos comerciales, donde el exceso de etiquetas en gráficos puede confundir a los traders. La solución propuesta es un mecanismo que visualiza posiciones cerradas paso a paso, mejorando la claridad y detalles de las transacciones. Funciones como la navegación eficiente y el centrado automático en posiciones destacadas optimizan el proceso. Además, se presenta un desglose técnico de la estructura de clases y datos necesaria, permitiendo a los traders gestionar con eficiencia su historial y tomar decisiones informadas. Ideal para desarrolladores e interesados en mejorar su comprensión del trading algorítmico.

Leer más...