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
Múltiples indicadores en un gráfico (Parte 02): primeros experimentos

Múltiples indicadores en un gráfico (Parte 02): primeros experimentos

En el artículo anterior, múltiples indicadores en un gráfico, presenté los conceptos y fundamentos para que podamos utilizar múltiples indicadores en un gráfico. Aquí presentaré y desglosaré el código fuente.
preview
Aprendiendo a diseñar un sistema de trading basado en el Índice de Facilitación del Mercado MFI de Bill Williams

Aprendiendo a diseñar un sistema de trading basado en el Índice de Facilitación del Mercado MFI de Bill Williams

Bienvenidos a nuevo artículo de nuestra serie dedicada a la creación de sistemas comerciales basados en indicadores técnicos populares. Hoy analizaremos el Índice de Facilitación del Mercado (MFI), desarrollado por Bill Williams.
Aprendiendo a diseñar un sistema comercial basado en CCI
Aprendiendo a diseñar un sistema comercial basado en CCI

Aprendiendo a diseñar un sistema comercial basado en CCI

En este nuevo artículo de nuestra serie sobre el diseño de sistemas comerciales, hablaremos del Índice del Canal de Mercaderías (CCI), estudiaremos sus entresijos y crearemos juntos un sistema comercial basado en este indicador.
preview
Optimización automatizada de parámetros para estrategias de negociación con Python y MQL5

Optimización automatizada de parámetros para estrategias de negociación con Python y MQL5

Existen varios tipos de algoritmos para la autooptimización de estrategias y parámetros de negociación. Estos algoritmos se utilizan para mejorar automáticamente las estrategias de negociación basándose en datos históricos y actuales del mercado. En este artículo veremos uno de ellos con ejemplos en Python y MQL5.
preview
Tutorial de DirectX (Parte I): Dibujamos el primer triángulo

Tutorial de DirectX (Parte I): Dibujamos el primer triángulo

Este es un artículo introductorio sobre DirectX; en él describiremos las peculiaridades del trabajo con la API, ayudando al lector a comprender el orden de inicialización de sus componentes. Asimismo, ofreceremos un ejemplo sobre cómo escribir un script MQL que muestre un triángulo usando DirectX.
preview
Desarrollamos un Asesor Experto multidivisas (Parte 1): Funcionamiento conjunto de varias estrategias comerciales

Desarrollamos un Asesor Experto multidivisas (Parte 1): Funcionamiento conjunto de varias estrategias comerciales

Existen bastantes estrategias comerciales distintas. Para diversificar los riesgos y aumentar la estabilidad de los resultados comerciales, puede resultar útil utilizar varias estrategias que funcionen en paralelo. Pero si cada estrategia se implementa como un asesor independiente, se hace mucho más difícil gestionar su trabajo conjunto en una cuenta comercial. Para resolver este problema, es deseable implementar el funcionamiento de diferentes estrategias de negociación en un asesor.
Gráfico informativo "Qué supone MetaTrader Market"
Gráfico informativo "Qué supone MetaTrader Market"

Gráfico informativo "Qué supone MetaTrader Market"

Hace unas semanas se publicó el gráfico informativo sobre el servicio "Freelance", a modo de informe. Entonces les prometimos que muy pronto descubriríamos también las cifras sobre el Mercado. Así que ahora le proponemos familiarizarse con los datos que hemos reunido.
Plantilla para proyectar el MVC y posibilidades de uso
Plantilla para proyectar el MVC y posibilidades de uso

Plantilla para proyectar el MVC y posibilidades de uso

En el artículo, analizaremos una plantilla de MVC bastante extendida. Asimismo, estudiaremos sus posibilidades y las ventajas y desventajas de su uso en los programas MQL. Su esencia consiste en "dividir" el código existente en tres componentes separados: Modelo (Model), Vista (View) y Controlador (Controller).
preview
Esperanza moral en el trading

Esperanza moral en el trading

