Artículos sobre programación en el lenguaje MQL5

icon

Aprenda el lenguaje de programación de estrategias comerciales MQL5 leyendo numerosos artículos la mayor parte de los cuales han sido escritos por Ustedes - miembros de MQL5.community. Con el fin de buscar rápidamente la respuesta sobre una u otra cuestión de programación, todos los artículos están divididos en categorías: "Integración", "Probador", "Estrategias comerciales", etc.

Siga las nuevas publicaciones y participe en sus discusiones en el foro de MQL5.community!

Nuevo artículo
últimas | mejores
preview
Creación de un Panel de administración de operaciones en MQL5 (Parte VIII): Panel de análisis

Creación de un Panel de administración de operaciones en MQL5 (Parte VIII): Panel de análisis

Hoy profundizamos en la incorporación de métricas de trading útiles dentro de una ventana especializada integrada en el EA del Panel de Administración. Este debate se centra en la implementación de MQL5 para desarrollar un panel de análisis y destaca el valor de los datos que proporciona a los administradores de operaciones bursátiles. El impacto es principalmente educativo, ya que se extraen valiosas lecciones del proceso de desarrollo, lo que beneficia tanto a los desarrolladores noveles como a los experimentados. Esta función demuestra las oportunidades ilimitadas que ofrece esta serie de desarrollo al equipar a los gestores comerciales con herramientas de software avanzadas. Además, exploraremos la implementación de las clases PieChart y ChartCanvas como parte de la continua expansión de las capacidades del panel del administrador de operaciones.
preview
Redes neuronales en el trading: Modelos híbridos de secuencias de grafos (GSM++)

Redes neuronales en el trading: Modelos híbridos de secuencias de grafos (GSM++)

Los modelos híbridos de secuencias de grafos (GSM++) combinan los puntos fuertes de distintas arquitecturas para posibilitar un análisis de datos de gran precisión y optimizar los costes computacionales. Estos modelos se adaptan eficazmente a los datos dinámicos del mercado, mejorando la presentación y el procesamiento de la información financiera.
preview
Redes neuronales en el trading: Clusterización doble de series temporales (DUET)

Redes neuronales en el trading: Clusterización doble de series temporales (DUET)

El framework DUET ofrece un enfoque innovador del análisis de series temporales, combinando la clusterización temporal y por canales para revelar patrones ocultos en los datos analizados. Esto permite a los modelos adaptarse a los cambios a lo largo del tiempo y mejorar la calidad de las previsiones eliminando el ruido.
preview
Redes neuronales: así de sencillo (Parte 97): Entrenamiento de un modelo con el MSFformer

Redes neuronales: así de sencillo (Parte 97): Entrenamiento de un modelo con el MSFformer

Al estudiar las distintas arquitecturas de construcción de modelos, prestamos poca atención al proceso de entrenamiento de los mismos. En este artículo intentaremos rellenar ese vacío.
preview
Simulación de mercado (Parte 10): Sockets (IV)

Simulación de mercado (Parte 10): Sockets (IV)

En este artículo, te muestro lo que necesitas hacer para empezar a utilizar Excel y controlar MetaTrader 5, pero de una forma muy interesante. Para ello, utilizaremos un complemento de Excel, de modo que no sea necesario utilizar el VBA integrado. Si no sabes de qué complemento se trata, consulta este artículo y aprende a programar en Python directamente en Excel.
preview
Redes generativas antagónicas (GAN) para datos sintéticos en modelos financieros (Parte 1): Introducción a las GAN y los datos sintéticos en modelos financieros

Redes generativas antagónicas (GAN) para datos sintéticos en modelos financieros (Parte 1): Introducción a las GAN y los datos sintéticos en modelos financieros

Este artículo presenta a los operadores bursátiles las redes generativas antagónicas (Generative Adversarial Networks, GAN) para generar datos financieros sintéticos, abordando las limitaciones de datos en el entrenamiento de modelos. Este artículo presenta a los operadores bursátiles las redes generativas antagónicas (GAN) para generar datos financieros sintéticos, abordando las limitaciones de datos en el entrenamiento de modelos.
preview
Algoritmo de Tribu Artificial (Artificial Tribe Algorithm, ATA)

Algoritmo de Tribu Artificial (Artificial Tribe Algorithm, ATA)

Este artículo detalla los componentes clave y las innovaciones del algoritmo de optimización ATA, un método evolutivo con un sistema de comportamiento dual único que se adapta según la situación. Usando el cruce para la exploración en profundidad y la migración para la búsqueda cuando se dan atascos en óptimos locales, el ATA combina el aprendizaje individual y el social.
preview
Análisis angular de los movimientos de precios: un modelo híbrido para predecir los mercados financieros

