Artículos de programación MQL4 y 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 X): Interfaz basada en recursos externos

Creación de un Panel de administración de operaciones en MQL5 (Parte X): Interfaz basada en recursos externos

Actualmente estamos aprovechando las capacidades de MQL5 para utilizar recursos externos, como imágenes en formato BMP, para crear una interfaz de inicio con un estilo único para el Panel de Administración de Operaciones. La estrategia que se muestra aquí resulta especialmente útil al empaquetar múltiples recursos, incluyendo imágenes, sonidos y más, para una distribución más eficiente. En este artículo exploramos cómo se implementan estas características para ofrecer una interfaz moderna y visualmente atractiva para nuestro New_Admin_Panel EA.
preview
Operando con el Calendario Económico MQL5 (Parte 9): Mejorando la interacción con noticias mediante una barra dinámica y un diseño pulido

Operando con el Calendario Económico MQL5 (Parte 9): Mejorando la interacción con noticias mediante una barra dinámica y un diseño pulido

En este artículo, mejoramos el Calendario Económico MQL5 con una barra de desplazamiento dinámica para una navegación intuitiva por las noticias. Garantizamos una visualización impecable de los eventos y unas actualizaciones eficientes. Validamos la barra de desplazamiento adaptable y el panel de control pulido mediante pruebas.
preview
De novato a experto: Noticias animadas utilizando MQL5 (VI) Estrategia de órdenes pendientes para el trading basado en noticias

De novato a experto: Noticias animadas utilizando MQL5 (VI) Estrategia de órdenes pendientes para el trading basado en noticias

En este artículo, nos centramos en la integración de una lógica de ejecución de órdenes basada en las noticias, lo que permite que el asesor experto actúe, y no solo informe. Acompáñanos a descubrir cómo implementar la ejecución automática de operaciones en MQL5 y convertir el asesor experto «News Headline» en un sistema de trading plenamente automatizado y capaz de responder en tiempo real. Los Asesores Expertos ofrecen ventajas significativas para los desarrolladores de algoritmos gracias a la amplia gama de funciones que admiten. Hasta ahora, nos hemos centrado en desarrollar una herramienta de presentación de noticias y eventos del calendario, que incluye paneles de análisis basados en inteligencia artificial e indicadores técnicos.
preview
Indicador del modelo CAPM en el mercado Forex

Indicador del modelo CAPM en el mercado Forex

Adaptación del modelo CAPM clásico para el mercado de divisas Forex en MQL5. El indicador calcula el retorno esperado y la prima de riesgo según la volatilidad histórica. Los indicadores suben en los picos y valles, lo que refleja los principios fundamentales de fijación de precios. Aplicación práctica de estrategias de contra-tendencia y seguimiento de tendencia, considerando la dinámica de la relación riesgo-retorno en tiempo real. Incluye aparato matemático e implementación técnica.
preview
Introducción a MQL5 (Parte 19): Automatización de la detección de las ondas de Wolfe

Introducción a MQL5 (Parte 19): Automatización de la detección de las ondas de Wolfe

Este artículo explica cómo identificar mediante programación los patrones de onda de Wolfe alcistas y bajistas y cómo operar con ellos utilizando MQL5. Veremos cómo identificar las estructuras de la onda de Wolfe mediante programación y cómo ejecutar operaciones basadas en ellas utilizando MQL5. Esto incluye detectar puntos de inflexión clave, validar las reglas de los patrones y preparar el EA para que actúe en función de las señales que detecte.
preview
Implementación de un modelo de tabla en MQL5: Aplicación del concepto MVC (Modelo-Vista-Controlador)

Implementación de un modelo de tabla en MQL5: Aplicación del concepto MVC (Modelo-Vista-Controlador)

En este artículo, analizamos el proceso de desarrollo de un modelo de tabla en MQL5 utilizando el patrón arquitectónico MVC (Modelo-Vista-Controlador) para separar la lógica de datos, la presentación y el control, lo que permite obtener un código estructurado, flexible y escalable. Consideramos la implementación de clases para construir un modelo de tabla, incluyendo el uso de listas enlazadas para almacenar datos.
preview
Red neuronal en la práctica: la práctica lleva a la perfección

