Trading Algorítmico MQL5
25.4K subscribers
862 photos
862 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
La programación en MQL5 implica el uso de funciones predefinidas como OnStart y Print para ejecutar acciones simples. Las funciones se componen de operadores básicos que permiten realizar tareas específicas, como comparar números o concatenar texto. Los algoritmos, formados por secuencias de operadores, ofrecen soluciones claras para el sistema. La memoria RAM almacena datos esenciales en variables y constantes; las variables son modificables mientras que las constantes son inalterables durante la ejecución. Los literales, como cadenas y números, se representan de manera particular en el código. La práctica de nombrar correctamente variables y constantes facilita el mantenimiento del código y la comprensión de las operaciones realizadas.

Leer más...
👍6👌1
Las Redes Neuronales Convolucionales (CNN) son poderosas herramientas para el análisis de datos en formato de cuadrícula, como imágenes, y ahora se están aplicando en el análisis financiero y trading. Clave en su funcionalidad son las capas convolucionales que capturan patrones locales, y las capas de agrupación que reducen la dimensionalidad manteniendo información vital. Las CNN son efectivas para captar dependencias locales en datos financieros que otras técnicas podrían pasar por alto. También destacan por su eficiencia computacional, aptitud para manejo multivariante, y resistencia al ruido. En el contexto de MetaTrader 5, estas propiedades se están aprovechando para crear robots comerciales más efectivos.

Leer más...
👍5👌21
Las directivas de compilación en MQL5, como #include, son esenciales para gestionar eficientemente el código en proyectos de programación. Facilitan la división del código en bloques organizados en archivos separados, permitiendo referencias fáciles. Su uso no complica el código, sino que lo simplifica, permitiendo diferentes versiones sin perder información.

La elección sobre dónde guardar los archivos es crucial. Aunque el directorio `include` es estándar, crear subdirectorios específicos puede evitar conflictos y mejorar la organización. Siempre optar por archivos con extensión MQH ayuda en la clasificación y reconocimiento.

Comprender y aplicar directivas es fundamental para avanzar en el desarrollo organizado de software, aprovechando estructuras más eficientes y adaptables.

Leer más...
👍4👌1
En el artículo se explora el uso avanzado de MetaTrader 5 para la gestión del Depth of Market, o libro de órdenes. Se detalla cómo obtener y simular datos de eventos de mercado a través de la función SymbolInfoInteger y el script CloneSymbolTicksAndRates, que facilita la creación de símbolos personalizados. Además, se introduce un método para generar BookEvents simulados usando un script especializado, mejorando las pruebas offline de algoritmos. Se explican innovaciones como el indicador BookEventHistogram, diseñado para mostrar visualmente los cambios en el libro de órdenes, utilizando un enfoque orientado a objetos que facilita la gestión y actualización eficiente de datos en tiempo real.

Leer más...
👍4🏆211👌1
El comando SWITCH en MQL5 actúa como una alternativa al comando IF cuando se evalúa una única variable para encontrar un valor exacto. SWITCH permite sustituir múltiples IF, si la variable evaluada es constante en distintas condiciones. La diferencia clave es que SWITCH solo verifica si la variable es igual a un valor determinado, sin evaluar tamaños mayores o menores.

En la implementación del SWITCH, CASE se usa para especificar cada posible valor de interés, y el subcomando DEFAULT maneja situaciones donde ningún CASE coincide. Usar BREAK dentro de cada CASE evita ejecuciones no deseadas, similar a su uso en bucles.

SWITCH se evalúa numéricamente y, al encontrar una coincidencia, ejecuta el bloque asociado hasta el siguiente BREAK o el final del bloque SWITCH. Este enfoque puede ser más adecuado que el uso de múltiples IF, especialmente en situaciones más complejas donde se requie...

Leer más...
👌2👍1
La predicción de precios en instrumentos financieros es un desafío, influido por factores como tipos de interés, inflación y más. Tradicionalmente, se emplean modelos lineales, pero no siempre son efectivos para datos no lineales. Aquí, es donde el aprendizaje automático destaca.

La investigación introdujo un nuevo enfoque con el modelo TPM, basado en atención dual. Este método combina características de mercado a corto y largo plazo. La arquitectura "Codificador-Decodificador" y el uso de redes neuronales, como CNN y LSTM, son aspectos clave.

El TPM mejora la precisión de predicciones al considerar datos históricos y variaciones a corto plazo, optimizando la información mediante atención dual.

Leer más...
9👍5👌1
El algoritmo híbrido BFO-GA combina la búsqueda local del BFO con la exploración global del GA para optimización eficiente. El BFO emula el forrajeo bacteriano, utilizando transiciones, difusión y actualización de posición. Cada bacteria representa una solución, avanzando hacia la mejor alternativa. El GA, inspirado en la selección natural, trabaja con cruzamientos y mutaciones genéticas para encontrar soluciones óptimas. El algoritmo híbrido usa el enfoque bacteriano como base, ampliando con operadores genéticos para mejorar la búsqueda. Ofrece ventajas como mejor exploración y explotación, adaptabilidad y menor necesidad de ajustar parámetros, logrando soluciones óptimas más efectivas.

