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
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXII): Clases comerciales - Clase comercial principal, control de limitaciones
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXII): Clases comerciales - Clase comercial principal, control de limitaciones

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXII): Clases comerciales - Clase comercial principal, control de limitaciones

En el artículo, comenzaremos a crear la clase comercial principal de la biblioteca, equipándola con la primera versión de la funcionalidad para la comprobacion primaria de los permisos de realización de operaciones comerciales. Asimismo, ampliaremos un poco las posibilidades y el contenido de la clase comercial básica.
Simulación Rápida de Ideas de Trading en el Gráfico
Simulación Rápida de Ideas de Trading en el Gráfico

Simulación Rápida de Ideas de Trading en el Gráfico

Este artículo describe el método de simulaciones rápidas virtuales de ideas de trading. El método se basa en la combinación de un gráfico de precio, un indicador de señal y un indicador de cálculo de saldo. Me gustaría compartir mi método de búsqueda de ideas de trading, así como el método que uso para la simulación rápida de estas ideas.
Implementar un trader de noticias automático
Implementar un trader de noticias automático

Implementar un trader de noticias automático

Esta es la continuación de otro artículo acerca de la clase POO de MQL5, en el cual se le mostró el modo de implementar un Asesor Experto orientado a objetos desde cero y se le dieron algunos trucos sobre la programación orientada a objetos. Hoy, le voy a mostrar los fundamentos técnicos necesarios para desarrollar un Asesor Experto capaz de hacer trading con noticias. Mi objetivo es seguir proporcionándole ideas acerca de la POO y también abarcar un nuevo tema en esta serie de artículos, trabajando con el sistema de archivos.
Web scraping de datos sobre la rentabilidad de los bonos
Web scraping de datos sobre la rentabilidad de los bonos

Web scraping de datos sobre la rentabilidad de los bonos

Cuando diseñamos los sistemas del trading automático, casi siempre utilizamos los datos de los indicadores técnicos que analizan el pasado con el fin de predecir el futuro comportamiento del precio. Pero si no tomamos en cuenta las fuerzas fundamentales que mueven el mercado, evidentemente estaremos en una situación menos ventajosa en comparación con los traders que consideran adicionalmente los datos fundamentales en sus decisiones comerciales. Recopilando automáticamente los datos sobre los tipos de interés, Usted podrá mejorar el funcionamiento de su Asesor Experto.
Usando los punteros de objeto en MQL5
Usando los punteros de objeto en MQL5

Usando los punteros de objeto en MQL5

Por defecto, todos los objetos en MQL5 se pasan por referencia, pero hay una posibilidad de usar los punteros de objeto. Sin embargo, es necesario realizar una comprobación del puntero ya que el objeto puede no ser inicializado. En este caso, el programa MQL5 terminará con un error crítico y descargado. Los objetos, creados automáticamente, no causan este error, por lo que, en esencia, son muy seguros. En este artículo intentaremos comprender la diferencia entre la referencia del objeto y el puntero del mismo y veremos cómo escribir código seguro con el uso de punteros.
Libro de Recetas de MQL5: Obtener Propiedades de Posiciones
Libro de Recetas de MQL5: Obtener Propiedades de Posiciones

Libro de Recetas de MQL5: Obtener Propiedades de Posiciones

En este artículo crearemos un script con el que obtendremos todas las propiedades de posición y se las mostrará al usuario en un cuadro de diálogo. Al ejecutar el script, usted podrá seleccionar uno de los dos modos disponibles en la lista desplegable en los parámetros externos: para ver las propiedades de posición solo en el símbolo actual, o para ver las propiedades de posición en todos los símbolos.
Principios de programación en MQL5 - Variables globales del terminal
Principios de programación en MQL5 - Variables globales del terminal

Principios de programación en MQL5 - Variables globales del terminal

En este artículo se demuestran las posibilidades orientadas a objetos del lenguaje MQL5 en cuanto a creación de objetos responsables del funcionamiento con las variables globales del programa. Como ejemplo práctico se verá una situación en la que las variables globales pueden usarse como puntos de control en la ejecución de etapas del programa.
Solución sin DLL para la comunicación entre terminales MetaTrader 5 mediante canalizaciones con nombre
Solución sin DLL para la comunicación entre terminales MetaTrader 5 mediante canalizaciones con nombre

Solución sin DLL para la comunicación entre terminales MetaTrader 5 mediante canalizaciones con nombre

