Trading Algorítmico MQL5
25.4K subscribers
859 photos
859 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
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
La entropía de transferencia es clave para analizar interacciones entre series temporales, cuantificando la información transferida de una a otra. Esto permite identificar direcciones de influencia causal entre procesos. Se aplica en MQL5 para series potencialmente acopladas, mejorando tareas de predicción.

La causalidad de Granger, basada en correlaciones, ayuda a identificar relaciones causales, pero tiene limitaciones y no siempre identifica mecanismos causales definitivos. Una causa no puede preceder a su efecto y contiene información única transferida al efecto.

La entropía de transferencia se basa en divergencia de Kullback-Leibler para medir la dirección de la transferencia de información. Las pruebas de significancia y el enfoque no paramétrico aseguran solidez en los resultados.

Leer más...
👍13👌1
El artículo aborda el enfoque innovador del Aprendizaje Simulado Condicionado por Objetivos (BC) para el aprendizaje por refuerzo offline, evitando la tradicional evaluación de valor de estado y acción. En su lugar, BC utiliza un modelado supervisado de trayectorias preconstruidas para mejorar la política del Agente. Se destacan preguntas críticas sobre la utilidad de trayectorias offline en la secuenciación y el aprendizaje de políticas. Presenta un marco de dos etapas que comprime información de trayectoria para entrenar políticas eficaces. Este método, sobre todo el GCPC propuesto, ofrece representaciones útiles de trayectorias, demostrando gran potencial y eficacia para decisiones con horizontes largos para traders y desarrolladores.

Leer más...
👍107👌2
El enfoque de optimización de política sujeta a restricciones en aprendizaje por refuerzo offline es prometedor. Utiliza transiciones históricas para entrenar políticas que maximizan el valor de la función. Las restricciones estabilizan la distribución de acciones del agente, asegurando la validez de estimaciones de valor. El algoritmo CFPI, presentado en "Offline Reinforcement Learning with Closed-Form Policy Improvement Operators", aborda la inestabilidad del aprendizaje por refuerzo offline usando operadores de mejora de estrategia estables, limitando el desplazamiento distribucional mediante aproximaciones lineales.

CFPI propone usar distribuciones gaussianas unitarias para modelar estrategias, mejorando de forma determinista el valor. También sugiere una mezcla de gaussianas para captar múltiples modos en datos heterogéneos, aunque esto complejiza la optimización. Propone soluci...

Leer más...
👍94🔥3👌2
La herramienta GIT sigue siendo fundamental para cualquier desarrollador que aspire a ser profesional. Aunque más fácil de usar en Windows 10 que en Windows 11, su relevancia persiste por su capacidad de documentar y gestionar cambios en código, crucial para proyectos en constante evolución.

El procedimiento básico para comenzar incluye la instalación de GIT y su configuración inicial, focalizando en cómo ajustar MetaEditor para trabajar con MQL5. Con guía sencilla, los usuarios pueden configurar sus entornos y usar la GUI para gestionar repositorios.

GIT, a través de sus estados COMMITTED, MODIFIED y STAGED, brinda un control preciso sobre el código, permitiendo reversiones y seguimiento eficaz de cambios. Es un recurso valioso para documentar experiencias y aprender de los errores en programación.

Leer más...
👍1422👌2