Leer más...
🔥5👍3👌1
El artículo explora redes generativas antagónicas (GAN) y la importancia de la tasa de aprendizaje en su entrenamiento. Analiza varios formatos de tasas de aprendizaje, como fija, decaimiento escalonado, exponencial, polinomial, temporal inverso y recocido de coseno. Cada método ofrece diferentes ventajas en términos de estabilidad, convergencia y evitación de ajustes inapropiados, proporcionando un análisis exhaustivo de su impacto en el rendimiento de los algoritmos. La implementación en MetaTrader 5 mediante el MQL5 facilita el ensamblaje y prueba de asesoramiento experto, ofreciendo a los desarrolladores y comerciantes herramientas personalizables para mejorar sus estrategias de trading.

Leer más...
🏆5👍21👌1
El Algoritmo de Campo Eléctrico Artificial (AEFA) se inspira en la ley de Coulomb y ofrece un método innovador para abordar problemas complejos de optimización. En este algoritmo, las soluciones se representan como partículas cargadas que interactúan a través de fuerzas electrostáticas de atracción, moviéndose en un espacio de búsqueda multidimensional para encontrar soluciones óptimas.

AEFA emplea varias fórmulas fundamentales como la de Coulomb, aceleración basada en campo eléctrico y actualización de posiciones y velocidades de partículas para operar. La constante de Coulomb y las cargas se actualizan iterativamente para equilibrar la búsqueda global y optimización local, controlando la exploración y explotación del espacio de soluciones.

Publicado por profesores indios en 2019, el AEFA se suma a la categoría de algoritmos evolutivos basados en fenómenos naturales, contribuyendo ...

Leer más...
👍6👌1
El artículo diserta sobre la importancia de entender a fondo los comandos básicos de programación en MQL5, destacando el comando FOR. Aunque básico, el FOR se prefiere por su claridad al incorporar pasos de control del bucle en su declaración. Esto lo hace más legible que WHILE y DO WHILE, que distribuyen el control del flujo en varias partes. Aprender su correcto uso y diferencias es esencial para enfrentar cualquier problema de programación. La comprensión de estas estructuras básicas permite a los desarrolladores adaptarse a desafíos complejos con mayor facilidad y efectividad.

Leer más...
👍8👌2👀1
El contenido proporciona una exposición didáctica de las reglas de precedencia en la programación en MQL5. Se aclara que, aunque los primeros códigos creados puedan parecer simples, imparten una comprensión básica que permite comenzar a estructurar scripts. Se introduce el tema de los operadores, explicando la importancia de las reglas de precedencia y cómo su correcta aplicación puede evitar resultados inesperados.

La representación en una tabla de operadores ofrece una guía visual para entender el orden de sus aplicaciones, siendo los operadores de referenciación prioritarios. El artículo destaca la importancia de la claridad en la escritura del código, usando paréntesis para mejorar la legibilidad y prevenir errores, especialmente en casos como el operador ternario o ejemplos complejos donde la precedencia es crítica.

Finalmente, se subraya que un buen programador debe prever el ...

Leer más...
👍1442👌1
La programación es técnica y requiere precisión. Factorizaciones erróneas pueden causar resultados inesperados en el código. Es crucial entender la declaración de variables y constantes. Hoy, se aborda el uso de matrices y cadenas en lenguajes tipados y no tipados. En lenguajes como C y C++, las matrices y cadenas pueden tener manejos complejos. MQL5 se sitúa en un punto intermedio, facilitando el aprendizaje aunque ciertas manipulaciones requieran conocimientos sólidos.

En MQL5, una cadena es una matriz con un final específico. Este lenguaje facilita algunas operaciones que en C/C++ serían más complicadas. El uso de operadores en cadenas, aunque parece simple, exige precaución. La comprensión profunda de estos conceptos permite expandir las posibilidades más allá de la biblioteca estándar de MQL5. A través del formateo de cadenas, se pueden cumplir criterios específicos, esencial pa...

Leer más...
👍63👌1
La programación en MQL5 ofrece diversas oportunidades para personalizar formatos de salida, aunque su biblioteca estándar sea muy completa. Si necesitas visualizar valores binarios en MetaTrader 5, y la funcionalidad no existe por defecto, debes desarrollar una solución propia. Usando un bucle y entendiendo bien los operadores y variables, puedes crear un formato binario personalizado. La clave es manipular cadenas de texto con funciones existentes y aplicar el razonamiento lógico para resolver problemas. Al explorar el uso de operadores de desplazamiento, podrás optimizar tus programas en MQL5, entendiendo su uso en la manipulación de bits y aumentando la eficacia de tus funciones.

