Trading Algorítmico MQL5
25.5K subscribers
865 photos
865 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
En el próximo artículo, continuamos con la implementación de un script para visualizar operaciones en gráficos. Este script, iniciado en la primera parte del tema, permite seleccionar datos de una operación específica para representarlos gráficamente, facilitando el análisis retrospectivo mediante la creación de capturas de pantalla para guardar las visualizaciones.

El script opta por el método HistorySelectByPosition() en lugar del HistorySelect() predefinido, para seleccionar datos históricos de una operación individual utilizando el POSITION_IDENTIFIER del MetaTrader 5. Asegura que los símbolos sean válidos y estén disponibles en 'Observación del Mercado' para evitar errores al abrir gráficos.

La personalización del gráfico en el terminal se logra a través de funciones predefinidas como ChartApplyTemplate() para aplicar plantillas y ChartScreenShot() para capturar y ordenar las ...

Leer más...
👍8👌1
La optimización de reacciones químicas (CRO) es un método inspirado en las transformaciones químicas. Presentado por Lam y Li en 2012, utiliza principios de termodinámica para optimizar procesos. La energía en las moléculas se convierte entre potencial y cinética, permitiendo al sistema encontrar estados de equilibrio con menor energía potencial. La conservación de energía es clave, permitiendo transiciones moleculares que buscan soluciones óptimas.

El CRO utiliza operadores como colisiones ineficaces, descomposición, reacción intramolecular y síntesis. Cada operación modifica la estructura molecular, explorando y explotando el espacio de búsqueda. Los operadores permiten búsquedas locales y la combinación de soluciones efectivas. Este algoritmo no es universal sin modificaciones, ya que el ajuste del tamaño de población es necesario. La población de moléculas se regula para mantener...

Leer más...
👍4👌3
El artículo aborda cómo optimizar un asesor experto multidivisa para MetaTrader 5, garantizando consistencia durante la transición a cuentas reales. Se implementan ajustes como manejo de diferentes nombres de instrumentos y reinicios efectivos tras interrupciones. Un enfoque clave es asegurar resultados uniformes del asesor en distintos brókeres, dado que las cotizaciones varían. El artículo detalla un análisis meticuloso de cómo las diferencias de volumen de tick impactan las transacciones. Se propone almacenar el historial de transacciones para reproducir las operaciones en diversas condiciones de mercado, lo que permite verificar y ajustar la estrategia comercial. Esta técnica ofrece a los desarrolladores y traders herramientas para mejorar la confiabilidad de sus sistemas automatizados.

Leer más...
👍7👌2
Explora el impacto de la teoría del caos en el trading con este enfoque detallado sobre la dimensionalidad fractal aplicado a los mercados financieros. Aprende a medir la complejidad del mercado y su aleatoriedad mediante el método de "box-counting". Descubre cómo cambios en la dimensionalidad pueden indicar transiciones de mercado y estimar volatilidades, proporcionándote herramientas para optimizar estrategias comerciales. Además, adéntrate en el análisis de recurrencia para identificar patrones ocultos en tus datos, y aplica el teorema de Takens para prever volatilidades con precisión. Integra estos conceptos en tus algoritmos usando MQL5 para una ventaja competitiva en el trading.

Leer más...
👍6👌2
Explora cómo el uso eficiente de variables, especialmente en MQL5, puede transformar tus capacidades en programación. Este artículo profundiza en la importancia de las variables como base de cualquier programa, superando el enfoque común en funciones y procedimientos. Descubre la diferencia crucial entre variables y constantes, y aprende a evitar errores comunes, como la inicialización incorrecta, que podrían comprometer tus aplicaciones. Entender estos conceptos permite a los programadores, tanto novatos como expertos, construir aplicaciones robustas y comprensibles, mejorando así su eficiencia y comprensión del código en el desarrollo de software financiero y algoritmos de trading.

Leer más...
👍6👌1
Las variables estáticas en programación pueden ser un desafío para los principiantes. Estas variables mantienen su valor en memoria incluso al salir del bloque de código. Aunque populares lenguajes como Python no las implementan de esta manera, en lenguajes como C/C++ y MQL5 son comunes y útiles.

El uso de variables estáticas es esencial para evitar los problemas asociados con las variables globales y permite un control más eficiente sobre el ciclo de vida de las variables sin perder el estado de los cálculos. Sin embargo, deben utilizarse con cuidado para evitar errores de ejecución.

Es clave entender la inicialización y uso adecuado de estas variables. No deben ser inicializadas fuera de su declaración para evitar comportamientos inesperados. Esta comprensión ayuda a prevenir errores difíciles de rastrear y soluciona problemas complejos de programación de manera eficiente.

Leer más...
👍7👌1
Descubre cómo la optimización de reacciones químicas (CRO) revolucionó el campo de la optimización en el desarrollo de algoritmos. Mediante el uso de principios algorítmicos inspirados en reacciones químicas elementales, este enfoque es capaz de encontrar soluciones óptimas explorando espacios complejos de búsqueda. Su metodología se basa en procesos como descomposición y síntesis de "moléculas", lo que le permite abordar problemas desafiantes y encontrar óptimos globales con eficacia. Aunque presenta características de desplazamiento molecular que podrían parecer azarosas, el CRO ofrece resultados consistentes y muestra un gran potencial en aplicaciones prácticas para desarrolladores e interesados en el trading algorítmico.