Este artículo trata sobre la esperanza moral. Veremos varios ejemplos de su uso en el trading y qué resultados se pueden lograr con su ayuda.
preview
Ejemplo de optimización estocástica y control óptimo

Ejemplo de optimización estocástica y control óptimo

Este Asesor Experto, llamado SMOC, que significa Stochastic Model Optimal Control (Modelo Estocástico de Control Óptimo), es un ejemplo sencillo de un avanzado sistema algorítmico de trading para MetaTrader 5. Utiliza una combinación de indicadores técnicos, control predictivo de modelos y gestión dinámica de riesgos para tomar decisiones comerciales. El EA incorpora parámetros adaptativos, dimensionamiento de posiciones basado en la volatilidad y análisis de tendencias para optimizar su rendimiento en diferentes condiciones de mercado.
preview
Uso de modelos ONNX en MQL5

Uso de modelos ONNX en MQL5

ONNX (Open Neural Network Exchange) es un estándar abierto para representar modelos de redes neuronales. En este artículo, analizaremos el proceso de creación de un modelo CNN-LSTM para pronosticar series temporales financieras, y también el uso del modelo ONNX creado en un asesor experto MQL5.
preview
Experimentos con redes neuronales (Parte 2): Optimización inteligente de una red neuronal

Experimentos con redes neuronales (Parte 2): Optimización inteligente de una red neuronal

Las redes neuronales lo son todo. Vamos a comprobar en la práctica si esto es así. MetaTrader 5 como herramienta autosuficiente para el uso de redes neuronales en el trading. Una explicación sencilla.
Modificación en dos etapas de posiciones abiertas
Modificación en dos etapas de posiciones abiertas

Modificación en dos etapas de posiciones abiertas

El método de las dos etapas nos permite evitar el cierre y la reapertura innecesaria de posiciones en situaciones cercanas a la tendencia y en casos de posible aparición de divergencias.
preview
Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 5): Bandas de Bollinger en el Canal de Keltner - Señales de Indicador

Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 5): Bandas de Bollinger en el Canal de Keltner - Señales de Indicador

En este artículo, entenderemos por asesor multidivisa un asesor o robot comercial que puede comerciar (abrir/cerrar órdenes, gestionar órdenes, por ejemplo, trailing-stop y trailing-profit, etc.) con más de un par de símbolos de un gráfico. En este artículo, usaremos las señales de dos indicadores, las Bandas de Bollinger® y el Canal de Keltner.
Estrategias de trading
Estrategias de trading

Estrategias de trading

Todas las categorías utilizadas para clasificar les estrategias de trading son completamente arbitrarias. La siguiente clasificación pretende hacer hincapié en las diferencias básicas entre las posibles estrategias de trading.
Gráficos sin agujeros
Gráficos sin agujeros

Gráficos sin agujeros

Este artículo explica cómo implementar gráficos sin barras vacías.
preview
Creación simple de indicadores complejos usando objetos

Creación simple de indicadores complejos usando objetos

El artículo presenta un método para crear indicadores complejos que nos evitará problemas al trabajar con múltiples gráficos y búferes, así como al combinar datos de varias fuentes.
preview
Aprendiendo a diseñar un sistema de trading con Accelerator Oscillator

Aprendiendo a diseñar un sistema de trading con Accelerator Oscillator

Aquí tenemos un nuevo artículo de nuestra serie dedicada a la creación de sistemas comerciales basados en indicadores técnicos populares. Esta vez analizaremos el indicador Accelerator Oscillator: aprenderemos a utilizarlo y a crear sistemas comerciales basados en él.
preview
El modelo de movimiento de precios y sus principales disposiciones (Parte 3): Cálculo de parámetros óptimos en el juego bursátil

El modelo de movimiento de precios y sus principales disposiciones (Parte 3): Cálculo de parámetros óptimos en el juego bursátil

