Trading Algorítmico MQL5
25.7K subscribers
877 photos
877 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
Esta función ejecuta la lógica principal para iniciar una operación financiera. Calcula el precio de apertura, los niveles de toma de ganancias y el límite de pérdidas basándose en la información del símbolo y los parámetros proporcionados por el usuario.

Prepara una solicitud comercial (MqlTradeRequest) con detalles esenciales como símbolo, volumen, tipo de orden, desviación, comentario y número mágico. Luego, invoca la función OrderSend para enviar la solicitud comercial y obtener el resultado.

Función SetTypeFillingBySymbol: Determina el tipo de cumplimiento de la orden (Completar o Cancelar, Inmediato o Cancelar, o Devolver) según la política de cumplimiento del símbolo.

Función GetMinTradeLevel: Calcula el nivel mínimo de negociación considerando el nivel de congelación y el nivel de parada del símbolo. Ajusta el nivel mínimo para garantizar que se encuentre dentro de límites ...

Leer más...
👍2🏆1
El Análisis Discriminante Lineal (LDA) es un algoritmo de aprendizaje automático supervisado especializado en encontrar combinaciones lineales de características que separen las clases en un conjunto de datos. Es un método de reducción de dimensionalidad, similar al Análisis de Componentes Principales (PCA).

El LDA mejora la separabilidad de las clases proyectando los datos en un subespacio de menor dimensionalidad, minimizando la variabilidad dentro de la misma clase y maximizando la distancia entre clases. Además, es adecuado para clasificación multiclase y funciona mejor bajo ciertas suposiciones como la independencia de mediciones y la misma matriz de covarianza para todas las clases.

Los pasos del algoritmo incluyen el cálculo de matrices de dispersión dentro y entre clases, la resolución del problema de valores propios y la selección de características distintivas. La proyecci...

Leer más...
2👍1
En esta sexta parte de nuestra serie sobre MQL5, seguimos con el propósito de dotar a los desarrolladores de las herramientas necesarias para dominar la programación en el ámbito del trading automatizado. Tras la introducción a algunas funciones de matriz en la Parte 5, ahora nos enfocamos en las funciones de array restantes.

Las funciones incluidas en este capítulo son:

1. **ArrayPrint**: Permite imprimir los elementos de un array en la consola o diario, útil para depuración.
2. **ArrayInsert**: Inserta elementos de una matriz en otra en una posición designada, manteniendo la estructura original.
3. **ArraySize**: Retorna el número de elementos de un array unidimensional.

Detalle de las Funciones

**ArrayPrint**

- **Propósito**: Imprimir elementos del array para fines de depuración.
- **Sintaxis**: `ArrayPrint(array[], Digits, Separator, Start, Count, Flags)`
- **Uso**: Revisa l...

Leer más...
👍3
La séptima parte del libro "Programación en MQL5 para tráders" aborda herramientas avanzadas de la API MQL5, útiles para desarrollar programas en MetaTrader 5. Se examinan funciones más específicas y tecnologías universales.

Entre las funciones específicas se incluyen los instrumentos financieros personalizados y el calendario económico incorporado. En cuanto a tecnologías universales, se trata de funciones de red, bases de datos y criptografía. También se consideran las bibliotecas, que permiten conectar API a otros programas MQL y organizar complejos de software en proyectos lógicamente interconectados.

La parte final trata la integración con otros entornos de programación, especialmente Python. Se desarrollan recursos: archivos arbitrarios que pueden incluirse en el código, como elementos multimedia y programas MQL5 compilados. El entorno de MQL5 admite datos, imágenes, sonidos ...

Leer más...
2🏆2👍1
Creación de bases de datos y consultas SQL en MQL5 para negociar noticias económicas. Se trabajará con bases de datos SQLite y se ejecutarán consultas SQL para extraer información de manera eficiente.

Los operadores siguen atentamente las noticias que pueden impactar los mercados, como eventos geopolíticos, informes económicos y anuncios corporativos. La acción rápida ante estas noticias puede llevar a decisiones de compra o venta de activos. Se enfocará en eventos económicos disponibles en el Calendario Económico de MQL5.