Red neuronal en la práctica: la práctica lleva a la perfección

En este artículo, mostraré cómo un simple cambio en el código, a fin de hacer que la neurona sea un poco más especializada, puede hacer que la fase de entrenamiento sea considerablemente más rápida Puesto que, una vez que la neurona, o red neuronal, como se verá más adelante, ya haya sido entrenada, el trabajo que realice será mucho más rápido. También hablaré de un problema que existe y que pocos mencionan
preview
Herramientas de trading de MQL5 (Parte 2): Mejora del asistente interactivo de trading con retroalimentación visual dinámica

Herramientas de trading de MQL5 (Parte 2): Mejora del asistente interactivo de trading con retroalimentación visual dinámica

En este artículo, actualizamos nuestra herramienta de asistente de operaciones añadiendo la función de arrastrar y soltar en los paneles y efectos al pasar el cursor, con el fin de que la interfaz resulte más intuitiva y receptiva. Perfeccionamos la herramienta para validar la configuración de las órdenes en tiempo real, garantizando que las configuraciones de las operaciones se ajusten con precisión a los precios de mercado. También realizamos backtesting de estas mejoras para confirmar su fiabilidad.
preview
De novato a experto: Dominando la generación de informes detallados de trading con Reporting EA

De novato a experto: Dominando la generación de informes detallados de trading con Reporting EA

En este artículo, profundizamos en cómo mejorar los detalles de los informes de operaciones y cómo enviar el documento final por correo electrónico en formato PDF. Esto supone un avance respecto a nuestro trabajo anterior, ya que seguimos explorando cómo aprovechar el potencial de MQL5 y Python para generar y programar informes de operaciones en los formatos más adecuados y profesionales. Acompáñenos en este análisis para obtener más información sobre cómo optimizar la generación de informes de operaciones dentro del ecosistema MQL5.
preview
Desarrollo de un sistema de repetición (Parte 60): Presionando play en el servicio (I)

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

Llevamos bastante tiempo trabajando únicamente con los indicadores. Pero ahora ha llegado el momento de hacer que el servicio vuelva a ejecutar su trabajo y podamos ver el gráfico construyéndose con los datos proporcionados. Sin embargo, como no todo es tan simple, será necesario observar para entender lo que nos espera.
preview
Del básico al intermedio: Array (IV)

Del básico al intermedio: Array (IV)

En este artículo, veremos cómo podemos hacer algo muy parecido a lo que se encuentra en lenguajes como C, C++ y Java. Se trata de enviar un número casi infinito de parámetros dentro de una función o procedimiento. Aunque, aparentemente, se trate de un tema avanzado. En mi opinión, lo que se verá aquí puede ser implementado con facilidad por cualquier persona que haya comprendido los conceptos anteriores. Siempre y cuando se hayan comprendido los conceptos vistos anteriormente. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe considerarse una aplicación cuya finalidad no sea aprender y estudiar los conceptos mostrados.
preview
Del básico al intermedio: Herencia

Del básico al intermedio: Herencia

Sin duda, se trata de un artículo al que deberás dedicarle bastante tiempo para entender cómo y por qué funcionan las cosas que se muestran aquí. Esto se debe simplemente a que todo lo que se verá y mostrará aquí está orientado originalmente a lo que sería la programación orientada a objetos. Pero, en realidad, se basa en principios de programación estructural.
preview
Redes neuronales en el trading: Optimización LSTM para la previsión de series temporales multivariantes (DA-CG-LSTM)

Redes neuronales en el trading: Optimización LSTM para la previsión de series temporales multivariantes (DA-CG-LSTM)