El artículo describe el modo de implementar la comunicación entre procesos, entre terminales de cliente MetaTrader 5 mediante canalizaciones con nombre. Se desarrolla la clase CNamedPipes para utilizar las canalizaciones con nombre. Con el fin de probar su uso y medir el rendimiento de la conexión, se proporciona el tick del indicador y los scripts del servidor y el cliente. El uso de las canalizaciones con nombre es suficiente para las cotizaciones en tiempo real.
Constructor de estrategias basado en las figuras técnicas de Merrill
Constructor de estrategias basado en las figuras técnicas de Merrill

Constructor de estrategias basado en las figuras técnicas de Merrill

En el artículo anterior, analizamos un modelo de aplicación de las figuras técnicas de Merrill a diferentes datos, tales como el valor del precio en el gráfico de un instrumento de divisa y los valores de los diferentes indicadores del paquete estándar del terminal MetaTrader 5: ATR, WPR, CCI, RSI y otros. Ahora, vamos a intentar crear un constructor de estrategias basado en las ideas sobre el uso de las figuras técnicas de Merrill.
preview
Algoritmos de optimización de la población: Evolución diferencial (Differential Evolution, DE)

Algoritmos de optimización de la población: Evolución diferencial (Differential Evolution, DE)

En este artículo, hablaremos del algoritmo que muestra los resultados más controvertidos entre todos los anteriormente analizados, el algoritmo de Evolución Diferencial (DE).
preview
Qué podemos hacer con la ayuda de medias móviles

Qué podemos hacer con la ayuda de medias móviles

En este artículo, hemos recopilado algunos usos del indicador de media móvil. Si se requiere un análisis de curvas, para casi todos los métodos se han hecho indicadores que permiten visualizar una idea útil. En la mayoría de los casos, las ideas se han tomado prestadas de otros autores, pero, en conjunto, suelen ayudar a ver las tendencias principales con mayor precisión y, con suerte, a tomar mejores decisiones comerciales. Nivel de conocimiento de MQL5: inicial.
El tester en la terminal MetaTrader 4: Debería saberse
El tester en la terminal MetaTrader 4: Debería saberse

El tester en la terminal MetaTrader 4: Debería saberse

La interfaz elaborada de la terminal MetaTrader 4 es de vanguardia, pero además esta terminal incluye un tester de estrategias cuidadosamente realizado. Y aunque el valor de MetaTrader 4 como terminal de trading es obvio, la calidad de la estrategia del tester puede evaluarse sólo con su uso. Este artículo muestra las ventajas e inconvenientes de hacer pruebas en MetaTrader 4.
El análisis estadístico de los movimientos del mercado y su pronóstico
El análisis estadístico de los movimientos del mercado y su pronóstico

El análisis estadístico de los movimientos del mercado y su pronóstico

El presente artículo contempla las amplias posibilidades del método estadístico en el marketing. Por desgracia, los traders principiantes fracasan deliberadamente a la hora de aplicar la formidable ciencia de la estadística. Mientras tanto, es lo único que usan de forma inconscientemente cuando analizan el mercado. Además, la estadística puede dar respuesta a muchas preguntas.
¿Dormir, o no dormir?
¿Dormir, o no dormir?

¿Dormir, o no dormir?

Se propone un uso alternativo de la función Sleep() en la realización de las pausas entre las acciones del AE. El método del que se habla aquí permite un uso inteligente del tiempo de máquina.
Interfaces gráficas X: Control "Gráfico estándar" (build 4)
Interfaces gráficas X: Control "Gráfico estándar" (build 4)

Interfaces gráficas X: Control "Gráfico estándar" (build 4)

En este artículo vamos a analizar el control de la interfaz gráfica como «Gráfico estándar». Nos permitirá crear los arrays de objetos-gráficos con posibilidad del desplazamiento horizontal sincronizado del gráfico. Aparte de eso, continuaremos optimizando el código de la librería para reducir el consumo de los recursos de CPU.
preview
Eventos de Trading en MetaTrader 5

Eventos de Trading en MetaTrader 5

El monitoreo del estado actual de una cuenta de trading implica controlar las posiciones abiertas y órdenes. Antes de que una señal de trading pase a ser una transacción, se debe enviar desde el terminal de cliente como solicitud al servidor de trading, donde se colocará en la cola de órdenes a la espera de ser procesadas. Aceptar una solicitud por el servidor de trading, eliminarla si caduca o realizar una transacción en su base: todas estas acciones se siguen por eventos de trading, y el servidor informa al terminal sobre ellos.
Hablando de nuevo sobre los mapas de Kohonen
Hablando de nuevo sobre los mapas de Kohonen

