Trading Algorítmico MQL5
24.4K subscribers
784 photos
784 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
Para implementar un sistema de análisis de ondas con un gráfico en zigzag, inicia definiendo dos buffers de datos para almacenar los máximos y mínimos. Configura parámetros de entrada y un conjunto de variables del sistema que se reinician con cada recalculación del indicador. Utiliza un array "upWaves" para los máximos y "dwWaves" para los mínimos.

Es crucial establecer variables para el tipo, inicio, fin y distancia en barras de la última onda. Implementa un ATR móvil antes de calcular otras métricas, asegurando que has recogido suficientes barras para obtener un promedio válido. Gestiona el ATR continuando la suma hasta alcanzar el intervalo deseado, luego ajusta la media.

Considera cómo iniciar una secuencia cuando no existen ondas previas: la primera onda puede iniciar cuando el ATR esté lleno y se forme un nuevo máximo o mínimo. Al actualizar ondas alcistas, desplaza el zigzag...

👉 Léelo | Manual sobre redes neuronales | @mql5es
41🏆1
Descubre cómo los "Patrones de Diseño" pueden optimizar la programación en MQL5, abordando problemas recurrentes sin repetir esfuerzos. Estos patrones apoyan la programación orientada a objetos DRY (Don't Repeat Yourself) y son esenciales para crear aplicaciones eficientes. Con ejemplos prácticos, explora patrones de creación como Abstract Factory, Builder y Singleton para incrementar productividad y flexibilidad al diseñar algoritmos de trading. Aprende sobre su impacto en la reutilización de código y la facilidad de prueba de programas. Una valiosa guía para desarrolladores de MetaTrader 5 que buscan mejorar sus habilidades en algoritmos y estructuras ORIENTADAS a objetos.

👉 Léelo | Freelance | @mql5es
🔥211🏆1
El indicador Zigzag que evalúa puntos de oscilación utiliza un parámetro de tamaño de paso que controla la dirección de la oscilación al cambiar el precio. Se presenta la opción de ajustar la sensibilidad del indicador mediante una única entrada de "escala", que regula cómo responde ante variaciones de precio. El tamaño de paso establece el desplazamiento mínimo que debe suceder para invertir la onda actual, determinando así el umbral de movimiento necesario para cambiar la oscilación. A diferencia del Zigzag tradicional que aplica una "profundidad" mínima de barras, este indicador tiene su principal enfoque en el movimiento directo del precio y resulta útil para el análisis de swing. La escala predeterminada varía según el instrumento financiero, comenzando con valores como 3000 para XAUUSD y 25000 para BTCUSD, permitiendo ajustes según el contexto del mercado.

👉 Léelo | Cotizaciones | @mql5es
411
Integrar la mensajería de Telegram en sistemas automatizados facilita la emisión de alertas críticas y la comunicación en tiempo real. Un módulo dedicado permite enviar mensajes directamente a través de la API de Telegram Bot. La función clave, SendMessageToTelegram, requiere un mensaje, un ID de chat y un token de bot para construir y enviar una carga JSON mediante una petición HTTP POST.

La función WebRequest maneja estas peticiones con un tiempo de espera estándar de 5000 ms. La respuesta exitosa se confirma con un código HTTP 200, mientras que cualquier error se detalla para facilitar la solución de problemas.

En un Asesor Experto (EA), la implementación sigue pasos específicos: incluir el módulo Telegram, declarar credenciales del bot e ID de chat, y configurar el envío de mensajes. El ejemplo práctico ilustra un mensaje de saludo enviado al iniciar el EA, destacando la importa...

👉 Léelo | Calendario | @mql5es
3👍1
Optimizar estrategias automatizadas requiere atención al ajuste o sobreajuste, conocido como overfitting. El método de Validación cruzada simétrica combinatoria (CSCV) ayuda a evaluar este fenómeno. Implementado en MQL5, CSCV permite identificar configuraciones óptimas de parámetros para estrategias. El proceso incluye pruebas con múltiples combinaciones de parámetros, mediante la creación de conjuntos In-Sample-Set y Out-Of-Sample-Set. La métrica de rendimiento calcula la Probabilidad de Sobreajuste del Backtest (PBO) como una fracción de las pruebas totales. CSCV.mqh encapsula el algoritmo, permitiendo retornar el valor de PBO. La implementación considera la asignación de memoria, particiones de datos y evaluaciones de rendimiento.

👉 Léelo | VPS | @mql5es
12🏆2
El indicador DailyHighLow es una herramienta técnica eficiente diseñada para definir niveles de precios máximos y mínimos en gráficos. Permite personalizar el marco temporal, asegurando que no sea inferior al actual para mantener la precisión. Sus funciones abarcan tres opciones de cálculo de precios: Bajo/Alto, Abierto/Cerrado y Cierre, facilitando un análisis más completo. Incluye la opción para mostrar datos del periodo anterior, útil para estudios históricos. La visualización es clara, utilizando líneas plateadas de un solo grosor.

El funcionamiento implica la inicialización de buffers para almacenar y visualizar niveles de precios. Utiliza iBarShift para alinear datos de precios con el marco temporal y iHigh/e iLow o iHighest/e iLowest para calcular precios máximos y mínimos. El rendimiento está optimizado al limitar cálculos a barras nuevas o actualizadas.

Resulta especialment...

👉 Léelo | Señales | @mql5es
61👍1
El indicador Time To Close MT5 TimeToClose-v1.01 ofrece un enfoque efectivo para la gestión del tiempo en gráficos, presentando una cuenta atrás para el cierre de la vela en tiempo real. Su diseño incorpora una adaptación dinámica del color, ajustándose automáticamente según el tema del gráfico, ya sea por el borde o cuerpo de la vela, dependiendo de la dirección (alcista, bajista, doji). La funcionalidad de optimización para el Probador de Estrategias desactiva la renderización en back-tests no visuales, protegiendo así los recursos del sistema.

El soporte multi-timeframe es otra característica esencial, ajustando el formato de visualización automáticamente para diferentes marcos temporales, desde un minuto hasta un mes. La visualización del indicador es altamente personalizable, permitiendo variaciones en tamaño de fuente, posicionamiento del texto y la opción de mostrar fecha y ho...

👉 Léelo | Manual sobre redes neuronales | @mql5es
6👍1👌1
El aprendizaje por refuerzo (RL) es un enfoque poderoso para mejorar las estrategias de trading, adaptándose a las condiciones cambiantes del mercado. En este artículo, se explora el algoritmo SARSA, destacando su aplicación en la creación de señales personalizadas para asesores expertos. SARSA, al seguir una política interna, permite automatizar decisiones y gestionar riesgos al ajustar acciones con recompensas bajas para minimizar la exposición a operaciones volátiles. Además, se compara con otros algoritmos como Q-Learning y Deep-Q-Networks, resaltando la escalabilidad de estas técnicas para entornos complejos. La implementación en MQL5 demuestra su utilidad como modelo de señal independiente, optimizando el trading algorítmico.

👉 Léelo | Freelance | @mql5es
72🏆1
El indicador ofrece un control detallado sobre el conteo y visualización de velas en un gráfico. Se puede definir qué semana del mes se quiere analizar con el parámetro SelectedWeek. Esto permite numerar velas de una semana específica, o de todas cuando se establece en cero.

El conteo inverso y el filtrado dinámico optimizan la presentación de datos. Cuando NumberFirstCandle está activado, el conteo inicia en la primera vela del día. Al estar desactivado, el conteo comienza desde la última vela.

El texto se ajusta dinámicamente sobre o bajo las velas, basado en su tendencia, utilizando el parámetro PriceOffsetFactor para ajustar la distancia. Los colores, fuentes y tamaños son personalizables para mejorar la apariencia visual. El rendimiento se optimiza eliminando grafías obsoletas para evitar la sobrecarga del gráfico.

Además, las funciones avanzadas de creación y limpieza de ob...

👉 Léelo | Guía de algotrading | @mql5es
4🏆3
La administración eficiente de múltiples estrategias en una sola cuenta es esencial para los desarrolladores. El principal desafío radica en separar el rendimiento de cada estrategia sin recurrir a métodos poco precisos. Los números mágicos proporcionan una solución al etiquetar sistemáticamente cada EA.

Este método permite un seguimiento preciso del rendimiento, facilitando decisiones críticas como detener EAs de bajo rendimiento o reasignar capital hacia estrategias más exitosas. Esto optimiza tanto el análisis como el registro.

La implementación en MT5 simplifica la gestión. Adjuntando el Script/EA, se genera una tabla mostrando cada número mágico y su desempeño asociado. Para garantizar la legibilidad, es clave ajustar el tamaño del gráfico y el tipo de letra utilizado. Modificar la frecuencia de actualizaciones también es posible ajustando el script.

👉 Léelo | Documentación | @mql5es
42👍2
Los métodos HTTP son instrucciones específicas para comunicación cliente-servidor. GET solicita obtener información, mientras que POST envía datos. PUT actualiza recursos existentes y DELETE elimina. PATCH modifica parcialmente un recurso. HEAD solicita sólo encabezados. Existen opciones adicionales como CONNECT, OPTIONS y TRACE. Cada método tiene una función precisa, determinando la acción a ejecutar en la comunicación.

Los códigos de estado informan sobre el resultado de la solicitud. 1xx es informativo, 2xx indica éxito, 3xx se refiere a redirecciones, 4xx son errores del cliente, y 5xx son errores del servidor. Entender los métodos HTTP y los códigos de estado es esencial para una comunicación efectiva con APIs. Connexus busca integrar estos fundamentos para facilitar el desarrollo robusto y seguro.

👉 Léelo | Manual sobre redes neuronales | @mql5es
3👌21
Ahora los usuarios de Huawei con HarmonyOS NEXT pueden usar MetaTrader 5, 4 y más aplicaciones de MetaQuotes gracias a DroiTong, una herramienta que ejecuta apps Android en este sistema. La guía de instalación es sencilla: busca DroiTong en Huawei AppGallery, descarga los APK de MetaQuotes y sigue los pasos con DroiTong para instalar. Aunque algunas funciones como las notificaciones push aún no están disponibles, las demás operan con normalidad. Para actualizar, simplemente descarga el nuevo APK y repite el proceso. Disfruta de estas aplicaciones en tu dispositivo Huawei con un entorno conocido.

👉 Léelo | Señales | @mql5es
9👍31
El histograma dinámico y coloreado ofrece un análisis visual instantáneo del mercado mediante cambios automáticos de color que destacan cruces del MACD sobre la línea de señal y la línea cero, además de evidenciar la fuerza y dirección de la tendencia. Las alertas sonoras personalizables permiten recibir notificaciones en tiempo real sobre cruces clave del MACD, con configuraciones ajustables para el sonido, repeticiones y pausas entre alertas. La paleta de colores intuitiva facilita la interpretación rápida de los datos, permitiendo decisiones rápidas basadas en cruces y cambios de impulso.

Los parámetros personalizables, como los periodos de medias móviles y el precio aplicado, permiten ajustar el indicador a estrategias específicas. La interfaz es sencilla, adecuada para principiantes, con fácil ajuste de parámetros desde la ventana de propiedades. Funciona mostrando la diferencia...

👉 Léelo | Señales | @mql5es
42
El código del asesor experto está diseñado para escanear la vigilancia de mercado de un broker y extraer los símbolos necesarios para la descarga de todos los ticks disponibles, o ticks hasta una fecha específica. Este proceso es útil tanto para descargar el historial completo de símbolos para pruebas retrospectivas como para crear gráficos personalizados. Los terminales almacenarán en caché los ticks en la carpeta de datos, por lo que es importante asegurar suficiente espacio en el disco duro.

Para simplificar el proceso de descarga de símbolos, es necesario disponer de un gestor de descargas. La estructura CDownloadManager contiene toda la información necesaria, como el estado de la descarga, la lista de símbolos a escanear y el índice del símbolo actual en proceso. Además, se requieren funciones para leer y escribir cadenas en archivos binarios: guardar y cargar cadenas desde fich...

👉 Léelo | Calendario | @mql5es
👍4👀21👌1
El artículo anterior fue sobre configurar la estructura estática de un panel en MQL5. Ahora, se procederá a hacer el panel interactivo. Esto implica añadir funcionalidades a los botones que permitan ejecutar acciones al ser clicados, transformando el panel en una herramienta de interacción comercial en tiempo real.

Se automatizarán los botones creados previamente, como "Open Buy" y "Close All", para que respondan eficientemente a las entradas del usuario. Además, se implementará el controlador de eventos OnTick y OnChartEvent para manejar interacciones.

Finalmente, se añadirá una instancia de clase para gestionar operaciones bursátiles, utilizando la clase CTrade para facilitar esta tarea. El objetivo es convertir el panel en una solución práctica para traders.

👉 Léelo | Market | @mql5es
7
Cuando se comienza a desarrollar un Asesor Experto (EA), es crucial definir adecuadamente las variables y matrices para asegurar su correcto funcionamiento. Al renombrar las primeras líneas de su archivo, debe asegurarse de que los nombres reflejen claramente las funciones que cumplen. Por ejemplo, puede utilizar la variable MqlRates para manejar datos de velas como open, close, high y low, ajustando el nombre según su estándar personal.

Para consultar valores específicos, como el cierre de una vela anterior, se utiliza una nomenclatura directa y clara como CANDLECLOSE(3). También es fundamental trabajar con valores como ASK y BID, que se pueden obtener a través de MqlTick o SymbolInfoDouble. Si trabaja con medias móviles o indicadores como el Average True Range (ATR), organice sus arrays de manera adecuada y asegúrese de configurar las series correctamente usando funciones como Arra...

👉 Léelo | Documentación | @mql5es
👍3
El algoritmo evalúa cada barra para determinar el periodo SMA responsable del rebote más reciente, sea ascendente o descendente. La finalidad del indicador es identificar la dinámica del mercado. Si ambas líneas, superior e inferior, contienen datos, sugiere un posible comportamiento de rango limitado. Sin embargo, es un proceso intensivo. Ampliar los rangos de los periodos MA o cambiar a métodos MA más complejos puede provocar retrasos en la carga del indicador. Sin embargo, una vez cargado, la actualización se limitará a la barra más reciente. La eficiencia es clave para evitar sobrecargas en el análisis del mercado.

👉 Léelo | Freelance | @mql5es
👍41
La autenticación de dos factores (2FA) se implementa eficazmente en el Panel de Administración mediante MQL5, reforzando la seguridad más allá del tradicional uso de contraseñas. Este sistema requiere elementos de validación secundarios mediante Telegram, lo que garantiza usuarios legítimos al proporcionar un código OTP generado aleatoriamente. Utilizando la función MathRand(), el código de 6 dígitos creado se envía de manera segura al usuario para autenticación. La integración con la API de Telegram permite el envío de mensajes seguros, mejorando la protección en transacciones y comunicaciones. Todo esto optimiza el acceso a sistemas financieros, ofreciendo tranquilidad tanto a administradores como a operadores.

👉 Léelo | Señales | @mql5es
🏆4
El framework SAMformer aborda los desafíos de los Transformers tradicionales en la previsión de series temporales multidimensionales a largo plazo. Este modelo reduce la complejidad computacional mediante una arquitectura poco profunda y un enfoque de optimización basado en Sharpness-Aware Optimization (SAM). Esto mejora la generalización y robustez del modelo ante pequeñas variaciones de parámetros, así como la precisión de predicción.

En la implementación de SAM en capas convolucionales, la herencia de funcionalidades de CNeuronConvOCL permite un desarrollo más eficiente. Se introducen métodos específicos que optimizan los parámetros, teniendo en cuenta factores clave como el coeficiente del área de desenfoque.

Por último, la integración de SAM con Transformers incluye la adaptación de módulos convolucionales y de atención relativa. Las capas existentes se ajustan para incluir opt...

👉 Léelo | Guía de algotrading | @mql5es
2👍1
Descubre el innovador enfoque del PSformer, un modelo Transformer optimizado para la predicción de series temporales multidimensionales. Aprovechando la compartición de parámetros y la atención segmentada, el PSformer ofrece rendimiento superior con menor complejidad, ideal para traders y desarrolladores de MQL5. La técnica de segmentación divide la información en parches, maximizando la comprensión espaciotemporal. Además, la implementación del algoritmo de optimización SAM minimiza el sobreentrenamiento. Extensos experimentos muestran que el PSformer supera a otros en precisión, destacándose en varias tareas de predicción. Esta metodología promete precisión en el análisis financiero y otras aplicaciones críticas.

👉 Léelo | Documentación | @mql5es
3🏆3