Análisis angular de los movimientos de precios: un modelo híbrido para predecir los mercados financieros

¿Qué es el análisis angular de los mercados financieros? ¿Cómo usar los ángulos de precios y el aprendizaje automático para predecir con una exactitud de 67? ¿Cómo combinar un modelo de regresión y clasificación con características angulares y obtener un algoritmo que funcione? ¿Qué tiene que ver Gann con esto? ¿Por qué los ángulos de movimiento de los precios son una buena señal para el aprendizaje automático?
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 9): Flujo externo

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 9): Flujo externo

Este artículo explora una nueva dimensión del análisis utilizando librerías externas diseñadas específicamente para análisis avanzados. Estas librerías, como pandas, proporcionan potentes herramientas para procesar e interpretar datos complejos, lo que permite a los operadores obtener una visión más profunda de la dinámica del mercado. Al integrar estas tecnologías, podemos salvar la brecha entre los datos brutos y las estrategias viables. Únase a nosotros para sentar las bases de este enfoque innovador y liberar el potencial de combinar la tecnología con la experiencia en el comercio.
preview
Introducción a Connexus (Parte 1): ¿Cómo utilizar la función WebRequest?

Introducción a Connexus (Parte 1): ¿Cómo utilizar la función WebRequest?

Este artículo es el comienzo de una serie de desarrollos para una biblioteca llamada “Connexus” para facilitar las solicitudes HTTP con MQL5. El objetivo de este proyecto es brindarle al usuario final esta oportunidad y mostrarle cómo utilizar esta biblioteca auxiliar. Mi intención era hacerlo lo más sencillo posible para facilitar el estudio y ofrecer la posibilidad de desarrollos futuros.
preview
Integración de las API de los brókers con los Asesores Expertos usando MQL5 y Python

Integración de las API de los brókers con los Asesores Expertos usando MQL5 y Python

En este artículo, analizaremos la implementación de MQL5 en colaboración con Python para realizar operaciones relacionadas con los brókers. Imagina tener un asesor experto (Expert Advisor, EA) funcionando continuamente alojado en un VPS, ejecutando operaciones en tu nombre. En algún momento, la capacidad de la EA para gestionar fondos se vuelve primordial. Esto incluye operaciones como recargar su cuenta de trading e iniciar retiradas. En este debate, analizaremos las ventajas y la aplicación práctica de estas funciones, garantizando una integración perfecta de la gestión de fondos en su estrategia comercial. ¡Estén atentos!
preview
Características del Wizard MQL5 que debe conocer (Parte 46): Ichimoku Kinko Hyo (IKH)

Características del Wizard MQL5 que debe conocer (Parte 46): Ichimoku Kinko Hyo (IKH)

El Ichimoku Kinko Hyo (IKH) es un reconocido indicador japonés que sirve como sistema de identificación de tendencias. Examinamos esto, patrón por patrón, como ha sido el caso en artículos similares anteriores, y también evaluamos sus estrategias e informes de pruebas con la ayuda de las clases de la biblioteca del asistente MQL5 y el ensamblaje.
preview
Neurona biológica para la previsión de series temporales financieras

Neurona biológica para la previsión de series temporales financieras

Construimos un sistema de neuronas biológicamente correcto para la predicción de series temporales. La introducción de un medio similar al plasma en la arquitectura de una red neuronal ha creado una especie de "mente colectiva", en la que cada neurona influye en el trabajo del sistema no solo a través de conexiones directas, sino también mediante interacciones electromagnéticas de largo alcance. ¿Cómo se comportará el sistema de modelización neural del cerebro en el mercado?
preview
Optimización de la quimiotaxis bacteriana - Bacterial Chemotaxis Optimisation (BCO)

Optimización de la quimiotaxis bacteriana - Bacterial Chemotaxis Optimisation (BCO)

Este artículo presenta la versión original del algoritmo de optimización de la quimiotaxis bacteriana (BCO) y su versión modificada. Hoy veremos con detalle todas las diferencias, centrándonos en la nueva versión de BCOm, que simplifica el mecanismo de movimiento bacteriano, reduce la dependencia de la historia de cambios de posición y utiliza operaciones matemáticas más sencillas en comparación con la versión original, sobrecargada computacionalmente. También realizaremos pruebas y extraeremos conclusiones.
preview
Redes neuronales en el trading: Modelos bidimensionales del espacio de enlaces (Final)

Redes neuronales en el trading: Modelos bidimensionales del espacio de enlaces (Final)