Hablando de nuevo sobre los mapas de Kohonen

El artículo describe los métodos de funcionamiento de los mapas de Kohonen. Le resultará interesante tanto a los investigadores del mercado con habilidades básicas de programación en MQL4 y MQL5, como a los programadores expertos que sufren dificultades con la aplicación de los mapas de Kohonen en sus proyectos.
Crear y Publicar Informes de Trading y Notificaciones SMS
Crear y Publicar Informes de Trading y Notificaciones SMS

Crear y Publicar Informes de Trading y Notificaciones SMS

Los traders no siempre tienen la capacidad ni las ganas de estar sentados frente al terminal de trading durante horas. Especialmente si el sistema de trading está más o menos formalizado y puede identificar automáticamente algunos de los estados de mercado. Este artículo describe cómo generar un informe de resultados de trading (usando un Asesor Experto, Indicador o Script) como archivo HTML y cómo subirlo por FTP a un servidor WWW. También explicaremos cómo enviar notificaciones de eventos de trading como mensajes SMS a teléfonos móviles.
Cree su propia Observación del Mercado usando las clases de la librería estándar
Cree su propia Observación del Mercado usando las clases de la librería estándar

Cree su propia Observación del Mercado usando las clases de la librería estándar

El nuevo terminal de cliente de MetaTrader 5 y el lenguaje MQL5 proporcionan nuevas oportunidades al operador para la representación visual de información. En este artículo proponemos un conjunto universal y extensible de clases que controlan todo el trabajo que requiere organizar la representación en pantalla de la información sobre los gráficos. Se incluye el ejemplo del indicador Observación del Mercado.
Cómo ser un mejor programador (parte 01): 5 cosas que evitar para convertirse en un programador exitoso de MQL5
Cómo ser un mejor programador (parte 01): 5 cosas que evitar para convertirse en un programador exitoso de MQL5

Cómo ser un mejor programador (parte 01): 5 cosas que evitar para convertirse en un programador exitoso de MQL5

Hay muchos malos hábitos que impiden a los programadores principiantes e incluso avanzados sacar el cien por cien de rendimiento a su carrera de codificación. En este artículo, discutiremos y abordaremos dichos hábitos. El presente material es una lectura obligada para todos aquellos que quieran convertirse en desarrolladores exitosos en MQL5.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 39): Indicadores basados en la biblioteca - Preparación de datos y eventos de la series temporales
Trabajando con las series temporales en la biblioteca DoEasy (Parte 39): Indicadores basados en la biblioteca - Preparación de datos y eventos de la series temporales

Trabajando con las series temporales en la biblioteca DoEasy (Parte 39): Indicadores basados en la biblioteca - Preparación de datos y eventos de la series temporales

En el presente artículo, analizaremos la aplicación de la biblioteca DoEasy para crear indicadores de periodo y símbolo múltiples. Hoy, vamos a preparar las clases de la biblioteca para trabajar con indicadores y poner a prueba la correcta creación de series temporales para su posterior uso como fuentes de datos en los indicadores. Asimismo, organizaremos la creación y el envío de los eventos de series temporales.
Cálculo de expresiones matemáticas (Parte 1). Parsers de descenso recursivo
Cálculo de expresiones matemáticas (Parte 1). Parsers de descenso recursivo

Cálculo de expresiones matemáticas (Parte 1). Parsers de descenso recursivo

En el presente artículo, estudiaremos los principios esenciales del análisis y el cálculo de las expresiones matemáticas. Asimismo, implementaremos los parsers de descenso recursivo que funcionan en los modos de intérprete y de cálculos rápidos basados en un árbol de sintaxis previamente construido.
La Magia de la Filtración
La Magia de la Filtración

La Magia de la Filtración

La mayoría de los desarrolladores de sistemas de trading automatizados utilizan alguna forma de filtrado de señales de trading. En este artículo exploramos la creación e implementación del paso de banda y filtros discretos para EAS, para mejorar las características del sistema de trading automatizado.
Alerta y comentario para indicadores externos.
Alerta y comentario para indicadores externos.

Alerta y comentario para indicadores externos.