En el marco del presente enfoque de ingeniería desarrollado por el autor, basado en la teoría de la probabilidad, se encuentran las condiciones para abrir una posición rentable, y también se calculan los valores óptimos (que maximizan las ganancias) para el stop loss y el take profit.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte V): Clases y colección de eventos comerciales, envío de eventos al programa
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte V): Clases y colección de eventos comerciales, envío de eventos al programa

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte V): Clases y colección de eventos comerciales, envío de eventos al programa

En anteriores artículos comenzamos a crear una gran biblioteca multiplataforma cuyo objetivo es simplificar la escritura de programas para las plataformas MetaTrader 5 y MetaTrader 4. En la cuarta parte, hemos puesto a prueba el seguimiento de eventos comerciales en la cuenta. En esta parte, vamos a crear las clases de los eventos comerciales y a colocarlas en la colección de eventos desde la que serán enviadas al objeto básico de la biblioteca Engine y al gráfico del programa de control.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 47): Indicadores estándar de periodo y símbolo múltiples
Trabajando con las series temporales en la biblioteca DoEasy (Parte 47): Indicadores estándar de periodo y símbolo múltiples

Trabajando con las series temporales en la biblioteca DoEasy (Parte 47): Indicadores estándar de periodo y símbolo múltiples

En el presente artículo, comenzaremos a desarrollar los métodos de trabajo con los indicadores estándar, lo cual nos permitirá crear indicadores estándar de periodo y símbolo múltiples basados en las clases de la bibliotecas. Asimismo, añadiremos a las clases de las series temporales el evento "Barras Omitidas" y aligeraremos el código del programa principal, trasladando las funciones de preparación de la biblioteca de dicho programa a la clase CEngine.
Indicador técnico de preparación propia
Indicador técnico de preparación propia

Indicador técnico de preparación propia

En este artículo, analizaremos algunos algoritmos que nos permitirán crear nuestro propio indicador técnico. Asimismo, veremos cómo, con unos supuestos iniciales muy sencillos, podremos obtener resultados bastante complejos e interesantes.
Los diez errores básicos del principiante en trading
Los diez errores básicos del principiante en trading

Los diez errores básicos del principiante en trading

Hay diez errores básicos que comete un principiante en el trading: hacer trading a la apertura del mercado, precipitarse en retirar las ganancias, añadir lotes cuando la posición es perdedora, cerrar posiciones empezando por las mejores, venganza, las posiciones preferibles, hacer trading con el principio de "comprado para siempre", cerrar una posición estratégica rentable el primer día, cerrar una posición cuando se recibe una señal para abrir una posición opuesta, y las dudas.
preview
Creación de un asesor experto integrado de MQL5 y Telegram (Parte 3): Envío de señales de MQL5 a Telegram

Creación de un asesor experto integrado de MQL5 y Telegram (Parte 3): Envío de señales de MQL5 a Telegram

En este artículo, creamos un Asesor Experto MQL5 que codifica capturas de pantalla de gráficos como datos de imagen y las envía a un chat de Telegram a través de peticiones HTTP. Al integrar la codificación y transmisión de fotos, mejoramos el sistema existente MQL5-Telegram con perspectivas visuales de trading directamente dentro de Telegram.
preview
Comprensión y uso eficaz del simulador de estrategias MQL5

Comprensión y uso eficaz del simulador de estrategias MQL5

Para los desarrolladores de MQL5 resulta imperativo dominar herramientas importantes y valiosas. Una de esas herramientas es el simulador de estrategias. El presente artículo es una guía práctica para utilizar el simulador de estrategias MQL5.
Aserciones en los programas MQL5
Aserciones en los programas MQL5

Aserciones en los programas MQL5

Este artículo explica cómo utilizar aserciones en el lenguaje MQL5. Proporciona dos mecanismos de aserción a modo de ejemplo, así como una guía para implementarlas correctamente.
preview
Aprendiendo a diseñar un sistema de trading con Bulls Power