En este artículo presentamos el algoritmo DA-CG-LSTM, que ofrece nuevos enfoques para el análisis y la previsión de series temporales. En él aprenderemos cómo los innovadores mecanismos de atención y la flexibilidad de los modelos mejoran la precisión de las predicciones.
preview
Simulación de mercado (Parte 14): Sockets (VIII)

Simulación de mercado (Parte 14): Sockets (VIII)

Muchos podrían sugerir que deberíamos dejar de usar Excel y pasar a Python directamente, haciendo uso de algunos paquetes que permitirían a Python crear un archivo de Excel para poder analizar los resultados después. Pero, como se mencionó en el artículo anterior, aunque esta solución sea la más sencilla para muchos programadores, no será bien recibida por algunos usuarios. Y, en este asunto, el usuario siempre tiene la razón. Tú, como programador, debes encontrar la forma de hacer que las cosas funcionen.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 23): Medidor de fortaleza de divisas

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 23): Medidor de fortaleza de divisas

¿Sabes qué es lo que realmente determina la dirección de un par de divisas? Es la fortaleza de cada divisa por separado. En este artículo, mediremos la fortaleza de una divisa recorriendo todos los pares de divisas en los que aparece. Esa información nos permite predecir cómo podrían moverse esos pares en función de sus fortalezas relativas. Sigue leyendo para obtener más información.
preview
Simulación de mercado (Parte 20): Iniciando el SQL (III)

Simulación de mercado (Parte 20): Iniciando el SQL (III)

Aunque podemos hacer cosas con una base de datos de unas 10 entradas, esto se asimila mucho mejor cuando trabajamos con un archivo que tenga más de 15 mil registros. Es decir, si tú intentaras crear eso manualmente, sería una tarea enorme. Sin embargo, es difícil encontrar una base de datos, incluso con fines didácticos, disponible para descargar. Pero, en realidad, no necesitamos recurrir a eso. Podemos usar MetaTrader 5 para crear una base de datos para nosotros. En este artículo, veremos cómo hacerlo.
preview
Simulación de mercado (Parte 22): Iniciando el SQL (V)

Simulación de mercado (Parte 22): Iniciando el SQL (V)

Antes de que tires la toalla y decidas abandonar el estudio sobre cómo usar SQL, déjame recordarte, mi querido lector, que aquí todavía estamos usando solo lo más básico de lo básico. Aún no hemos explorado algunas cosas que es posible hacer en SQL. En cuanto las exploremos, verás que SQL es mucho más práctico de lo que parece. Aunque, muy probablemente, yo termine cambiando la dirección de lo que estamos creando. Esto se debe a que el proceso de creación es dinámico. Voy a mostrar un poco más sobre cómo hacer las cosas en SQL. Esto se debe a que, de hecho, es algo que necesitas entender y conocer. Simplemente pensar que eres más capaz que toda una comunidad de programadores y desarrolladores solo te hará perder tiempo y oportunidades. Ten calma, porque esto se va a volver aún más interesante.
preview
Analizamos el código binario de los precios en bolsa (Parte II): Convirtiendo a BIP39 y escribiendo un modelo GPT

Analizamos el código binario de los precios en bolsa (Parte II): Convirtiendo a BIP39 y escribiendo un modelo GPT

Seguimos intentando descifrar los movimientos de los precios.... ¿Qué tal un análisis lingüístico del "diccionario de mercado" que obtendríamos convirtiendo el código binario de precios en BIP39? En el presente artículo, nos adentramos en un enfoque innovador del análisis de los datos bursátiles y exploramos cómo pueden aplicarse las modernas técnicas de procesamiento del lenguaje natural al lenguaje del mercado.
preview
Desarrollamos un asesor experto multidivisas (Parte 24): Añadimos una nueva estrategia (I)

Desarrollamos un asesor experto multidivisas (Parte 24): Añadimos una nueva estrategia (I)

En este artículo, veremos cómo conectar una nueva estrategia al sistema de optimización automática que hemos creado. Veamos qué tipo de EA necesitamos crear y si será posible hacerlo sin cambiar los archivos de la librería o minimizando los cambios necesarios.
preview
Simulación de mercado (Parte 21): Iniciando SQL (IV)