Continuamos nuestra introducción al innovador framework Chimera, un modelo bidimensional de espacio de estados que utiliza tecnologías de redes neuronales para analizar series temporales multidimensionales. Este método proporciona una gran precisión de predicción con un bajo costo computacional.
preview
Desarrollo de un sistema de repetición (Parte 70): Ajuste del tiempo (III)

Desarrollo de un sistema de repetición (Parte 70): Ajuste del tiempo (III)

En este artículo, mostraré cómo utilizar la función CustomBookAdd de manera correcta y funcional. Aunque pueda parecer sencillo, tiene muchas implicaciones. Por ejemplo, permite indicar al indicador de mouse si el símbolo personalizado está en subasta, en negociación o si el mercado está cerrado. El contenido expuesto aquí tiene como único objetivo ser didáctico. En ningún caso debe considerarse una aplicación cuya finalidad sea distinta a la de aprender y estudiar los conceptos mostrados.
preview
Características del Wizard MQL5 que debe conocer (Parte 15): Máquinas de vectores de soporte utilizando el polinomio de Newton

Características del Wizard MQL5 que debe conocer (Parte 15): Máquinas de vectores de soporte utilizando el polinomio de Newton

Las máquinas de vectores de soporte clasifican los datos en función de clases predefinidas explorando los efectos de aumentar su dimensionalidad. Se trata de un método de aprendizaje supervisado bastante complejo dado su potencial para tratar datos multidimensionales. Para este artículo consideramos cómo su implementación muy básica de datos bidimensionales puede hacerse más eficientemente con el polinomio de Newton al clasificar precio-acción.
preview
Explorando la criptografía en MQL5: Un enfoque paso a paso

Explorando la criptografía en MQL5: Un enfoque paso a paso

Este artículo analiza la integración de la criptografía en MQL5, mejorando la seguridad y la funcionalidad de los algoritmos de trading. Cubriremos los métodos criptográficos clave y su aplicación práctica en el comercio automatizado.
preview
Desarrollo de un sistema de repetición (Parte 55): Módulo de control

Desarrollo de un sistema de repetición (Parte 55): Módulo de control

En este artículo, implementaremos el indicador de control de manera que pueda integrarse en el sistema de mensajes que está en desarrollo. Aunque no es algo muy complejo de hacer, es necesario entender algunos detalles sobre cómo inicializar este módulo. El contenido expuesto aquí tiene como objetivo, pura y simplemente, la didáctica. En ningún caso debe considerarse como una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
preview
Características del Wizard MQL5 que debe conocer (Parte 32): Regularización

Características del Wizard MQL5 que debe conocer (Parte 32): Regularización

La regularización es una forma de penalizar la función de pérdida en proporción a la ponderación discreta aplicada a lo largo de las distintas capas de una red neuronal. Observamos la importancia que esto puede tener, para algunas de las diversas formas de regularización, en ejecuciones de prueba con un Asesor Experto ensamblado mediante el asistente.
preview
Del básico al intermedio: Plantilla y Typename (V)

Del básico al intermedio: Plantilla y Typename (V)

En este artículo, veremos un último caso simple de uso de plantillas, pero también veremos cuál es la utilidad y por qué la necesidad de utilizar typename en tus códigos. Aunque este artículo pueda parecer un tanto complicado al principio, es necesario comprenderlo adecuadamente para que futuras aplicaciones que utilicen plantilla y typename, sean, de hecho, comprendidas.
preview
Cierres parciales condicionales (Parte 1): Creación de la clase base

Cierres parciales condicionales (Parte 1): Creación de la clase base

En este artículo implementaremos un nuevo método para la gestión de posiciones, parecido a los cierres parciales "simples" que implementamos anteriormente, pero con una diferencia importante. En lugar de basarse en niveles de takeprofit fijos, este enfoque aplica los cierres parciales al momento de cumplirse cierta condición específica. De ahí su nombre: "Cierres parciales condicionales". En esta primera parte de la implementación en MQL5 veremos cómo funciona esta técnica de gestión de posiciones.
preview
Desarrollo de un sistema de repetición (Parte 58): Volvemos a trabajar en el servicio

Desarrollo de un sistema de repetición (Parte 58): Volvemos a trabajar en el servicio

Después de haber tomado un descanso en el desarrollo y perfeccionamiento del servicio usado en la repetición/simulación, retomaremos el trabajo en él. Ahora que no utilizaremos algunos recursos, como las variables globales del terminal, es necesario reestructurar por completo algunas partes de él. No se preocupen, este proceso se explicará adecuadamente para que todos puedan seguir el desarrollo del servicio.
preview
Desarrollo de un sistema de repetición (Parte 77): Un nuevo Chart Trade (IV)