Leer más...
👍91👌1
Durante la transición de los Asesores Expertos (EA) de entornos simulados a cuentas reales, enfrentamos varios desafíos técnicos. La implementación de mecanismos para manejar nombres variaditos de instrumentos, reinicios y terminaciones automáticas es crucial. Debemos extraer solo los datos necesarios de una creciente base de datos externa, evitando cargar innecesariamente el EA.

Optimización compleja involucra la selección de los mejores grupos de parámetros dentro de un marco temporal específico. Esta práctica mejora la eficiencia de simulación y operación, limitando la carga de información. Para una gestión eficiente, es esencial consolidar y seleccionar cadenas de inicialización adecuadas, permitiendo un acceso simplificado en tiempo real.

La integración directa de estas cadenas en el código del EA, mediante métodos como archivos de inclusión, permite una operación autónoma sin ...

Leer más...
👍6👌2🏆1
La introducción de la arquitectura Transformer en 2017 impulsó la creación de modelos de lenguaje de gran tamaño (LLMs) con notables resultados en el procesamiento del lenguaje natural. Sin embargo, el decodificador Transformer enfrenta limitaciones de memoria debido al almacenamiento de las entidades Key y Value (KV caching). A lo largo de los años, varios métodos han sido propuestos para abordar este problema, incluyendo Multi-Query Attention (MQA) y Grouped-Query Attention (GQA). En respuesta a las limitaciones existentes, el algoritmo Multi-Layer Key-Value Heads (MLKV) propone un enfoque avanzado de compartición multinivel de Key y Value, optimizando el uso de memoria sin comprometer significativamente la calidad del modelo. La implementación de MLKV en MQL5 utiliza la atención multicapas para transferir información, aprovechando la infraestructura de OpenCL. Esta integración en M...

Leer más...
👍83🔥2👌2
La última parte de nuestra serie sobre optimización estratégica en MetaTrader 5 se centra en la automatización de la selección de estrategias comerciales individuales. Se exploran dos métodos distintos de selección basados en resultados de optimización, con un enfoque en el análisis de comportamientos en periodos futuros. Se aborda la implementación de optimización con forward testing, integrando mejoras en la base de datos para distinguir entre resultados y solucionando errores anteriores con el manejo de bases de datos. Este avance permite un análisis más eficiente y automatizado, crucial para desarrolladores interesados en fomentar estrategias robustas en un entorno de trading algorítmico.

Leer más...
👍7👌21🔥1
El artículo explora el desarrollo de un Asesor Experto (EA) en MetaTrader 5 usando una estrategia de ruptura de rango de consolidación en MQL5. La estrategia se enfoca en identificar rangos de consolidación, periodos de baja volatilidad, para luego operar en rupturas significativas. Los pasos incluyen la detección del rango, vigilancia de rupturas y ejecución de operaciones. Se define la lógica necesaria, desde la identificación de rangos hasta la gestión de operaciones y la implementación gráfica en el gráfico de precios. Además, se sugiere la optimización y pruebas retrospectivas para asegurar eficacia antes de aplicar en el trading real, proporcionando una herramienta potente para traders.

Leer más...
👍6👌2
Al desarrollar indicadores en MQL5 para cuentas netting, se destaca la fusión de posiciones para un mismo símbolo. Una cuenta netting permite un único volumen acumulado, diferente de las cuentas hedge que gestionan posiciones separadas para cada transacción.

Trabajar con eventos comerciales en MQL5 implica manejar entradas, salidas y reversiones de posiciones. Los indicadores en este contexto no envían órdenes, pero pueden interactuar con el historial de transacciones usando funciones como OnCalculate y OnTrade para reflejar datos importantes en gráficos.

El diseño de algoritmos para indicadores netting implica el uso de arrays dinámicos, recolectando datos de precio, volumen y tickets. Funciones como Sort ordenan estos arrays, asegurando la integridad y consistencia de las visualizaciones gráficas.

Leer más...
👍6👌2🔥1
El artículo trata sobre el papel de las funciones como un tipo especial de variable en programación con MQL5, una variante de lenguaje de MetaTrader 5. Explica cómo las funciones pueden considerarse constantes, evitando las desventajas de las variables globales y mejorando la estabilidad del código. También se discute el uso de variables predefinidas, esencialmente constantes en el contexto de MQL5, y cómo utilizarlas correctamente sin intentar modificarlas directamente. Además, se ofrece una visión sobre el equilibrio que MQL5 ofrece entre la flexibilidad de C/C++ y la simplicidad de lenguajes como JavaScript y Python.