Aprendiendo a diseñar un sistema de trading con Bulls Power

Bienvenidos a un nuevo artículo de la serie dedicada a la creación de sistemas comerciales basados en indicadores técnicos populares. En esta ocasión, hablaremos sobre el índice de fuerza alcista Bulls Power y crearemos un sistema comercial basado en sus indicadores.
preview
Lenguaje de programación visual Drakon: una herramienta de comunicación para desarrolladores y clientes MQL

Lenguaje de programación visual Drakon: una herramienta de comunicación para desarrolladores y clientes MQL

DRAKON es un lenguaje de programación visual especialmente diseñado para simplificar la interacción entre especialistas de distintas ramas (biólogos, físicos, ingenieros...) y programadores en proyectos espaciales rusos (por ejemplo, al crear el complejo "Burán"). En este artículo, hablaremos sobre cómo DRAKON hace que la creación de algoritmos sea accesible e intuitiva, incluso si nunca nos hemos enfrentado al código. Asimismo, también veremos cómo el lenguaje DRAKON ayuda tanto al cliente a explicar sus pensamientos al encargar robots comerciales, como al programador a cometer menos errores en funciones complejas.
preview
Trabajando con las series temporales en la biblioteca DoEasy (Parte 51): Indicadores estándar compuestos de período y símbolo múltiples

Trabajando con las series temporales en la biblioteca DoEasy (Parte 51): Indicadores estándar compuestos de período y símbolo múltiples

En este artículo, vamos a finalizar el desarrollo de indicadores estándar de período y símbolo múltiples. A base del indicador Ichimoku Kinko Hyo, vamos a analizar la creación de los indicadores personalizados de composición compleja que disponen de los búferes dibujados auxiliares para la visualización de los datos en el gráfico.
preview
Redes neuronales: así de sencillo (Parte 27): Aprendizaje Q profundo (DQN)

Redes neuronales: así de sencillo (Parte 27): Aprendizaje Q profundo (DQN)

Seguimos explorando el aprendizaje por refuerzo. En este artículo, hablaremos del método de aprendizaje Q profundo o deep Q-learning. El uso de este método permitió al equipo de DeepMind crear un modelo capaz de superar a los humanos jugando a los videojuegos de ordenador de Atari. Nos parece útil evaluar el potencial de esta tecnología para las tareas comerciales.
LibMatrix: Librería de Álgebra Matrix (Parte uno)
LibMatrix: Librería de Álgebra Matrix (Parte uno)

LibMatrix: Librería de Álgebra Matrix (Parte uno)

El autor familiariza a los lectores con una librería de álgebra matrix simple y ofrece descripciones y peculiaridades de las funciones principales.
Prueba visual de la rentabilidad de los indicadores y alertas
Prueba visual de la rentabilidad de los indicadores y alertas

Prueba visual de la rentabilidad de los indicadores y alertas

De lo que avisa un indicador de trading, o simplemente el método de su cálculo, se decide generalmente cuando los AEs de prueba usan estas alertas. Sin embargo, no siempre es posible/necesario/razonable escribir un AE para cada indicador. Se puede calcular rápidamente la rentabilidad de trading en alertas de otros indicadores, utilizando un indicador especial que recoge sus alertas él mismo y dibuja una imagen del trading ideal con ellas. Puede ayudar tanto a hacer una estimación visual de los resultados obtenidos y elegir rápidamente los mejores parámetros.
preview
Recetas MQL5 - Servicios

Recetas MQL5 - Servicios

Este artículo describe las capacidades versátiles de los servicios, como los programas MQL5 que no requieren un gráfico vinculante. Asimismo, se detallan las diferencias de los servicios respecto a otros programas MQL5, enfatizando los matices del trabajo del desarrollador con los servicios. Como ejemplos, el lector podrá estudiar varias tareas que abarcan una amplia gama de funcionalidades que pueden implementarse como un servicio.
Gráficos en la biblioteca DoEasy (Parte 83): Clase de objeto gráfico abstracto estándar
Gráficos en la biblioteca DoEasy (Parte 83): Clase de objeto gráfico abstracto estándar