Desarrollo de un sistema de repetición (Parte 77): Un nuevo Chart Trade (IV)

En este artículo, explicaré algunos detalles y precauciones que debes tener en cuenta al crear un protocolo de comunicación. Son cosas bastante básicas y simples. No voy a profundizar demasiado en este artículo. Pero es necesario que comprendas su contenido para entender lo que sucederá en el receptor.
preview
Del básico al intermedio: Paso por valor o por referencia

Del básico al intermedio: Paso por valor o por referencia

En este artículo entenderás en la práctica la diferencia entre el paso por valor y el paso por referencia. Aunque parece algo aparentemente sencillo y que no suele causar problemas, muchos programadores con una considerable experiencia suelen enfrentarse a verdaderos contratiempos con sus códigos, precisamente por este pequeño detalle. Saber cuándo, cómo y por qué usar un paso por valor o un paso por referencia marcará una gran diferencia en tu vida como programador. El contenido presentado aquí tiene como único objetivo la enseñanza. En ningún caso debe considerarse como una aplicación destinada a otro fin que no sea el aprendizaje y el estudio de los conceptos mostrados.
preview
Desarrollamos un asesor experto multidivisas (Parte 23): Ordenando la cadena de etapas de optimización automática de proyectos (II)

Desarrollamos un asesor experto multidivisas (Parte 23): Ordenando la cadena de etapas de optimización automática de proyectos (II)

Hoy nuestro objetivo consiste en crear un sistema de optimización periódica automática de las estrategias comerciales utilizadas en un asesor experto final. El sistema se vuelve más complejo a medida que se desarrolla, por lo que de vez en cuando debemos examinarlo en su conjunto para detectar cuellos de botella y soluciones subóptimas.
preview
Introducción a las curvas ROC (Receiver Operating Characteristic)

Introducción a las curvas ROC (Receiver Operating Characteristic)

Las curvas ROC son representaciones gráficas que se utilizan para evaluar el rendimiento de los clasificadores. A pesar de que los gráficos ROC son relativamente sencillos, existen conceptos erróneos y dificultades comunes a la hora de utilizarlos en la práctica. El objetivo de este artículo es ofrecer una introducción a los gráficos ROC como herramienta para los profesionales que desean comprender la evaluación del rendimiento de los clasificadores.
preview
Estrategias de reversión a la media con RSI2 de Larry Connors para operativa intradía

Estrategias de reversión a la media con RSI2 de Larry Connors para operativa intradía

Larry Connors es un reconocido operador bursátil y autor, conocido principalmente por su trabajo en el ámbito del trading cuantitativo y estrategias como el RSI de dos períodos (RSI2), que ayuda a identificar condiciones de sobrecompra y sobreventa a corto plazo en los mercados. En este artículo, primero explicaremos la motivación detrás de nuestra investigación, luego recrearemos tres de las estrategias más famosas de Connors en MQL5 y las aplicaremos al trading intradía del CFD del índice S&P 500.
preview
Desarrollo de un sistema de repetición (Parte 62): Presionando play en el servicio (III)

Desarrollo de un sistema de repetición (Parte 62): Presionando play en el servicio (III)

En este artículo comenzaremos a abordar el problema del exceso de ticks, que puede afectar a la aplicación cuando usamos datos reales. Este exceso complica muchas veces la correcta temporización necesaria para construir la barra de un minuto dentro de la ventana adecuada.
preview
Operar con el Calendario Económico MQL5 (Parte 4): Implementación de actualizaciones de noticias en tiempo real en el panel de control

Operar con el Calendario Económico MQL5 (Parte 4): Implementación de actualizaciones de noticias en tiempo real en el panel de control

Este artículo mejora nuestro panel de control del calendario económico al implementar actualizaciones de noticias en tiempo real para mantener la información del mercado actualizada y útil. Integramos técnicas de obtención de datos en tiempo real en MQL5 para actualizar continuamente los eventos en el panel de control, mejorando así la capacidad de respuesta de la interfaz. Esta actualización garantiza que podamos acceder a las últimas noticias económicas directamente desde el panel de control, optimizando las decisiones comerciales basadas en los datos más recientes.
preview
Desarrollo de un sistema de repetición (Parte 54): El nacimiento del primer módulo

Desarrollo de un sistema de repetición (Parte 54): El nacimiento del primer módulo

En este artículo, veremos cómo construir el primero de los módulos, realmente funcional, para ser utilizado en el sistema de repetición/simulador. Además de tener como propósito general servir para otras cosas también. El módulo que se construirá aquí será el del indicador de mouse.
preview
Desarrollo de un sistema de repetición (Parte 74): Un nuevo Chart Trade (I)