Las bases de datos organizan grandes volúmenes de datos, facilitando el análisis y la recuperación de información, fundamental en el desarrollo de estrategias de trading basadas en noticias. Las bases de datos SQLite, comúnmente utilizadas en MQL5, son archivos únicos que incluyen todos los datos y su estructura, lo que elimia la necesidad de bucles complejos.

D...

Leer más...
👍1
Las operaciones angulares en el trading tienen como ventaja la sencillez del trazado de ángulos y su visibilidad. Un buen ejemplo son las herramientas de Gann. Hoy se analizarán los ángulos desde una nueva perspectiva, intentando refrescar conceptos.

Un ángulo es una figura geométrica sencilla, fácil de dibujar y calcular. Vamos a crear un indicador basado en los precios de diferentes pares de divisas, donde ángulos pequeños indicarán altos precios para el primer par y bajos para el segundo, y viceversa. Así, nuestro indicador determinará la sobrecompra/sobreventa entre pares de divisas.

La primera dificultad es la comparación de valores en diferentes ejes (ej. EURUSD y USDJPY). Se resuelve dividiendo el precio de cada instrumento por el valor del pip, logrando comparabilidad y misma escala en ambos ejes.

Luego, aplicando una distribución normal envuelta a nuestro indicador, podemo...

Leer más...
👍2
En "Programación en MQL5 para tráders", se estudia la automatización del trading en MQL5.

Se inicia con la descripción de entidades principales, como las especificaciones de los instrumentos financieros y la configuración de la cuenta comercial, elementos necesarios para crear asesores correctos. Se analizan las funciones y estructuras de datos integradas, los eventos específicos del robot, y cuestiones clave en el trabajo de los expertos en el simulador.

El simulador de estrategias en MetaTrader 5 es vital para evaluar el rendimiento financiero y optimizar estrategias comerciales. Ofrece herramientas para depuración en varios modos: prueba visual por barras o ticks, tests con generación artificial de ticks o historia de ticks reales, y pruebas con capacidad de reproducción visual del flujo de cotizaciones.

El desarrollo de expertos permite acceso a la gama completa de capacidades...

Leer más...
👍3🏆2
El desarrollo de una plantilla dinámica busca optimizar el uso de asesores en MetaTrader 4 y 5. La configuración básica de la plantilla viene segmentada en bloques y operará con archivos de texto que contendrán los ajustes necesarios para cada par de instrumentos comerciales virtuales. Este enfoque garantiza una gestión dinámica y simplificada, sin necesidad de configuraciones manuales continuas.

Ventajas de esta plantilla dinámica:
1. Configuración independiente por instrumento y periodo.
2. Sincronización automática con API a través del puerto 443.
3. Gestión por carpetas compartidas en el terminal.
4. Integración con programas externos que gestionen los archivos.
5. Posibilidad de crear una versión demo sin conexión a la API.

Desventajas:
1. Dependencia del sistema de archivos.
2. Requiere dominio para API en la configuración de MetaTrader.

Esta solución incluye la posibilidad d...

Leer más...
3
Los sistemas automatizados de autooptimización son esenciales en los mercados financieros actuales. Los mercados se han vuelto más volátiles debido a la negociación algorítmica, especialmente por operadores de alta frecuencia, que representan casi la mitad de todas las operaciones en Europa y EE. UU. Desarrollar un bot de negociación que pueda ajustarse a las condiciones del mercado es clave para la estabilidad de las estrategias de negociación. El objetivo es diseñar sistemas con capacidad de aprendizaje y adaptación a cualquier símbolo comercial.

Esta guía se centra en el uso de MQL5 para desarrollar bots autooptimizables. MQL5 ofrece amplias funciones matriciales y vectoriales útiles para crear modelos compactos de aprendizaje automático. Frente a ONNX y Python, MQL5 proporciona adaptabilidad sin necesidad de gestionar numerosos modelos para distintas condiciones de mercado y símb...

