Trading Algorítmico MQL5
24.7K subscribers
811 photos
811 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 métodos de optimización metaheurísticos no requieren conocimiento del gradiente o derivada, permitiendo resolver problemas complejos sin una solución analítica clara. Los algoritmos evolutivos simulan la evolución natural, con estrategias como los algoritmos genéticos y programación evolutiva. La evolución diferencial (DE), desarrollada en los años 90, se distingue por su sencillez y eficacia al usar vectores mutantes para buscar óptimos globales. Un reciente análisis mostró buenos resultados en pruebas de convergencia, aunque se identificó la necesidad de mejorar la diversificación de poblaciones para explorar más efectivamente el espacio de búsqueda y evitar la degeneración hacia óptimos locales.

👉 Léelo | Guía de algotrading | Compártelo!
9
La Estrategia de Cruce Estocástico se basa en señales claras para posiciones de compra y venta. Una posición de compra se inicia cuando la línea %K cruza por encima de %D, y una posición de venta se abre cuando %K cruza por debajo de %D. Los períodos estocásticos son ajustables, permitiendo la personalización de los valores de %K, %D, y ralentización.

La función de enfriamiento controla el tiempo entre operaciones para evitar entradas impulsivas. Los Stop Loss y Take Profit son fijos, inicialmente establecidos en 300 puntos, lo cual se puede modificar según las necesidades. El tamaño del lote se mantiene en 0,1 para facilitar el control del riesgo.

El EA verifica posiciones abiertas antes de realizar nuevas entradas, evitando duplicados, y utiliza la librería Trade.mqh para una ejecución precisa. Se ofrecen parámetros ajustables para adaptar el sistema según preferencia personal, ac...

👉 Léelo | Documentación | Compártelo!
👍6
Este indicador es una variación del indicador Divergence Awesome Oscillator. Ofrece nuevas funcionalidades para el análisis técnico. Su arquitectura se basa en el sólido fundamento del oscilador original, proporcionando una herramienta eficiente para detectar divergencias en el mercado financiero. Esta bifurcación permite a los analistas técnicos realizar un seguimiento más preciso y en tiempo real de las fluctuaciones del mercado. Se destaca por su capacidad para mejorar las decisiones de trading al identificar potenciales puntos de cambio en la tendencia. Adecuado para quienes buscan refinar su estrategia de análisis.

👉 Léelo | VPS | Compártelo!
👍42
Los métodos de clonación conductual y aprendizaje por refuerzo enfrentan desafíos en algoritmos óptimos para entornos estocásticos. El novedoso método Distance Weighted Supervised Learning (DWSL) busca resolver esto mediante un enfoque de aprendizaje offline que logra políticas eficientes usando datos existentes sin etiquetas objetivo detalladas. DWSL utiliza una estimación de distancias entre estados para mejorar la política de decisiones, optimizando rutas hacia objetivos con menos pasos. La implementación en MQL5 se centra en maximizar la rentabilidad de robots comerciales mediante un enfoque Actor-Crítico. Este método potencia las decisiones incorporando mecanismos de ponderación de trayectorias, facilitando su aplicación práctica en entornos de trading.

👉 Léelo | Calendario | Compártelo!
👍84
El asesor experto (EA) utiliza dos indicadores de Media Móvil (MA) para la configuración de operaciones. Si los indicadores no se cruzan en un período determinado y se detecta un retroceso respecto al movimiento principal, se inicia el primer acuerdo de un total de tres. Los acuerdos adicionales se activan cuando el precio se mueve a nuestro favor o en contra, siguiendo un paso definido por el Rango Verdadero Promedio (ATR). El EA utiliza un trailing para gestionar las operaciones una vez que el conjunto de los tres acuerdos avanza en nuestra dirección. En caso contrario, si el mercado se mueve en sentido contrario, el EA cierra ciertas operaciones a una distancia específica de la cuadrícula predefinida, ajustándose al tipo de acuerdo. Esta estrategia busca optimizar la gestión de riesgo a través de parámetros claros y estructurados.

👉 Léelo | Documentación | Compártelo!
5👍2
El indicador SuperTrend es una herramienta técnica que ofrece a los desarrolladores y analistas la capacidad de identificar tendencias del mercado mediante la volatilidad del ATR (Average True Range). Al ser de código abierto, está disponible bajo la licencia MIT. La estructura es sencilla: la banda superior se calcula sumando el multiplicador por el ATR al precio de origen, y la banda inferior restándolo. En una tendencia alcista, la SuperTendencia se coloca en la banda inferior, mientras que en una tendencia bajista está en la banda superior.

Implementarlo es sencillo. Copie el archivo en la carpeta de indicadores de MetaTrader 5, reinicie o actualice la plataforma y arrastre el indicador al gráfico deseado. Entre sus parámetros: ATRPeriod y Multiplicador para el ajuste de sensibilidad, y SourcePrice y TakeWicksIntoAccount para personalizar el cálculo. Para versiones avanzadas, con...

