Trading Algorítmico MQL5
25.3K subscribers
856 photos
856 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
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...
👍41👌1
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...
👍31👌1
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...
👍2👌1
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...
👍7👌1
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...
👍5👌1
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...
👍5👌3
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...
👍81👌1
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...
👍7👌2
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...
👍4👌1
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...
👍42👌1
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...
2🔥2👌2👍1
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...
👍51🔥1👌1
En la sección anterior, se abordaron modificaciones necesarias para que el indicador del mouse reciba eventos de libro de órdenes durante la simulación en MetaTrader 5. Es crucial entender estos cambios para aplicar correctamente las nuevas líneas de código.

El artículo describe cómo ajustar el código en el archivo C_Replay.mqh para mejorar el manejo de mensajes y eventos. Estos cambios permiten que el indicador del mouse refleje adecuadamente eventos como subasta o tiempo restante de la barra en un entorno de simulación.

Además, se añade lógica para gestionar transiciones entre eventos de subasta y negociación, asegurando que el código se ejecute sin errores durante estos cambios.

Leer más...
👍83👌1
Al procesar series temporales, es común mantener el orden original de sus pasos, asumiendo que es el más óptimo. Sin embargo, muchos modelos no pueden explorar correctamente las relaciones entre segmentos distantes. Las redes convolucionales captan patrones en ventanas limitadas, lo que dificulta comprender patrones que abarcan periodos más largos. Los modelos Transformer dependen de varios factores para detectar dependencias a largo plazo.

El método Segment, Shuffle, Stitch (S3) aborda este problema reorganizando segmentos para optimizar la representación de las series temporales. S3 divide, mezcla y combina segmentos en una secuencia más eficiente. Integrable con varios modelos, S3 mejora la eficacia en tareas de clasificación y previsión de series temporales.

Leer más...
👍8👌2
El artículo detalla la evolución del sistema de repetición/simulación en MetaTrader 5, centrándose en mejorar la estabilidad y modularidad. Se aborda un problema crítico: el control de gráficos mediante IDs, destacando la importancia de un manejo adecuado del ID del gráfico para evitar conflictos en la interacción de objetos. La solución implica pasar este ID como un parámetro en el indicador de control, asegurando que solo el gráfico creado por el servicio se vea afectado. Además, se introduce la posibilidad de usar plantillas personalizadas sin comprometer la funcionalidad del sistema, lo que beneficia a usuarios con configuraciones gráficas predefinidas.

Leer más...
👍11🔥41👌1
La eliminación del indicador visible en MetaTrader 5 mejora el sistema de repetición al integrarlo completamente en el servicio. Este cambio aumentará la estabilidad y reducirá la carga en MetaTrader 5, haciendo el sistema más seguro y confiable. Los cambios requerirán ajustes cuidadosos en el código para eliminar el sistema de vinculación del ID del gráfico, y es crucial corregir errores durante la compilación. Aunque MetaEditor no tiene un sistema de compilación MAKE, el manejo riguroso de errores permitirá una transición fluida hacia un código más limpio y eficaz. Este enfoque garantiza que el indicador de control permanezca inaccesible al usuario.

Leer más...
👌5👍31
Exploración de la teoría del caos en los mercados financieros, desglosando conceptos como atractores, fractales y el efecto mariposa para comprender mejor la complejidad del mercado. Se destaca el uso del exponente de Lyapunov, implementado en MQL5, para medir la sensibilidad y prever variaciones de precios. Esta herramienta permite a los desarrolladores evaluar el riesgo y adaptar estrategias basadas en la volatilidad del mercado. Mediante la integración de estas teorías, los analistas y traders pueden descubrir patrones ocultos, favoreciendo un análisis más preciso y dinámico, lejos de los métodos tradicionales, mejorando la predicción y gestión de riesgos.

Leer más...
👍6👌3
En este artículo se desarrollan funciones críticas para migrar EAs de prueba a cuentas reales en MetaTrader 5. Se introduce un mecanismo para ajustar nombres de símbolos comerciales, solucionando discrepancias entre plataformas de bróker. También, se implementa un modo de "cierre" de operaciones, permitiendo finalizar transacciones en condiciones desfavorables de forma controlada. Por último, destaca la capacidad de recuperación del EA tras reinicios del sistema, asegurando continuidad operativa. Estas mejoras permiten a traders y desarrolladores optimizar y gestionar estrategias de trading algorítmico de manera más eficaz bajo condiciones reales del mercado.

Leer más...
👍41👌1
El artículo detalla el desarrollo de un sistema de repetición para MetaTrader 5, enfocado en ajustar el tiempo de los indicadores al modificar el timeframe. Se discuten retos técnicos y se presentan tres soluciones: la primera sugiere almacenar el estado de los indicadores, aunque se descartan variables globales por complejidad. La segunda propone detectar cambios de timeframe desde el servicio, aunque sin acceso directo al timeframe. La más viable combina ambos enfoques usando el buffer de datos para transmitir información del timeframe, asegurando que los indicadores se actualicen automáticamente cuando cambia, mejorando la eficiencia para desarrolladores y traders.

Leer más...
👍51👌1
Los desarrolladores de MetaTrader 5 pueden descubrir cómo enviar información no fácilmente accesible mediante un innovador uso de indicadores. Este enfoque, todavía no explorado, presenta desafíos técnicos significativos al implementarse en simuladores o sistemas de repetición. Destaca la importancia de comprender la ejecución dinámica al usar handles para acceder a los buffers de indicadores, algo crucial ya que los cambios de timeframe afectan a la validez de estos handles. Este conocimiento proporciona un marco detallado para resolver problemas comunes en la programación MQL5, asegurando una actualización precisa y eficiente de datos en tiempo real para aplicaciones avanzadas de trading algorítmico.

Leer más...
👍92👌1