En un trabajo práctico, un trader puede encontrarse con la siguiente situación: es necesario conseguir una "alerta" o un mensaje de texto en una pantalla (en una ventana de gráfico) que indique de la aparición de una señal de un indicador. El artículo contiene un ejemplo de muestra de información sobre los objetos gráficos creados por un indicador externo.
El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL. Parte 1
El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL. Parte 1

El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL. Parte 1

En el presente artículo, presentamos un nuevo concepto para la descripción de la interfaz de ventana de los programas MQL con la ayuda de las construcciones del lenguaje MQL. Las clases especiales transforman el marcado visual de MQL en elementos de GUI, permitiendo de controlarlos, ajustar sus propiedades y procesar eventos de forma unificada. Asimismo, mostraremos ejemplos de uso del marcado en las ventanas de diálogo y los elementos de la biblioteca estándar.
preview
Stop Loss y Take Profit amigables para el tráder

Stop Loss y Take Profit amigables para el tráder

El stop loss y el take profit pueden tener una influencia significativa en los resultados de las transacciones. En este artículo, veremos varias formas de buscar órdenes stop óptimas.
Dr. Tradelove o Cómo dejé de preocuparme y escribí un Asesor Experto Autoenseñable
Dr. Tradelove o Cómo dejé de preocuparme y escribí un Asesor Experto Autoenseñable

Dr. Tradelove o Cómo dejé de preocuparme y escribí un Asesor Experto Autoenseñable

Hace poco más de un año joo nos ha dado en su artículo "Algoritmos genéticos: ¡Es fácil!" una herramienta para la implementación del Algoritmo Genético en MQL5. Pues, vamos a utilizar esta herramienta y crearemos un Asesor Experto que, al alcanzar unas condiciones extremas, realice la Optimización Genética de sus propios parámetros...
Un método de escritura de los niveles de soporte/resistencia
Un método de escritura de los niveles de soporte/resistencia

Un método de escritura de los niveles de soporte/resistencia

Este artículo describe el proceso de crear un script simple para detectar los niveles de soporte/resistencia. Está escrito para principiantes, y tiene una explicación detallada de cada fase del proceso. Sin embargo, aunque el guión es muy simple, el artículo también será útil para traders más avanzados y para los usuarios de la plataforma MetaTrader 4. Contiene ejemplos de la exportación de datos en formato tabular, la importación de la tabla a Microsoft Excel, y la esquematización de gráficos para su futuro análisis más detallado.
preview
Funciones en las aplicaciones MQL5

Funciones en las aplicaciones MQL5

Las funciones son componentes de importancia crítica en cualquier lenguaje de programación. Entre otras cosas, ayudan a los desarrolladores a aplicar el principio DRY (don't repeat youself, no te repitas). El artículo analiza las funciones y su creación en MQL5 usando aplicaciones sencillas que enriquecen nuestros sistemas comerciales sin complicarlos.
preview
Trabajamos con fechas y horas en MQL5

Trabajamos con fechas y horas en MQL5

Resulta esencial que los tráders y desarrolladores de herramientas comerciales comprendan cómo manejar las fechas y horas de manera adecuada y eficaz. En este artículo, veremos cómo podemos manejar fechas y horas al crear herramientas comerciales efectivas.
Los Asesores Expertos desde el Asistente MQL5 funcionan en MetaTrader 4
Los Asesores Expertos desde el Asistente MQL5 funcionan en MetaTrader 4

Los Asesores Expertos desde el Asistente MQL5 funcionan en MetaTrader 4

En este artículo se ofrece un emulador simple del entorno comercial de MetaTrader 5 para MetaTrader 4. Este emulador permite realizar el traspaso y adaptación de las clases de trading de la librería estándar. Como resultado, los Asesores Expertos generados en el Asistente para MetaTrader 5, pueden ser compilados y ejecutados en MetaTrader 4.
Indicadores técnicos y filtros digitales
Indicadores técnicos y filtros digitales

Indicadores técnicos y filtros digitales

En este artículo, se tratan los indicadores técnicos como si fueran filtros digitales. Se explican los principios de funcionamiento y las características básicas de los filtros digitales. Además, se van a tratar algunos métodos prácticos para obtener la respuesta al impulso (kernel) del filtro en el terminal de MetaTrader 5 y su integración con un analizador de espectro, que ya existe, descrito en el artículo "Construyendo un analizador de espectro". Como ejemplos, se usan las características del impulso y el espectro de los filtros digitales típicos.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVIII): Solicitudes comerciales pendientes - Cierre, eliminación y modificación
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVIII): Solicitudes comerciales pendientes - Cierre, eliminación y modificación

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVIII): Solicitudes comerciales pendientes - Cierre, eliminación y modificación