Simulación de mercado (Parte 21): Iniciando SQL (IV)

Muchos de ustedes, queridos lectores, pueden tener un nivel de experiencia muy superior al mío en lo que respecta a trabajar con bases de datos y, así, por esta razón, tener una visión diferente de la mía. Pero, como era necesario definir y desarrollar alguna forma de explicar el motivo por el cual las bases de datos se crean como se crean, explicar por qué SQL tiene el formato que tiene y, sobre todo, por qué surgieron las claves primarias y las claves foráneas, fue necesario dejar las cosas un poco abstractas.
preview
Introducción a MQL5 (Parte 18): Introducción al patrón de onda de Wolfe

Introducción a MQL5 (Parte 18): Introducción al patrón de onda de Wolfe

En este artículo se explica en detalle el patrón de la onda de Wolfe, abordando tanto la variante bajista como la alcista. Además, desglosa paso a paso la lógica utilizada para identificar configuraciones válidas de compra y venta basadas en este patrón gráfico avanzado.
preview
Simulación de mercado: La unión hace la fuerza (III)

Simulación de mercado: La unión hace la fuerza (III)

En este artículo presentaré nuestro sistema para simular operaciones a mercado. Aunque está prácticamente terminado, todavía quedan algunas cosas por implementar y unos pocos cambios por realizar. Sin embargo, confieso que, después de todo lo que ya hemos desarrollado, estoy cansado de seguir atrapado en la implementación de este sistema.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 22): Panel de correlación

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 22): Panel de correlación

Esta herramienta es un panel de correlación que calcula y muestra coeficientes de correlación en tiempo real entre múltiples pares de divisas. Al visualizar cómo se mueven los pares de divisas en relación unos con otros, se añade un contexto valioso al análisis de la acción del precio y se ayuda a anticipar la dinámica entre mercados. Sigue leyendo para descubrir sus características y aplicaciones.
preview
Simulación de mercado: iniciando SQL en MQL5 (II)

Simulación de mercado: iniciando SQL en MQL5 (II)

Aunque muchos creen que podemos incluir sin problemas código SQL dentro de otro código, por lo general esto no es así. El motivo es que el código SQL siempre se incorpora al ejecutable como un string. Y este hecho de colocar el código SQL como string, si bien no genera inconvenientes en fragmentos pequeños, puede terminar provocándonos bastantes dolores de cabeza.
preview
Características del Wizard MQL5 que debe conocer (Parte 54): Aprendizaje por refuerzo con SAC híbrido y tensores

Características del Wizard MQL5 que debe conocer (Parte 54): Aprendizaje por refuerzo con SAC híbrido y tensores

Soft Actor Critic es un algoritmo de aprendizaje por refuerzo que analizamos en un artículo anterior, donde también presentamos Python y ONNX en esta serie como enfoques eficientes para entrenar redes. Revisamos el algoritmo con el objetivo de aprovechar los tensores, gráficos computacionales que a menudo se utilizan en Python.
preview
Del básico al intermedio: Indicador (V)

Del básico al intermedio: Indicador (V)

En este artículo, veremos cómo podemos lidiar con solicitudes del usuario para cambiar el modo de trazado del gráfico. Esto, para que podamos lograr que un indicador, orientado a usar el modo de trazado gráfico actual, no quede extraño ni diferente de lo que el usuario de MetaTrader 5 esperaría.
preview
Del básico al intermedio: Objetos (I)

Del básico al intermedio: Objetos (I)

En este artículo, empezaremos a ver cómo podremos trabajar con objetos directamente en el gráfico. Esto usando un código construido especialmente para mostrarnos algo. Trabajar con objetos es algo muy interesante y bastante divertido. Como este será el primer contacto, empezaremos con algo muy simple.
preview
Creación de un Panel de administración de operaciones en MQL5 (Parte V): Autenticación de dos factores (2FA)