Leer más...
👍3
En la quinta parte del libro “Programación en MQL5 para tráders”, se profundiza en la creación de programas de aplicación en MQL5. Se estudian las API para el trading algorítmico, análisis de datos financieros, visualización en gráficos y automatización de acciones. Se comienzan con los principios generales de creación de programas MQL, tipos de eventos en el terminal, acceso a series temporales, tablas y objetos gráficos. Se analizan y practican los cinco tipos de programas disponibles en MetaTrader 5: indicadores técnicos, asesores expertos (EA), scripts, servicios y bibliotecas. Esta sección también incluye el trabajo con indicadores y gráficos, técnicas aplicables a los asesores expertos, y pospone el desarrollo de estos últimos para la siguiente parte del libro. Se abordará la automatización de órdenes, estrategias comerciales, su comprobación y optimización con datos históricos....

Leer más...
👍4
Mejorando Clases de Biblioteca

En el artículo previo se explicó cómo crear una barra de desplazamiento horizontal en un objeto cuando este excede los límites de su formulario padre. Basándonos en esto, se creará una barra de desplazamiento vertical. Esta aparecerá si el objeto sobrepasa los límites superior, inferior o ambos del formulario padre.

Aunque ya se había desarrollado esta barra, la publicación del artículo se retrasó debido a un error que causaba un parpadeo constante en los gráficos. Se solucionó eliminando la actualización prematura del objeto.

Añadir funciones y métodos útiles permitirá mejoras futuras. A veces es necesario calcular la hora de apertura de una vela cuando ocurre un evento entre la hora de apertura y cierre. Estos cálculos optimizan el tiempo de CPU.

Se modificarán los colores de los gráficos en base a situaciones específicas. Por ejemplo, un objeto gr...

Leer más...
👍2👏1
La Parte 4 del estudio sobre programación en MQL5 aborda las API comunes utilizadas en este lenguaje. En secciones anteriores, se han cubierto conceptos básicos, sintaxis y reglas. Ahora es momento de utilizar funciones integradas para realizar tareas prácticas como procesamiento de datos y comercio automatizado mediante MetaTrader 5.

Esta sección se centra en las funciones API MQL5 básicas, útiles en la mayoría de programas. Temas principales incluyen manipulación de arrays, procesamiento de cadenas, operación con archivos, conversión de datos e interacción con el usuario. Además, se abordan funciones matemáticas y gestión del entorno.

A diferencia de otros lenguajes, en MQL5 no se necesitan directivas de preprocesador adicionales para usar las funciones API. Todas están disponibles en el contexto global. También se discuten las similitudes de nombres en varios contextos y el uso d...

Leer más...
👍41👏1🎉1
¿Le apasiona el aprendizaje automático? Discuta las últimas tendencias en redes neuronales con otros entusiastas de la IA en nuestro foro multilingüe:

✓ Cómo utilizar el aprendizaje automático en el trading
✓ Estrategias comerciales con ayuda de IA
✓ Los mejores modelos y su entrenamiento
✓ Libros y páginas web sobre redes neuronales
✓ Resultados comerciales reales obtenidos con robots de IA

Encuentre nuevas ideas y comparta sus experiencias en nuestro hilo especial:

Aprendizaje automático en el trading: teoría, modelos, práctica y trading algorítmico
👍18🔥129👏2🎉2👌2😁1
En lugar de predecir el futuro movimiento de precios, que requiere altos recursos computacionales y no siempre es preciso, este artículo propone un enfoque innovador para el trading algorítmico mediante el uso de transformadores sin decodificadores (DFFT). Inspirado en técnicas de visión artificial, DFFT elimina el paso de predicción intermedia, reduciendo errores y permitiendo que un Actor tome decisiones óptimas basadas en datos históricos. Este método se implementa en MQL5, con bloques DOT especializados para gestionar la atención a nivel local y global, mejorando la eficiencia y precisión en la detección de patrones de mercado. Ideal para traders algorítmicos buscando eficiencia sin sacrificar rendimiento.

