Trading Algorítmico MQL5
21.4K subscribers
532 photos
532 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
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...
En la parte anterior, se habló sobre la implementación de un sistema de repetición/simulador y se explicó el uso de la función iSpread en el evento OnCalculate. Si no estás familiarizado con esos detalles, es recomendable leer el artículo previo.

El texto se enfoca en mejorar el archivo C_Replay.mqh, crucial para el seguimiento temporal en condiciones de baja liquidez. Se elimina un evento personalizado y se establecen condiciones para llamadas regulares a CreateBarInReplay, asegurando la actualización constante de datos.

La función principal de iSpread es proporcionar datos de spread cuando MetaTrader 5 no lo hace adecuadamente. Cambios en el código indican cómo mitigar errores relacionados con información de ticks y garantizar la funcionalidad del sistema repetidor.

Es importante notar problemas de congelación de datos en ciertas condiciones del mercado. Aunque algunos inconveni...

Leer más...
Explora cómo manejar eficazmente situaciones de baja liquidez en MetaTrader 5 con un sistema de repetición. Descubre un enfoque ingenioso para notificar a los usuarios sobre subastas sin adentrarse en complejidades innecesarias. A través de innovaciones en el código, aprende a garantizar que los indicadores sean más genéricos y uniformes, independientemente del símbolo usado en un gráfico. El sistema se beneficia de una estrategia simple, identificando subastas basadas en la ausencia de transacciones por 60 segundos, ofreciendo así un balance entre funcionalidad y eficiencia para desarrolladores en busca de optimizar sus prácticas de trading algorítmico.

Leer más...
En MetaTrader 5 build 4755 se ha solucionado un error al calcular el triple swap en el simulador de estrategias, que ocurría con ciertas combinaciones de condiciones de prueba.

Además, en la nueva versión hemos realizado una serie de mejoras y correcciones menores para hacer la plataforma aún más estable.

Discutir actualización...