Creación de un Panel de administración de operaciones en MQL5 (Parte V): Autenticación de dos factores (2FA)

Hoy discutiremos cómo mejorar la seguridad del Panel de administrador comercial que actualmente se encuentra en desarrollo. Exploraremos cómo implementar MQL5 en una nueva estrategia de seguridad, integrando la API de Telegram para la autenticación de dos factores (2FA). Esta discusión proporcionará información valiosa sobre la aplicación de MQL5 para reforzar las medidas de seguridad. Además, examinaremos la función MathRand, centrándonos en su funcionalidad y cómo se puede utilizar de forma efectiva dentro de nuestro marco de seguridad. ¡Sigue leyendo para descubrir más!
preview
Características del Wizard MQL5 que debe conocer (Parte 59): Aprendizaje por refuerzo (DDPG) con patrones de media móvil y oscilador estocástico (II)

Características del Wizard MQL5 que debe conocer (Parte 59): Aprendizaje por refuerzo (DDPG) con patrones de media móvil y oscilador estocástico (II)

Continuamos nuestro último artículo sobre DDPG con indicadores MA y estocásticos examinando otras clases clave de aprendizaje por refuerzo cruciales para la implementación de DDPG. Aunque programamos principalmente en Python, el producto final de una red entrenada se exportará como un archivo ONNX a MQL5, donde lo integraremos como un recurso en un Asesor Experto creado mediante un asistente.
preview
Características del Wizard MQL5 que debe conocer (Parte 65): Uso de los patrones FrAMA y Force Index

Características del Wizard MQL5 que debe conocer (Parte 65): Uso de los patrones FrAMA y Force Index

La media móvil adaptativa fractal (FrAMA) y el oscilador Force Index son otro par de indicadores que podrían utilizarse conjuntamente en un asesor experto de MQL5. Estos dos indicadores se complementan en cierta medida, ya que FrAMA es un indicador de seguimiento de tendencias, mientras que el Force Index es un oscilador basado en el volumen. Como siempre, utilizamos el asistente MQL5 para explorar rápidamente el potencial que puede tener esta combinación.
preview
Herramientas de trading de MQL5 (Parte 4): Mejorando el panel del escáner multitemporal con posicionamiento dinámico y funciones de alternancia

Herramientas de trading de MQL5 (Parte 4): Mejorando el panel del escáner multitemporal con posicionamiento dinámico y funciones de alternancia

En este artículo, actualizamos el panel de control del escáner multitemporal MQL5 con funciones de arrastre y alternancia. Hemos habilitado la opción de arrastrar el panel de control y una opción para minimizar/maximizar que permite un mejor uso de la pantalla. Implementamos y probamos estas mejoras para lograr una mayor flexibilidad operativa en el trading.
preview
Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte VI): Cómo aprovechar el doble descenso profundo

Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte VI): Cómo aprovechar el doble descenso profundo

El aprendizaje automático tradicional enseña a los profesionales a estar atentos para no sobreajustar sus modelos. Sin embargo, esta ideología está siendo cuestionada por nuevos hallazgos publicados por diligentes investigadores de Harvard, quienes han descubierto que lo que parece ser un sobreajuste puede, en algunas circunstancias, ser el resultado de finalizar prematuramente los procedimientos de entrenamiento. Demostraremos cómo podemos utilizar las ideas publicadas en el artículo de investigación para mejorar nuestro uso de la IA en la previsión de retornos del mercado.
preview
Operar con noticias de manera sencilla (Parte 4): Mejora del rendimiento

Operar con noticias de manera sencilla (Parte 4): Mejora del rendimiento

Este artículo profundizará en los métodos para mejorar el tiempo de ejecución del experto en el probador de estrategias. El código se escribirá para dividir los tiempos de los eventos de noticias en categorías por hora. Las horas de estos eventos noticiosos se accederán dentro de la hora especificada. Esto garantiza que el EA pueda gestionar de manera eficiente las operaciones basadas en eventos tanto en entornos de alta como de baja volatilidad.
preview
Solicitudes en Connexus (Parte 6): Creación de una solicitud y respuesta HTTP