Leer más...
3👍3👌1
¿Interesado en cómo integrar el intercambio de datos en tiempo real en tus operaciones de MetaTrader 5? Esta guía te enseña a usar MQTT, un protocolo maduro y ligero que facilita la distribución de datos entre sistemas desacoplados. Desde la creación de símbolos personalizados hasta la implementación de servicios MQTT PUBLISH y SUBSCRIBE, aprende a automatizar tus operaciones con ejemplos prácticos. Ideal para traders que necesitan datos de múltiples fuentes y programadores que buscan nuevas soluciones para algoritmos de trading. Conecta tus cuentas de trading y mejora su eficiencia sin complicaciones. Descubre más sobre esta poderosa herramienta y su potencial en el trading automatizado.

Leer más...
👀4👍1👏1
Descubre la implementación práctica del algoritmo SVM en el entorno MetaTrader 5. Este artículo destaca cómo los SVMs clasifican datos mediante hiperplanos, y profundiza en la construcción y uso de un kernel polinómico. Exploramos tres escenarios aplicados, incluyendo interpolación de puntos medios y una función de regresión, todo sin recurrir a bibliotecas externas. Esta metodología es esencial para aquellos que buscan robustez en modelos con datos pequeños o sesgados, brindando una visión detallada y técnica que facilita la comprensión y aplicación práctica para traders y desarrolladores. Una lectura obligada para mejorar tu estrategia de trading algorítmico.

Leer más...
👏411👍1
Parte 3. Programación Orientada a Objetos en MQL5" ofrece una inmersión en la programación orientada a objetos (POO) en el lenguaje MQL5. El desarrollo de software a menudo implica cierta complejidad al administrar múltiples entidades, lo que requiere tecnología avanzada para mejorar la calidad y la productividad del trabajo del programador. La POO se basa en el concepto de objetos, variables de un tipo personalizado definido por el programador usando herramientas MQL5.

La creación de tipos personalizados permite modelar objetos y facilita la escritura y el mantenimiento de los programas. Esta sección analiza varias formas de definir nuevos tipos, incluidas las clases, estructuras y uniones. Estos tipos personalizados pueden combinar datos y algoritmos para describir el estado y el comportamiento de los objetos aplicados.

El autor del libro describe el principio "divide y vencerás",...

Leer más...
👍4👏1
El concepto de volatilidad en el mercado financiero es esencial para entender el trading. Exploraremos cómo el canal de Keltner puede funcionar como parte de un sistema de medición de la volatilidad y cómo optimizarlo según las preferencias comerciales.

La volatilidad mide la dispersión de los rendimientos de activos financieros. Factores que provocan volatilidad incluyen el sentimiento del mercado, informes de ingresos, eventos económicos y liquidez.

El canal de Keltner es un indicador de volatilidad que utiliza una media móvil exponencial y un rango medio verdadero. Aprender a configurarlo y aplicarlo es fundamental para evaluar tendencias y desempeñarse en el trading.

Existen estrategias comerciales como el "rebote de bandas" y la "ruptura de bandas". Crear un sistema automatizado basado en estas estrategias puede mejorar el rendimiento comercial.

Las pruebas y comparaciones en...

Leer más...
👏3👍1
Parte 2. Conceptos básicos de programación en MQL5" ofrece una visión general de los fundamentos esenciales de este lenguaje. Los lectores se familiarizarán con elementos clave como los tipos de datos, identificadores, variables, expresiones y operadores. Es una sección necesaria para desarrollar una comprensión sólida antes de avanzar a conceptos más complejos.

Esta parte del libro destaca la importancia de los identificadores, esenciales para el acceso a diferentes elementos del programa mediante nombres únicos. Los identificadores deben seguir reglas específicas: solo pueden incluir caracteres latinos, números y guiones bajos, no pueden comenzar con un número y deben evitar coincidir con palabras reservadas de MQL5.

Además, se introduce la programación de procedimientos, permitiendo a los lectores aprender cómo crear programas que procesen datos en una secuencia lógica. Esta base...

Leer más...
😁32👍1👏1