Trading Algorítmico MQL5
25.3K subscribers
849 photos
849 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
Despliega tu potencial en MetaTrader 5 con un panel fácil y eficiente para ajustar configuraciones directamente desde el gráfico. Este artículo detalla cómo implementar un panel adaptable para ajustar indicadores en MQL5, ideal para quienes se inician en la programación de algoritmos. Con un diseño intuitivo y detalles clave como autoajuste de celda y gestión de parámetros separados, el panel simplifica la configuración sin comprometer la funcionalidad. Perfecto para desarrolladores que buscan crear ambientes de trading más accesibles, al tiempo que optimiza el manejo de la orientación de objetos para la correcta eliminación de datos en desinicialización.

Leer más...
👍874👨‍💻2🔥1
La implementación local de modelos de lenguaje (LLM) ofrece importantes ventajas: seguridad mejorada, rendimiento optimizado y personalización de modelos. Para lograr un despliegue efectivo, es crucial configurar hardware y software adecuados.

Configuración de hardware: Utilizar al menos procesadores de 4 núcleos a 2,5 GHz, tarjetas gráficas con 8 GB, 16 GB de RAM y SSD NVMe de 1 TB.

Entorno de software: Seleccionar sistemas operativos como Windows + WSL, Linux o macOS. Instalar Python con Anaconda y utilizar marcos como PyTorch para el desarrollo de modelos.

La computación en la nube también es una opción para quienes buscan escalabilidad y infraestructura gestionada, con plataformas como AWS, Azure y GCP.

Leer más...
👍8🏆54
Las tendencias estacionales en el mercado de divisas reflejan variaciones cíclicas en los precios, influenciadas por factores periódicos como eventos económicos, temporadas agrícolas y periodos vacacionales. Estas tendencias son patrones predecibles de comportamiento de precios en función de la época del año. Un ejemplo notable es el aumento en la demanda de fuelóleo durante meses fríos, que empuja los precios al alza.

Los operadores pueden beneficiarse del análisis estacional para anticipar movimientos de mercado, aunque siempre deben considerar la variabilidad de estas tendencias de un año a otro. Integrar el análisis estacional con datos fundamentales y técnicos mejora la estrategia comercial, aunque la dependencia exclusivamente en estas tendencias puede ser arriesgada.

Leer más...
👍1154👌2
La optimización se ha convertido en una técnica crucial en ambientes con recursos limitados y tareas complejas. Los métodos deterministas, como el descenso de gradiente, suelen ser efectivos en problemas lineales, pero su eficacia se reduce en escenarios no lineales. Por otro lado, los métodos estocásticos utilizan procesos aleatorios para encontrar soluciones en situaciones complejas, como los mercados volátiles. La combinación de ambos enfoques puede crear modelos adaptables que mejoran la previsión y minimizan riesgos en la gestión de inversiones.

El Algoritmo de Tiro con Arco (AA), presentado por Fatemeh Ahmadi Zeidabadi y colegas en 2022, representa un avance en el campo de optimización estocástica. Inspirado en el tiro al blanco, AA mejora las soluciones aprovechando tanto el azar como el enfoque dirigido. Este algoritmo establece soluciones potenciales como agentes, ajustando ...

Leer más...
👍72👀21🏆1
Un artículo recientemente detalló un innovador enfoque que fusiona algoritmos de aprendizaje profundo con técnicas clásicas de análisis técnico para evaluar oportunidades en el mercado Forex. Un script en Python y MetaTrader 5 ha sido desarrollado para aprovechar datos históricos del EURUSD, utilizando modelos de inteligencia artificial y una combinación de indicadores técnicos como RSI y SMA. El modelo predictivo, entrenado con 120 días de datos, busca optimizar decisiones de compra y venta, integrando técnicas de gestión de riesgos. Aunque los beneficios fueron modestos, el enfoque ofrece una base sólida para un desarrollo más profundo de estrategias de trading automatizado.

Leer más...
🏆2
Descubre HyperDet3D, un innovador algoritmo para detectar objetos 3D en nubes de puntos. Utiliza una estructura basada en hiper-redes que adapta dinámicamente los parámetros de la red según la escena. Esto elimina la ambigüedad de atributos de objetos similares, mejorando la precisión y eficiencia en la detección. El modelo incorpora un nuevo módulo de atención multicabeza condicionado por la escena, combinando conocimiento a priori con características de los objetos para resultados más efectivos. Este enfoque, implementado en MQL5, destaca por su dinámica adaptabilidad y ahorro de recursos. Ideal para desarrolladores interesados en mejorar sus sistemas de detección 3D.

Leer más...
👍3
El concepto de UNIÓN representa un avance significativo en la programación, permitiendo el manejo eficiente de regiones de memoria al compartirlas entre diferentes variables. Al contrario de estándares tradicionales, donde cada variable ocupa un espacio distinto, las uniones optimizan memoria al permitir que sus componentes compartan el mismo bloque. Esto es particularmente útil en lenguajes como C, C++ y MQL5, donde el acceso directo y control sobre la memoria son cruciales.