Desarrollo de un sistema de repetición (Parte 74): Un nuevo Chart Trade (I)

En este artículo, modificaremos el último código visto en esta secuencia sobre Chart Trade. Estos cambios son necesarios para adaptar el código al modelo actual del sistema de repetición/simulador. El contenido expuesto aquí tiene como único propósito ser didáctico. En ningún caso debe considerarse una aplicación destinada a otros fines que no sean el aprendizaje y el estudio de los conceptos mostrados.
preview
Del básico al intermedio: Variables (III)

Del básico al intermedio: Variables (III)

Aquí veremos cómo utilizar las variables y constantes predefinidas por el lenguaje MQL5. Además, echaremos un vistazo a otro tipo especial de variable: las funciones. Saber trabajar de manera correcta con estas variables puede marcar la diferencia entre una aplicación que funciona y una que no. Para comprender lo que se expondrá aquí es necesario haber entendido lo visto en los artículos anteriores.
preview
Ingeniería de características con Python y MQL5 (Parte II): El ángulo del precio

Ingeniería de características con Python y MQL5 (Parte II): El ángulo del precio

Hay muchas publicaciones en el foro MQL5 pidiendo ayuda para calcular la pendiente de los cambios de precios. Este artículo demostrará una forma posible de calcular el ángulo formado por los cambios de precio en cualquier mercado en el que desee operar. Además, responderemos si vale la pena invertir el esfuerzo y el tiempo extra para diseñar esta nueva característica. Exploraremos si la pendiente del precio puede mejorar la precisión de nuestro modelo de IA al pronosticar el par USDZAR en M1.
preview
Integración de Discord con MetaTrader 5: Creación de un robot comercial con notificaciones en tiempo real

Integración de Discord con MetaTrader 5: Creación de un robot comercial con notificaciones en tiempo real

En este artículo veremos cómo integrar MetaTrader 5 y el servidor Discord para recibir notificaciones de transacciones en tiempo real desde cualquier parte del mundo. Además, aprenderemos a configurar la plataforma y Discord para asegurarnos de que las alertas se envían a Discord, y hablaremos de los problemas de seguridad que surgen al utilizar WebRequest y webhooks para estos métodos de notificación.
preview
Automatización de estrategias de trading en MQL5 (Parte 13): Algoritmo de trading para patrón Hombro-Cabeza-Hombro

Automatización de estrategias de trading en MQL5 (Parte 13): Algoritmo de trading para patrón Hombro-Cabeza-Hombro

En este artículo automatizamos el patrón Hombro-Cabeza-Hombro en MQL5. Analizamos su arquitectura, implementamos un EA para detectarlo y operar, y realizamos una prueba retrospectiva de los resultados. El proceso revela un algoritmo de negociación práctico con margen para mejoras.
preview
Cómo publicar código en CodeBase: Guía práctica

Cómo publicar código en CodeBase: Guía práctica

En este artículo, analizaremos el proceso de publicación de diferentes tipos de programas para el terminal en la biblioteca de código fuente MQL5 usando ejemplos reales.
preview
Del básico al intermedio: Struct (III)

Del básico al intermedio: Struct (III)

En este artículo, veremos qué es un código estructurado. Muchas personas confunden el código estructurado con el código organizado. Sin embargo, existe una diferencia entre ambos conceptos. Esto se explicará en este artículo. A pesar de la aparente complejidad que se notará en el primer contacto con este tipo de codificación, he intentado abordar el tema de la mejor manera posible. Pero este artículo es solo el primer paso hacia algo más grande.
preview
Cuerpo en Connexus (Parte 4): Añadiendo compatibilidad con cuerpos HTTP

Cuerpo en Connexus (Parte 4): Añadiendo compatibilidad con cuerpos HTTP

En este artículo, exploramos el concepto de cuerpo en las solicitudes HTTP, que es esencial para enviar datos como JSON y texto sin formato. Discutimos y explicamos cómo usarlo correctamente con los encabezados adecuados. También presentamos la clase ChttpBody, parte de la biblioteca Connexus, que simplificará el trabajo con el cuerpo de las solicitudes.
preview
Algoritmo de búsqueda circular — Circle Search Algorithm (CSA)

Algoritmo de búsqueda circular — Circle Search Algorithm (CSA)

Este trabajo presenta un nuevo algoritmo metaheurístico de optimización CSA (Circle Search Algorithm) basado en las propiedades geométricas del círculo. El algoritmo usa el principio de desplazamiento de puntos por tangentes para encontrar la solución óptima combinando fases de exploración global y explotación local.