Leer más...
👍72👌1
El contenido tiene un propósito educativo y no debe considerarse una aplicación final. En el artículo anterior, se mostraron soluciones sencillas aplicables por principiantes utilizando conocimientos básicos y creatividad. A pesar de funcionar, ciertas manipulaciones de texto pueden parecer complicadas para los nuevos en programación. La clave es entender cómo se traduce información para que el ordenador la entienda y para que los resultados sean comprensibles para los humanos.

Al inicio, los procesadores usaban BCD para entender números decimales, pero se pasó a cálculos binarios, dejando la traducción a los programadores. Este principio condujo a la creación de bibliotecas para conversión entre bases numéricas. MQL5, por ejemplo, permite crear pequeñas bibliotecas didácticas para entender estas transformaciones. La implementación manual de estas traducciones ayuda en el aprendizaje...

Leer más...
👍7👌1
El texto presenta conceptos avanzados de programación, centrados en el manejo de matrices y cadenas, y su aplicación práctica en la generación de contraseñas. Se aborda la conversión entre formatos numéricos y la importancia de las decisiones de diseño en la implementación de algoritmos. También se destaca la optimización de código a través de la declaración de variables en bucles, y se explora el uso de operadores ternarios para ajustes de índices en matrices. El objetivo es permitir la comprensión de conceptos subyacentes que podrán ser aplicados en futuros problemas de programación, promoviendo un enfoque analítico para resolver desafíos en la codificación.

Leer más...
👍8👌1
Explora la aplicación de las Bandas de Bollinger en el trading algorítmico en MetaTrader 5. Este artículo detalla cómo implementar estrategias utilizando IA y análisis discriminante lineal en MQL5. En un experimento, se entrenaron dos modelos de IA: uno para predecir directamente los precios y otro para pronosticar transiciones entre zonas definidas por las Bandas de Bollinger. Los resultados revelan que predecir precios directamente es más efectivo. Además, el artículo muestra análisis de datos y visualizaciones prácticas para traders, apoyados por la biblioteca scikit-learn. Descubre cómo estas técnicas avanzadas pueden optimizar tus decisiones de trading y desarrollo.

Leer más...
👍8👌1
El pronóstico de series temporales es crucial en áreas como finanzas. Sin embargo, la "maldición de la dimensionalidad" complica el análisis de series multimensionales. Una ventana de datos pequeña puede afectar el rendimiento predictivo. Para abordar este problema, se ha desarrollado la ecuación STI. Esta convierte información espacial de variables en información temporal de la variable objetivo. El modelo STNN utiliza la ecuación STI y la arquitectura Transformer para predecir eficientemente las series temporales. Esto se logra aprovechando la capacidad del Transformador para extraer información global y mejorar la precisión de la predicción numérica. Su implementación teórica se puede realizar con herramientas como MQL5.

Leer más...
👍65👌2
El artículo explora la optimización de parámetros en redes neuronales, destacando una solución innovadora para reducir el consumo de memoria. El enfoque tradicional, Adam, consume memoria considerable al manejar momentos de primer y segundo orden. El método propuesto, Adam-mini, realiza un trabajo efectivo agrupando parámetros para aplicar tasas de aprendizaje óptimas. Esto reduce el consumo de memoria a la mitad manteniendo o incluso mejorando el rendimiento. Implementar Adam-mini en MQL5 implica cambios en la estructura de datos y uso de OpenCL, destacando la eficiencia de cálculo a través de grupos de trabajo optimizados. Es ideal para aprovechar hardware limitado y mejorar el entrenamiento en redes grandes.

Leer más...
👍6👌21
Los desarrolladores de algoritmos de negociación enfrentan el desafío de adaptarse a mercados en constante cambio. Las estrategias deben ajustarse según el comportamiento del mercado: una estrategia de reversión a la media es útil en mercados con rangos limitados, pero no cuando hay una tendencia clara. Codificar múltiples estrategias puede permitir a los usuarios elegir la más adecuada manualmente. Sin embargo, lo ideal es diseñar programas que cambien automáticamente de estrategia según las condiciones del mercado. Se necesita un método cuantitativo para medir tendencias y movimientos de reversión a la media. Esto se puede lograr mediante una matriz de transición que modele el comportamiento del mercado.

Leer más...
👍6👌5🔥1
El artículo explora cómo el comportamiento social en la naturaleza inspira algoritmos de optimización, destacando el algoritmo ASBO, que se basa en liderazgo dinámico y autoorganización. ASBO utiliza técnicas como la mutación autoadaptativa y la generación de números aleatorios a través del método Box-Muller para mejorar la exploración del espacio de soluciones. Este enfoque es relevante para la optimización de estrategias comerciales en MetaTrader 5, ofreciendo un método para adaptar dinámicamente los parámetros de búsqueda y mejorar la precisión en la toma de decisiones. La implementación incluye un enfoque detallado para evaluar y ajustar adaptaciones en tiempo de ejecución.

Leer más...
👍1052🎉2👌2