Solicitudes en Connexus (Parte 6): Creación de una solicitud y respuesta HTTP

En este sexto artículo de la serie de la biblioteca Connexus, nos centraremos en una solicitud HTTP completa, cubriendo cada componente que la conforma. Crearemos una clase que represente la solicitud en su conjunto, lo que nos ayudará a reunir las clases creadas anteriormente.
preview
Dominando los registros (Parte 2): Formateo de registros

Dominando los registros (Parte 2): Formateo de registros

En este artículo, exploraremos cómo crear y aplicar formateadores de registros en la biblioteca. Veremos todo, desde la estructura básica de un formateador hasta ejemplos de implementación práctica. Al finalizar, tendrás el conocimiento necesario para formatear registros dentro de la biblioteca y comprenderás cómo funciona todo detrás de escena.
preview
Operando con el Calendario Económico MQL5 (Parte 8): Optimización del backtesting basado en noticias mediante el filtrado inteligente de eventos y el registro selectivo

Operando con el Calendario Económico MQL5 (Parte 8): Optimización del backtesting basado en noticias mediante el filtrado inteligente de eventos y el registro selectivo

En este artículo, optimizamos nuestro calendario económico mediante un filtrado inteligente de eventos y un registro selectivo, con el fin de lograr un backtesting más rápido y claro, tanto en modo en vivo como en modo sin conexión. Optimizamos el procesamiento de eventos y centramos los registros en los eventos críticos relacionados con las operaciones y los paneles de control, lo que mejora la visualización de las estrategias. Estas mejoras permiten probar y perfeccionar sin problemas las estrategias de negociación basadas en noticias.
preview
Simulación de mercado (Parte 19): Iniciando SQL (II)

Simulación de mercado (Parte 19): Iniciando SQL (II)

Como expliqué en el primer artículo sobre SQL, no tiene sentido que pierdas el tiempo programando rutinas para conseguir hacer algo que SQL ya incluye. Sin embargo, si no sabes lo más básico, no lograrás hacer nada con SQL para aprovechar lo que esta herramienta tiene para ofrecernos. Por ello, en este artículo veremos cómo ejecutar tareas fundamentales en bases de datos.
preview
Simulación de mercado: Iniciando SQL en MQL5 (V)

Simulación de mercado: Iniciando SQL en MQL5 (V)

En el artículo anterior mostré cómo debías proceder para poder añadir el mecanismo de consulta. Esto para que, dentro del código MQL5, pudieras usar SQL plenamente y obtener los resultados al usar el comando SELECT FROM de SQL. Pero faltó hablar de la última función que necesitamos implementar. Esta es la función DatabaseReadBind. Y, como para entenderla adecuadamente hace falta una explicación un poco más amplia, se decidió hacerlo no en aquel artículo anterior, sino en este. Entonces, como el tema será relativamente largo, vayamos directamente al siguiente apartado.
preview
Redes neuronales en el trading: Jerarquía de habilidades para el comportamiento adaptativo de agentes (Final)

Redes neuronales en el trading: Jerarquía de habilidades para el comportamiento adaptativo de agentes (Final)

El artículo analiza la aplicación práctica del framework HiSSD en tareas de trading algorítmico. Muestra cómo la jerarquía de habilidades y la arquitectura adaptativa pueden usarse para construir estrategias de negociación sostenibles.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 32): Motor de reconocimiento de velas japonesas en Python (II) — Detección con TA-Lib

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 32): Motor de reconocimiento de velas japonesas en Python (II) — Detección con TA-Lib

En este artículo, hemos pasado de codificar manualmente la detección de patrones de velas japonesas en Python a aprovechar TA-Lib, una biblioteca que reconoce más de sesenta patrones distintos. Estas formaciones ofrecen información valiosa sobre posibles cambios de tendencia en el mercado y continuaciones de tendencias. Sigue leyendo para obtener más información.