Las uniones facilitan la manipulación de datos complejos, permitiendo rotaciones o espejeos de bits enteros de forma sencilla y eficiente. Aunque pueden parecer confusas al inicio, su entendimiento es esencial para avanzar en la programación de bajo nivel.

Leer más...
5
Explora el uso avanzado de uniones y arrays en MetaTrader 5 para optimizar tus algoritmos de trading. Aprenderás cómo estas estructuras de datos se pueden implementar para manipular memoria eficientemente, abriendo puertas a soluciones más sofisticadas. El artículo presenta ejemplos claros de cómo las uniones, al igual que cadenas de caracteres, pueden ser tratadas como tipos de datos especiales, permitiendo una manipulación versatile. Además, se destaca la importancia del manejo correcto de bloques de memoria para evitar errores y mejorar el rendimiento. La práctica y el entendimiento profundo de estos conceptos son esenciales para evolucionar de un programador novato a uno experimentado.

Leer más...
👍5🏆42
Este ejemplo presenta un indicador personalizado para MetaTrader 5 diseñado para mostrar una imagen BMP en el gráfico, centrado en la pantalla. Ideal para tener una imagen estática, como un logotipo o un mensaje gráfico, directamente sobre el gráfico de trading sin interferir con el análisis ni los datos del mercado.

El indicador crea un objeto `OBJ_BITMAP_LABEL` y utiliza la imagen (2.bmp) ubicada en la carpeta MQL5\Images. Se centra automáticamente en el gráfico, actualizando su posición con cada nuevo tick para mantener la alineación incluso cuando se redimensiona la ventana.

La implementación considera aspectos como la inicialización de la imagen, el manejo de errores durante la creación del objeto gráfico, y la adaptación automática de la posición de la imagen. Facilita la visualización gráfica sin pérdida de funcionalidad en el análisis técnico.

Leer más...
3👍3🏆1
El análisis de las Bandas de Bollinger en las configuraciones 6 y 7 se centra en la expansión de la volatilidad tras tendencias bien definidas. En estos casos, se trata de detectar movimientos contrarios como señales de oportunidad para abrir posiciones opuestas, con la verificación de volumen como confirmación.

Además, se explora la desviación entre bandas, interpretando rupturas como señales alcistas o bajistas. El uso de múltiples patrones simultáneamente puede ser efectivo aunque complejo por las señales canceladas.

El Índice de Fuerza Relativa (RSI) se examina a través de patrones como niveles de sobrecompra/sobreventa y divergencias. Estas configuraciones ayudan a prever reversiones en las tendencias, aunque requieren cuidado al implementarse debido a posibles fallos en sistemas con fuerte tendencia.

Leer más...
👍73🏆1
La personalización de gráficos de velas se facilita significativamente a través del control exhaustivo sobre el color y el estilo de cada componente. Este ejemplo de código permite ajustar no solo el tono de las velas alcistas y bajistas, sino también de las mechas. Las velas alcistas se representan típicamente en verde, mientras que las bajistas aparecen en rojo o granate, con la opción de modificar estos colores según las preferencias personales o necesidades analíticas.

El código está diseñado para operar dentro del entorno del gráfico, buscando ofrecer un estilo visual claro que favorece la distinción rápida entre velas de tonos diferentes. A través de la reconfiguración de buffers y propiedades de visualización, este ejemplo ilustra cómo un simple ajuste de parámetros puede mejorar notablemente la visibilidad y claridad en el análisis gráfico. Esto es especialmente relevante par...

Leer más...
5👍31
La detección de objetos en nubes de puntos es un desafío creciente, especialmente debido a su estructura dispersa e irregular. Los métodos tradicionales basados en convoluciones no distinguen adecuadamente los puntos ruidosos o irrelevantes. El Transformer, con su mecanismo de Self-Attention, ofrece una mejor adaptación, permitiendo excluir puntos no deseados de manera adaptativa. Sin embargo, el Transformer estándar no tiene en cuenta las relaciones espaciales locales, como la dirección y distancia entre puntos.

El SEFormer surge como una combinación de lo mejor de ambos enfoques. Codifica la estructura local en función de dirección y distancia, permitiendo identificar cambios espaciales y detectar patrones de manera más precisa. La implementación del SEFormer en redes multiescala mejora la capacidad de detección en nubes de puntos, ofreciendo una descripción estructural detallada.
...

Leer más...
👍322
Descubre cómo transformar tus habilidades de trading algorítmico con el Asistente MQL5, al explorar configuraciones del SAR parabólico y distintos patrones comerciales. La serie de artículos descompone cómo este indicador, sensible a cambios de precios, puede indicar tendencias y giros potenciales con precisión. Analiza 10 patrones separados, optimizando y comparando resultados de forma independiente y en combinaciones. La implementación en MQL5 se maneja con indicadores y clases estándar, permitiendo a traders y desarrolladores crear Asesores Expertos sólidos. Este análisis proporciona insights valiosos para mejorar la toma de decisiones a través de pruebas exhaustivas en mercados con volatilidad controlada.