👉 Léelo | CodeBase | Compártelo!
32👍2🏆1
El artículo aborda el algoritmo de optimización de la dinámica espiral (SDO), un enfoque basado en la física que utiliza el fenómeno de las espirales logarítmicas naturales para resolver problemas de optimización complejos. El SDO es conocido por su simpleza y rapidez, aunque presenta desafíos en espacios unidimensionales debido a su naturaleza. Los autores proponen innovaciones, como la proyección oscilatoria, para mejorar el cálculo de soluciones al modelar espirales con oscilaciones amortiguadas. Esta técnica ofrece nuevas posibilidades para tareas de optimización en el campo del trading y otros sectores, gracias a su capacidad adaptativa y eficiencia computacional.

👉 Léelo | Documentación | Compártelo!
73👍2
Un Asesor Experto (EA) que gestiona el riesgo ajustando el tamaño de la posición automáticamente en función de la volatilidad del mercado, usando el indicador ATR (Average True Range). Calcula el tamaño óptimo de la posición para mantener una exposición constante, pese a las condiciones de mercado cambiantes.

Este EA proporciona un tamaño de posición dinámico al calcular el riesgo sobre el saldo de la cuenta. Además, ofrece una opción para establecer un stop-loss basado en ATR. Su estrategia de operación se basa en el cruce de medias móviles para abrir compras, centrándose principalmente en la gestión del riesgo.

Para implementarlo, se debe adjuntar el EA al gráfico en MetaTrader 5 y configurar parámetros clave como el porcentaje de riesgo, periodo ATR, multiplicador ATR y el uso del stop-loss basado en ATR. Se aconseja probarlo primero en una cuenta demo y ajustar según la estrateg...

👉 Léelo | Documentación | Compártelo!
10👍43
Este indicador proporciona una subventana que visualiza un histograma de duraciones de barras personalizadas, medido en minutos. Es apto para su uso en gráficos como renko, PnF, y barras de equivolumen, donde las duraciones varían, a diferencia de los gráficos estándar. Aunque la plataforma no soporta plazos variables nativamente, los gráficos personalizados se emulan usando intervalos estándar, comúnmente empleando el plazo M1. Este plazo menor garantiza la alineación precisa de las barras en el eje temporal. En gráficos normales, su aplicación es limitada, ya que todas las barras mostrarán alturas uniformes. Entre sus configuraciones, se incluye una opción para mostrar el histograma con o sin signo, alterando los valores en positivos o negativos según el cambio de precio. Por defecto, esta opción está desactivada, mostrando valores absolutos.

👉 Léelo | CodeBase | Compártelo!
3🏆3
Explora cómo la programación avanzada en MetaTrader 5 puede transformarse al dominar el concepto de plantillas y typename. La sobrecarga de funciones, lejos de ser un error, permite la creación de códigos más eficientes y flexibles. Descubre cómo el compilador elige los tipos de datos optimizados, evitando la duplicación de funciones innecesarias. El uso adecuado de plantillas simplifica el código al permitir modificar sólo ciertos elementos, minimizando la complejidad. Aprender a implementar plantillas y typename no solo mejora tus habilidades de programación, sino que abre la puerta a crear herramientas personalizadas en el ámbito del trading algorítmico más allá de las prácticas convencionales.

👉 Léelo | Manual sobre redes neuronales | Compártelo!
👍431
CatBoost, una biblioteca de boosting de gradiente, se distingue por su manejo avanzado y eficiente de características categóricas, mejorando el rendimiento en problemas del mundo real. Desarrollado por Yandex, su popularidad en la comunidad de IA se debe a su capacidad para tratar automáticamente características categóricas, eliminando la necesidad de codificación manual. Utiliza árboles de decisión simétricos que ofrecen robustez y eficiencia en memoria, además de técnicas como refuerzo ordenado para evitar sobreajuste. Su implementación es accesible para desenvolverse en entornos limitados, permitiendo la creación de modelos eficaces y sencillos, ideales para aplicaciones comerciales en MetaTrader 5.

👉 Léelo | Documentación | Compártelo!
👍62
En MQL5, trabajar con plantillas permite simplificar tareas repetitivas. Sin embargo, es crucial comprender las limitaciones al operar con tipos de datos diferentes. Un tema común es la conversión de tipos cuando se usa una función plantilla. Al compilar con tipos de datos diferentes sin conversiones explícitas, se generan errores. Una solución común en plantillas es usar conversiones explícitas, como al pasar un valor entero a un tipo flotante (float). Otra técnica es definir el tipo de un argumento específico cuando el mismo siempre será constante. Estos métodos facilitan la creación de funciones sobrecargadas, maximizando la eficiencia y flexibilidad del código.

👉 Léelo | CodeBase | Compártelo!
👌6🏆31
MeanReversionTrendEA integra técnicas duales de seguimiento de tendencia y reversión a la media, empleando cruces de medias móviles y ATR para evaluar la volatilidad del mercado. Incluye un sistema de validación de operaciones para asegurar la ejecución correcta en diversas situaciones de mercado.