Este es el tercer artíclo sobre el concepto de las solicitudes pendientes. En él, terminaremos con la puesta a punto del trabajo con solicitudes comerciales pendientes, creando los métodos para cerrar posiciones, eliminar órdenes pendientes y modificar los parámetros de las posiciones y las órdenes pendientes.
Fundamentos de la estadística
Fundamentos de la estadística

Fundamentos de la estadística

Cada trader utiliza en su trabajo este u otro tipo de cálculos estadísticos, incluso si se declara seguidor del análisis fundamental. Este artículo le ayudará a familiarizarse con los fundamentos de la estadística, con sus elementos básicos, además de hablarle de su importancia a la hora de tomar decisiones.
Indicador NRTR y módulos comerciales en su base para el Asistente de MQL5
Indicador NRTR y módulos comerciales en su base para el Asistente de MQL5

Indicador NRTR y módulos comerciales en su base para el Asistente de MQL5

En este artículo se describe el indicador NRTR y el sistema comercial creado en su base. Para este propósito, se crea el módulo de las señales comerciales a través de las cuales se crean las estrategias basadas en las combinaciones del NRTR e indicadores comerciales que confirman la tendencia.
Utilidad para la selección y navegación en MQL5 y MQL4: aumentando la informatividad de los gráficos
Utilidad para la selección y navegación en MQL5 y MQL4: aumentando la informatividad de los gráficos

Utilidad para la selección y navegación en MQL5 y MQL4: aumentando la informatividad de los gráficos

En este artículo, continuaremos expandiendo la funcionalidad de nuestra utilidad. Esta vez, añadiremos las posibilidades de visualizar la información en el gráfico, que sirve para facilitar nuestra negociación. En particular, añadiremos en el gráfico los precios máximos y mínimos del día anterior, niveles redondos, precios máximos y mínimos durante el año, hora del inicio de la sesión, etc.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 37): Colección de series temporales - Base de datos de series temporales según el símbolo y el periodo
Trabajando con las series temporales en la biblioteca DoEasy (Parte 37): Colección de series temporales - Base de datos de series temporales según el símbolo y el periodo

Trabajando con las series temporales en la biblioteca DoEasy (Parte 37): Colección de series temporales - Base de datos de series temporales según el símbolo y el periodo

El artículo está dedicado a la creación de la colección de series temporales de los marcos temporales establecidos para todos los símbolos utilizados en el programa. Vamos a crear la colección de series temporales, y también los métodos para establecer los parámetros de las series temporales contenidas en la colección. Asimismo, rellenaremos por primera vez con datos históricos las series temporales creadas en la colección.
Desarrollando los Asesores Expertos multimódulo
Desarrollando los Asesores Expertos multimódulo

Desarrollando los Asesores Expertos multimódulo

El lenguaje de programación MQL permite implementar el concepto del diseño modular de las estrategias comerciales. En este artículo, se muestra el ejemplo del desarrollo del Asesor Experto multimódulo compuesto de los módulos de archivos compilados separadamente.
preview
Algoritmos de optimización de la población: Algoritmo Boids, o algoritmo de comportamiento de bandada (Algoritmo Boids, Boids)

Algoritmos de optimización de la población: Algoritmo Boids, o algoritmo de comportamiento de bandada (Algoritmo Boids, Boids)

En este artículo, realizamos un estudio del algoritmo Boids, que se basa en ejemplos únicos del comportamiento de enjambre o bandada de animales. El algoritmo Boids, a su vez, ha servido de base para la creación de toda una clase de algoritmos agrupados bajo el nombre de "inteligencia de enjambre".
Implementación de Indicadores como Classes por Ejemplos de Zigzag y ATR
Implementación de Indicadores como Classes por Ejemplos de Zigzag y ATR

Implementación de Indicadores como Classes por Ejemplos de Zigzag y ATR

El debate sobre la mejor forma de calcular indicadores es infinito. Dónde deberíamos calcular los valores de indicador: en el indicador mismo, o incrustar la lógica entera en un Expert Advisor que la use? Este artículo describe una de las variantes para mover el código fuente de un indicador personalizado iCustom al código de un Expert Advisor o script con optimización de cálculos y modelizacion del valor prev_calculated.