Leer más...
🏆31
Descubre cómo los desarrolladores de MetaTrader 5 pueden ampliar sus habilidades a un nivel más avanzado mediante el uso de recursividad en sus programas. La recursividad, una técnica estándar en programación donde funciones se llaman a sí mismas para resolver problemas complejos, ofrece una forma más intuitiva y sencilla de crear bucles en MQL5 sin recurrir a comandos tradicionales. Si bien puede parecer complicado al principio, esta técnica no solo simplifica el código sino que promueve una comprensión más profunda del control de flujo y gestión de datos en aplicaciones de trading automatizado. Este enfoque no solo es útil para mejorar la eficiencia de codificación, sino que también fortalece las bases para enfrentar futuros desafíos profesionales.

Leer más...
👍541
Descubre el revolucionario algoritmo ACMO, que emula la dinámica de las nubes para resolver complejos problemas de optimización. Inspirado en la naturaleza, este método utiliza fenómenos como la generación, movimiento y dispersión de nubes para explorar eficientemente el espacio de soluciones, evitando atascos en óptimos locales. ACMO divide el espacio de búsqueda en regiones y asigna dinámicamente nubes para encontrar soluciones óptimas. Su enfoque innovador y meticuloso ofrece a los desarrolladores herramientas avanzadas para mejorar estrategias en trading algorítmico. Con parámetros ajustables, ACMO permite un control detallado, facilitando su aplicación en diversas áreas.

Leer más...
3👍31🏆1
¿Qué es breakeven en trading? Breakeven es una técnica que permite mover el nivel de stop loss al precio de apertura una vez que el mercado ha alcanzado un cierto margen favorable. Su propósito es proteger la operación y evitar pérdidas inesperadas. Implementar breakeven se considera esencial para asegurar que una operación no termine en pérdida si no se alcanza el takeprofit, o para asegurar ganancias ajustando el stop loss por encima de la entrada.

Breakeven puede aplicarse de varias maneras, como usando un número fijo de puntos, el Average True Range (ATR) para adaptarse a la volatilidad del mercado, o basado en el Risk-Reward Ratio (RRR). Estos enfoques garantizan un manejo efectivo del riesgo en diversas condiciones de mercado.

Leer más...
13👍621
La recursividad es una técnica útil en programación, pero las definiciones permiten mayor control sobre el código. Las definiciones pueden adoptar formas diversas en un código y son útiles para macros, directivas de compilación o constantes especiales. Un uso interesante es mediante directivas #define y #undef para gestionar versiones de código. Estos enfoques no requieren memorizar, sino comprender y aplicar. Directivas como #ifdef y #ifndef actúan similar a instrucciones if en programación, permitiendo compilar partes del código según condiciones definidas. Controlar versiones de código con directivas es esencial para eficientar mantenimiento y modificaciones futuras en el desarrollo.

Leer más...
👍53
La era de los macrodatos ha introducido cientos de millones de conjuntos de datos con potencial sin igual para la previsión de mercados financieros. Sin embargo, no todos los datos alcanzan esta capacidad. Este análisis se centra en evaluar la utilidad de datos alternativos en estrategias comerciales, específicamente en el mercado XAUEUR, que rastrea el precio del oro en euros. Se analizarán índices de volatilidad del CBOE vinculados al euro y al oro. Además, se usaron modelos de aprendizaje profundo para examinar la correlación entre datos de MetaTrader 5 y CBOE, sugiriendo la posible integración de información interactiva en modelos predictivos. La visualización efectiva juega un papel crucial en la interpretación correcta de datos complejos.

Leer más...
👍53
El artículo aborda el uso avanzado de la directiva #define en MQL5 para crear macros que optimizan el código al evitar llamadas repetitivas de funciones a través de la inserción de código inline, lo que puede mejorar la eficiencia a costa de más memoria. Se destaca la importancia de trabajar cuidadosamente con macros, ya que tienen limitaciones, como no contar con control de tipos ni seguridad proporcionada por el compilador, lo que podría complicar la depuración. Aunque más cerca de un procedimiento que de una función, estas macros pueden mejorar el rendimiento en situaciones específicas, ofreciendo una alternativa sofisticada para desarrolladores en el ámbito de trading algorítmico.

Leer más...
👍6
En una reciente actualización del desarrollo de sistemas de repetición, se han realizado ajustes significativos en el código DispatchMessage para mejorar la interacción entre el indicador de mouse y Chart Trade. Aunque la causa específica del problema es incierta, se ha logrado estabilizar la interacción al modificar ciertas líneas del código, específicamente en C_ChartFloatingRAD.mqh.

Se sugiere eliminar el evento CHARTEVENT_OBJECT_CLICK y sus líneas asociadas para evitar confusiones en la comunicación entre el sistema y el usuario. Este ajuste no afecta lo discutido previamente en artículos anteriores sobre protocolos de comunicación.

Además, se ha profundizado en la planificación de protocolos, destacando la importancia de transmitir información de manera ordenada y clara, utilizando cadenas alfanuméricas y delimitadores para garantizar que el receptor comprenda los mensajes co...

Leer más...
👍114😎2