Gráficos en la biblioteca DoEasy (Parte 83): Clase de objeto gráfico abstracto estándar

En el presente artículo, crearemos la clase de objeto gráfico abstracto. Este objeto constituirá la base para crear las clases de objetos gráficos estándar. Los objetos gráficos tienen muchas propiedades y hoy, antes de crear una clase de objeto gráfico abstracto, necesitaremos hacer mucho trabajo preparatorio: registrar estas propiedades en las enumeraciones de la biblioteca.
preview
Redes neuronales: así de sencillo (Parte 82): Modelos de ecuaciones diferenciales ordinarias (NeuralODE)

Redes neuronales: así de sencillo (Parte 82): Modelos de ecuaciones diferenciales ordinarias (NeuralODE)

En este artículo, hablaremos de otro tipo de modelos que están destinados a estudiar la dinámica del estado ambiental.
preview
De principiante a experto: El viaje esencial a través del trading con MQL5

De principiante a experto: El viaje esencial a través del trading con MQL5

¡Libera tu potencial! Estás rodeado de oportunidades. Descubra 3 secretos principales para iniciar su viaje hacia MQL5 o llevarlo al siguiente nivel. Vamos a hablar de consejos y trucos tanto para principiantes como para profesionales.
El espectáculo debe continuar, o una vez más sobre el ZigZag
El espectáculo debe continuar, o una vez más sobre el ZigZag

El espectáculo debe continuar, o una vez más sobre el ZigZag

Sobre un método obvio pero todavía no estándar de composición ZigZag y cuál es el resultado: el indicador ZigZag fractal multimarco que representa los ZigZag en tres conexiones más grandes en un único periodo de tiempo de funcionamiento. A su vez, esos periodos de tiempo mayores pueden no ser estándar tampoco y variar desde M5 a MN1.
preview
Algoritmos de optimización de la población: Algoritmo de enjambre de aves (Bird Swarm Algorithm, BSA)

Algoritmos de optimización de la población: Algoritmo de enjambre de aves (Bird Swarm Algorithm, BSA)

El artículo analiza un algoritmo BSA basado en el comportamiento de las aves, que se inspira en las interacciones colectivas de bandadas de aves en la naturaleza. Las diferentes estrategias de búsqueda de individuos en el BSA, que incluyen el cambio entre el comportamiento de vuelo, la vigilancia y la búsqueda de alimento, hacen que este algoritmo sea multidimensional. El algoritmo usa los principios del comportamiento de las bandadas, la comunicación, la adaptabilidad, el liderazgo y el seguimiento de las aves para encontrar con eficacia soluciones óptimas.
Promediación efectiva de algoritmos con retraso mínimo: Uso en indicadores
Promediación efectiva de algoritmos con retraso mínimo: Uso en indicadores

Promediación efectiva de algoritmos con retraso mínimo: Uso en indicadores

Este artículo describe las funciones de promediación personalizadas de alta calidad desarrolladas por el autor: JJMASeries(), JurXSeries(), JLiteSeries(), ParMASeries(), LRMASeries(), T3Series(). El artículo también trata sobre la aplicación de dichas funciones en indicadores. El autor presenta una abundante biblioteca de indicadores basada en el uso de estas funciones.
preview
DoEasy. Elementos de control (Parte 1): Primeros pasos

DoEasy. Elementos de control (Parte 1): Primeros pasos

Con este artículo, iniciamos un extenso tutorial sobre la creación de controles al estilo de Windows Forms en MQL5. Vamos a empezar el tema creando una clase de panel. Ya se está haciendo difícil manejar las cosas sin controles. Por consiguiente, crearemos todos los controles posibles al estilo de Windows Forms.