La estrategia aprovecha medias móviles rápidas y lentas para identificar tendencias, y usa bandas de volatilidad para detectar desviaciones de precio. Así, genera señales de compra y venta basadas en cambios de tendencia y niveles de precio.

El EA ofrece gestión defensiva de posiciones con puntos de SL/TP fijos o ajustados proporcionalmente al riesgo, y es compatible con múltiples activos financieros. Es crucial realizar pruebas en cuentas demo antes de implementar en entornos reales, garantizando la funcionalidad a través de un sistema robusto de validación.

👉 Léelo | Señales | @mql5es
4
El indicador "False Breakouts.mq5" para MetaTrader 5 marca puntos de compra y venta basados en falsas rupturas de soporte y resistencia. Utiliza buffers y gráficos para representar visualmente estos patrones. Almacena niveles en diferentes buffers, incluidos resistencias y soportes. Las principales funciones son OnInit(), que inicializa y mapea los buffers, y OnCalculate(), que actualiza los buffers con nuevos datos. Incluye funciones como IsBuy() e IsSell(), que detectan señales de compra o venta basadas en rupturas falsas. Identifica máximos y mínimos para establecer resistencias y soportes. Este indicador se adapta a múltiples gráficos y plazos, y se recomienda personalizar para alertas.

👉 Léelo | CodeBase | @mql5es
6👍4👌1
Explora cómo mejorar tus estrategias de trading con MetaTrader 5 usando la adaptación LoRA para optimizar modelos GPT-2 ajustados a datos financieros. Aprende a configurar un entorno Python eficiente y a utilizar la biblioteca peft para implementar cambios versátiles en tus modelados. Aprecia el detallado análisis del ajuste LoRA y cómo sus configuraciones pueden afectar el rendimiento en mercados fluctuantes. Domina cómo elegir los parámetros adecuados y realiza comparaciones para determinar el método de entrenamiento más eficaz. Esta guía es fundamental para desarrolladores y traders interesados en potenciar sus habilidades en modelado algorítmico y adaptación de IA en trading.

👉 Léelo | CodeBase | @mql5es
🏆41
Descubre cómo el uso avanzado de plantillas en MQL5 puede simplificar y optimizar el desarrollo de algoritmos de trading. Las plantillas no solo se aplican a funciones, sino también a variables locales y uniones, permitiendo que el compilador maneje sobrecargas de forma elegante. Con plantillas, puedes implementar funciones genéricas que se adaptan automáticamente al tipo de datos requerido, reduciendo errores y mejorando la claridad del código. Esta técnica avanzada facilita la creación de algoritmos robustos, capaces de manejar tipos de datos complejos y optimizar el rendimiento sin complicar la estructura del código. Aprende a aplicar estas ideas para mejorar tus estrategias de trading algorítmico.

👉 Léelo | Foro | @mql5es
5
En MetaTrader 5 build 5120 hemos realizado una serie de correcciones y mejoras en la plataforma:

• Corregida la visualización de la interfaz al trabajar en Linux y macOS.
• Actualizados los modelos disponibles para AI Assistant en MetaEditor.
• Permitida la transmisión de arrays con conversión según los signos para las funciones ArraySwap, WebRequest, CryptEncode, CryptDecode y varias otras funciones de conversión de datos.
• Solucionada la obtención del estado de las teclas para los programas MQL en el gráfico activo.
• Corregido el funcionamiento de ArrayInitialize para los arrays de enumeración.

Discutir la actualización
9🔥5🏆41
El soporte para la serialización y deserialización de JSON es fundamental en MQL5 para manejar datos estructurados de manera eficiente. La implementación de estas capacidades permite a los desarrolladores procesar y convertir datos JSON dentro del entorno MQL5. Para facilitar el acceso y manejo de esta funcionalidad, se puede utilizar un gestor de paquetes como npm. Los desarrolladores interesados pueden encontrar un ejemplo de implementación práctica en el repositorio de GitHub de Kuzme Shevelev. El enfoque presentado es especialmente valioso para aquellos que buscan optimizar la gestión de datos externos en sus proyectos MQL5.

👉 Léelo | Guía de algotrading | @mql5es
1👍1
La interfaz de devolución de llamada para temporizador es un recurso útil para desarrolladores que buscan implementar temporizadores eficientes en sus proyectos. Este mecanismo permite gestionar eventos temporales de manera controlada y precisa. El uso del gestor de paquetes npm facilita la descarga e integración del recurso en el entorno de trabajo. Autor: Kuzme Shevelev proporciona acceso a su implementación a través de un repositorio en GitHub, lo que permite a los desarrolladores revisar el código base y adaptarlo a sus necesidades específicas. La colaboración en plataformas como GitHub fomenta la innovación y mejora continua de las herramientas disponibles para la comunidad de programadores.

👉 Léelo | Foro | @mql5es
3👍1