Leer más...
👍51👌1💯1
El artículo aborda las complejidades y desafíos del manejo de tipos de datos y operadores en programación MQL5. Destaca cómo una operación simple como dividir 10 entre 3 puede rendir resultados inesperados debido a la tipificación de datos. En MQL5, al igual que en otros lenguajes tipados, el tipo de dato influye en el resultado, lo que puede llevar a errores en el código si no se comprende bien. Se explica el concepto de casting (conversión de tipos) para obtener resultados deseados al manejar operaciones aritméticas y cómo los datos se representan en bits influyen en el comportamiento de los programas, enfatizando en la importancia de una correcta elección de tipo de dato.

Leer más...
👍72👌1💯1
Explora cómo transformar un script en un servicio en MetaTrader 5 para mejorar la experiencia de trading algorítmico. Aprende a convertir scripts en servicios, vinculando procesos a gráficos independientes y garantizando la permanencia de indicadores, como medias móviles, en tiempo real. Descubre cómo mantener un gráfico estandarizado, implementando servicios que supervisen y replieguen configuraciones específicas en diferentes gráficos de activos. La aplicación práctica de estos conceptos permite desarrollar sistemas de trading automatizado más robustos y confiables. Esta guía es esencial para programadores interesados en expandir sus habilidades en desarrollo de soluciones para MetaTrader 5.

Leer más...
🔥10👍3👌211🏆1
Para los interesados en programar sistemas de trading automatizados, se presenta una introducción al indicador técnico Aroon. Este indicador, desarrollado por Tushar S. Chande en 1995, detecta cambios de tendencia y mide su fuerza a través de la frecuencia de máximos y mínimos. Aroon se compone de dos líneas: Aroon Up (tendencia alcista) y Aroon Down (tendencia bajista).

El artículo detalla cómo calcular el indicador, construir estrategias utilizando MQL5, y probarlas en un simulador para evaluar su eficacia. Existen dos estrategias principales a considerar: la estrategia de cruce y la de niveles, cada una con su metodología y lógica de implementación.

El proceso muestra cómo configurar, programar y probar estos sistemas, destacando la importancia de adaptarlos a estilos comerciales individuales. Se advierte que los resultados no están garantizados y cada usuario asume su propio rie...

Leer más...
👍104👌1
El artículo aborda la finalización del desarrollo del indicador "Chart Trade" en MetaTrader 5, y su integración directa con los Asesores Expertos (EAs). Se enfoca en la implementación técnica de buffers, proporcionando una forma de trabajar con el indicador como si estuviera vinculado al EA, mejorando la interacción y sincronización de datos. A través de modificaciones clave en la clase C_ChartFloatingRAD, se logra acceso eficiente a los datos necesarios, garantizando que la comunicación entre el indicador y el EA se realice mediante MetaTrader 5. Énfasis en la comprensión de estructuras y la importancia del manejo de memoria para evitar errores críticos en operaciones de trading.

Leer más...
👍14👌2
En el artículo anterior se presentó la funcionalidad del indicador Chart Trade y los riesgos asociados a la gestión incorrecta de archivos en MetaTrader 5. Para optimizar esta tarea, es viable integrar los recursos directamente en el ejecutable. Aunque MetaTrader 5 y MQL5 tienen limitaciones para ciertas funcionalidades, es posible incorporar plantillas y otros recursos al ejecutable mediante ajustes en el código. Para ello, es esencial modificar el uso de plantillas por recursos y entender cómo manipular estos desde el código.

Cambiar el enfoque de archivos separados a recursos internos simplifica la portabilidad y minimiza el riesgo de errores durante la transferencia de archivos. Aunque esto presenta ciertos desafíos, como mantener el directorio y nombre del ejecutable sin cambios, la implementación correcta facilita el proceso y evita errores durante el uso del sistema. Al utiliz...

Leer más...
👍10🎉2👌1
La reciente exploración sobre el Algoritmo Genético Binario (BGA) arroja luz sobre su aplicación en MetaTrader 5 y otros sistemas. Basado en principios evolutivos, el BGA utiliza cadenas de bits para optimizar soluciones, aplicando operadores genéticos como cruce y mutación. El BGA destaca por su capacidad para resolver problemas complejos donde los métodos tradicionales fallan. Con parámetros ajustables, como tamaño de población y probabilidad de cruce, el BGA logra un equilibrio entre diversidad y velocidad de convergencia. Su implementación en MetaTrader 5 promete optimizaciones efectivas en el trading automatizado, beneficiando a desarrolladores y traders con soluciones más eficientes y adaptativas.

Leer más...
👍14👌3
El artículo aborda el uso de MetaTrader 5 para implementar múltiples asesores de trading automático en una sola plataforma. Utiliza un enfoque orientado a objetos en MQL5, detallando cómo combinar estrategias comerciales que operan en diferentes símbolos y marcos temporales. Se centra en calcular automáticamente los volúmenes de posición respetando la reducción máxima permitida. Proporciona un método para incorporar varios asesores en un único sistema, optimizando los parámetros clave. Esta técnica permite gestionar eficazmente los recursos disponibles y abrir órdenes de manera estratégica. Ideal para traders y desarrolladores que buscan maximizar la eficiencia de sus plataformas de trading automatizado.

Leer más...
👍11👌43