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
Experto comercial universal: Acceso a las propiedades de los instrumentos (parte 8)
Experto comercial universal: Acceso a las propiedades de los instrumentos (parte 8)

Experto comercial universal: Acceso a las propiedades de los instrumentos (parte 8)

La octava parte del artículo está dedicada a la descripción de la clase CSymbol, un objeto especial que proporciona acceso a un instrumento comercial aleatorio. Incluida en el experto comercial, esta clase proporciona un rico conjunto de propiedades de cualquier instrumento, haciendo la programación de expertos aún más sencilla y multifuncional.
Asesor Experto multiplataforma: Gestión de capital (money management)
Asesor Experto multiplataforma: Gestión de capital (money management)

Asesor Experto multiplataforma: Gestión de capital (money management)

En este artículo se analiza la implementación de la gestión de capital (money management) en el Asesor Experto multiplataforma. Las clases de la gestión de capital se encargan del cálculo del tamaño del lote que el Asesor Experto usará para entrar en la siguiente operación.
Patrones disponibles al comerciar con cestas de divisas. Parte III
Patrones disponibles al comerciar con cestas de divisas. Parte III

Patrones disponibles al comerciar con cestas de divisas. Parte III

Este es el artículo final dedicado a los patrones que aparecen al comerciar con cestas de parejas de divisas. Se han analizado varios indicadores combinados de tendencia, así como la aplicación de las construcciones gráficas habituales.
Optimización Walk-Forward en MetaTrader 5 con sus propias manos
Optimización Walk-Forward en MetaTrader 5 con sus propias manos

Optimización Walk-Forward en MetaTrader 5 con sus propias manos

En este artículo se consideran las técnicas que permiten emular con precisión la optimización walk-forward a través del Probador incorporado y librerías auxiliares implementadas en MQL.
Indicadores personalizados e infografía en CCanvas
Indicadores personalizados e infografía en CCanvas

Indicadores personalizados e infografía en CCanvas

En este artículo se analizarán nuevos tipos de indicadores con una estructura de implementación más compleja. Se describirá la construcción de los indicadores de los tipos pseudo-3D y la creación de infografías que cambian de manera dinámica.
Interfaces gráficas XI: Controles dibujados (build 14.2)
Interfaces gráficas XI: Controles dibujados (build 14.2)

Interfaces gráficas XI: Controles dibujados (build 14.2)

En la nueva versión de la librería, todos los controles van a dibujarse en los objetos gráficos separados tipo OBJ_BITMAP_LABEL. Además, seguiremos describiendo la optimización del código: es decir, analizaremos los cambios en las clases que representan el núcleo de la librería.
Métodos de ordenamiento y su visualización a través de MQL5
Métodos de ordenamiento y su visualización a través de MQL5

Métodos de ordenamiento y su visualización a través de MQL5

Para trabajar con la gráfica, en MQL5 ha sido creada una librería especial— Graphic.mqh. El ejemplo de su aplicación práctica se describe en este artículo y se explica la esencia de los ordenamientos. Existe por lo menos un artículo separado para cada tipo de ordenamiento, y para algunos de ellos ya has sido publicadas las investigaciones completas, por eso aquí se describe sólo la idea general.
Interfaces gráficas XI: Refactorización del código de la librería (build 14.1)
Interfaces gráficas XI: Refactorización del código de la librería (build 14.1)

Interfaces gráficas XI: Refactorización del código de la librería (build 14.1)

A medida que la librería va creciendo, es necesario optimizar de nuevo su código para reducir su tamaño. La versión de la librería descrita en este artículo se ha hecho aún más orientada a objetos. Eso ha mejorado la facilidad de comprensión del código. La descripción detallada de los últimos cambios permitirá al lector desarrollar la librería por sí mismo, según las necesidades que tenga.
Creación de indicadores personalizados usando la clase CCanvas
Creación de indicadores personalizados usando la clase CCanvas

Creación de indicadores personalizados usando la clase CCanvas

En el artículo se analiza un ejemplo de creación de indicadores de dibujado personalizados con la ayuda de primivitas gráficas de la clase CCanvas.
Asesor Experto multiplataforma: Señales
Asesor Experto multiplataforma: Señales

Asesor Experto multiplataforma: Señales

En este artículo, se discuten las clases CSignal y CSignals que serán utilizadas en los Asesores Expertos multiplataforma. Han sido analizadas las diferencias entre MQL4 y MQL5 respecto a la organización de los datos necesarios para evaluar las señales comerciales obtenidas. Como resultado, tenemos el código compatible con los compiladores de ambas versiones.
Asesor Experto multiplataforma: Gestor de órdenes
Asesor Experto multiplataforma: Gestor de órdenes

Asesor Experto multiplataforma: Gestor de órdenes

En este artículo se trata de la creación de un gestor de órdenes para el Asesor Experto multiplataforma. El gestor de órdenes se encarga de la apertura y del cierre de las órdenes y posiciones que realiza el Asesor Experto, así como de la ejecución del registro independiente sobre ellas, y estará disponible para ambas versiones del terminal.
Ejemplo del indicador que construye las líneas de soporte y resistencia
Ejemplo del indicador que construye las líneas de soporte y resistencia

Ejemplo del indicador que construye las líneas de soporte y resistencia

En este artículo se muestra el ejemplo de la implementación del indicador para construir las líneas de soporte y resistencia a base las condiciones formalizadas. Usted podrá no sólo aplicar el indicador, sino también comprenderá qué fácil implementar eso. Ahora Usted podrá formular personalmente las condiciones para construir las líneas que considere necesarias, haciendo pequeñas modificaciones en el código del indicador a su medida.
Clasificador bayesiano ingenuo para las señales de un conjunto de indicadores
Clasificador bayesiano ingenuo para las señales de un conjunto de indicadores

Clasificador bayesiano ingenuo para las señales de un conjunto de indicadores

En el artículo se analiza la aplicación de la fórmula bayesiana para aumentar la fiabilidad de los sistemas comerciales usando las señales de varios indicadores independientes. Los cálculos teóricos se comprueban con la ayuda de un sencillo experto universal, adaptable para trabajar con indicadores aleatorios.
Interfaces gráficas X: Selección del texto en el campo de edición multilínea (build 13)
Interfaces gráficas X: Selección del texto en el campo de edición multilínea (build 13)

Interfaces gráficas X: Selección del texto en el campo de edición multilínea (build 13)

En este artículo vamos a implementar la posibilidad de seleccionar el texto usando diferentes combinaciones de teclas y eliminar el texto seleccionado, de la misma manera como se hace en cualquier otro editor de texto. Además de eso, seguiremos optimizando el código y prepararemos las clases para el traspaso al proceso final de la segunda fase del desarrollo de la librería, cuando todos los controles estarán dibujados en las imágenes separadas (lienzos para el dibujado).
¿Cuánto dura una tendencia?
¿Cuánto dura una tendencia?

¿Cuánto dura una tendencia?

En el artículo vamos a elegir varios métodos para identificar la tendencia y definir su duración con respecto al mercado plano. En la teoría, se considera que la proporición en tanto por ciento de la tendencia con respecto al flat es de un 30% frente a un 70%. Esto precisamente vamos a comprobar.
Pronóstico de los movimientos de mercado con la ayuda de la clasificación bayesiana e indicadores basados en el análisis espectral singular
Pronóstico de los movimientos de mercado con la ayuda de la clasificación bayesiana e indicadores basados en el análisis espectral singular

Pronóstico de los movimientos de mercado con la ayuda de la clasificación bayesiana e indicadores basados en el análisis espectral singular

En el artículo se analiza la ideología y la metodología de construcción de un sistema recomendatorio para el comercio operativo usando como base la combinación de las posibilidades de pronosticación con la ayuda del análisis espectral singular (AES) y un método importante de aprendizaje de máquinas basado en el teorema de Bayes.
Sistema comercial de DiNapoli
Sistema comercial de DiNapoli

Sistema comercial de DiNapoli

En el artículo se analiza un sistema comercial que usa los niveles de Fibonacci, desarrollado y descrito por Joe DiNapoli. También se explican los conceptos básicos y la esencia del sistema, ilustrado con el ejemplo de un sencillo indicador.
Análisis de los gráficos del Balance/Equidad usando los símbolos y ORDER_MAGIC de los Asesores Expertos
Análisis de los gráficos del Balance/Equidad usando los símbolos y ORDER_MAGIC de los Asesores Expertos

Análisis de los gráficos del Balance/Equidad usando los símbolos y ORDER_MAGIC de los Asesores Expertos

Cuando la cobertura (hedging) fue introducida en MetaTrader 5, apareció una perfecta oportunidad de negociar simultáneamente con varios Asesores Expertos en la misma cuenta. Además, puede surgir la situación cuando una estrategia es rentable, mientras que la otra trae pérdidas, y al final el gráfico del beneficio baila alrededor de cero. En este caso, es útil construir los gráficos del Balance y la Equidad para cada estrategia comercial por separado.
Cómo crear documentación usando los códigos fuente MQL5
Cómo crear documentación usando los códigos fuente MQL5

Cómo crear documentación usando los códigos fuente MQL5

En el artículo se analiza la creación de documentación para el código en MQL5, comenzando por la automatización de la colocación de los tags necesarios. A continuación, se describe el trabajo con el programa Doxygen, su correcta configuración y la obtención de resultados en diferentes formatos: en html, en HtmlHelp y en PDF.
Ondas de Wolfe
Ondas de Wolfe

Ondas de Wolfe

El método gráfico propuesto por Bill Wolfe permite no solo mostrar una figura y definir al mismo tiempo el momento y la dirección de la entrada, sino también sincronizar el objetivo que deberá alcanzar el precio y el tiempo de dicho alcance. En el artículo se describe cómo sobre la base del indicador Zigzag se puede crear un indicador para la búsqueda de las ondas de Wolfe y un sencillo asesor que comercie según sus señales.
Recetas MQL5 - Creando el búfer circular para calcular rápidamente los indicadores en la ventana móvil
Recetas MQL5 - Creando el búfer circular para calcular rápidamente los indicadores en la ventana móvil

Recetas MQL5 - Creando el búfer circular para calcular rápidamente los indicadores en la ventana móvil

El búfer circular es el modo más simple y al mismo tiempo más eficaz en la organización de datos para los cálculos en una ventana móvil. En este artículo se describe la estructura de este algoritmo, y se muestra cómo se puede hacer a través de él que el cálculo en la ventana móvil sea un proceso simple y eficaz.
Trading usando canales de Donchian
Trading usando canales de Donchian

Trading usando canales de Donchian

En este artículo se desarrollan y se prueban varias estrategias a base del canal de Donchian con aplicación de diferentes filtros de indicador. Se realiza el estudio y el análisis comparativo de su trabajo.
Sistema secuencial de Tom DeMark (TD SEQUENTIAL) con uso de inteligencia artificial
Sistema secuencial de Tom DeMark (TD SEQUENTIAL) con uso de inteligencia artificial

Sistema secuencial de Tom DeMark (TD SEQUENTIAL) con uso de inteligencia artificial

En este artículo voy a contar sobre cómo se puede tradear con éxito aplicando la «hibridación» de una estrategia muy famosa y una red neuronal. Se trata de la estrategia de Tom DeMark «Sistema secuencial» (TD Sequential), con aplicación de la inteligencia artificial. Nosotros vamos a trabajar SÓLO con la primera parte de la estrategia, usando las señales «Disposición» y «Intersección».
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.
Patrones disponibles al comerciar con cestas de divisas. Parte II
Patrones disponibles al comerciar con cestas de divisas. Parte II

Patrones disponibles al comerciar con cestas de divisas. Parte II

Continuamos con la conversación sobre los patrones que puede detectar el tráder al comerciar con cestas de parejas de divisas. En esta parte se describen los patrones formados al usar los indicadores de tendencia combinados. Como herramienta de análisis se utilizan indicadores basados en el índice de la divisa.
Análisis comparativo de 10 estrategias tendenciales
Análisis comparativo de 10 estrategias tendenciales

Análisis comparativo de 10 estrategias tendenciales

En este artículo se presenta el resumen breve de 10 estrategias de tendencia, incluyendo su testeo y el análisis comparativo. A base de los resultados obtenidos, se han deducido conclusiones generales sobre la conveniencia, ventajas y desventajas del trading siguiendo una tendencia.
Recetas MQL5 - Señales comerciales de pivotes
Recetas MQL5 - Señales comerciales de pivotes

Recetas MQL5 - Señales comerciales de pivotes

En este artículo se demuestra el proceso del desarrollo e implementación de la clase de señales a base de los pivote, niveles de reversa. A base de esta clase, se construye la estrategia con el uso de la librería estándar. Se consideran las posibilidades del desarrollo de la estrategia de pivotes mediante la adición de los filtros.
Tendencia universal con interfaz gráfica
Tendencia universal con interfaz gráfica

Tendencia universal con interfaz gráfica

En este artículo, a base de una serie de indicadores estándar, se crea el indicador universal de tendencia. Se desarrolla la interfaz gráfica para seleccionar el tipo del indicador y configurar sus parámetros. El indicador se visualiza en una ventana separada con las series de iconos de diferentes colores.
Cálculo del coeficiente de Hurst
Cálculo del coeficiente de Hurst

Cálculo del coeficiente de Hurst

En este artículo se explica detalladamente el sentido del exponente de Hurst, la interpretación de sus valores y el algoritmo del cálculo. Se muestran los resultados del análisis de algunos segmentos de los mercados financieros y se presenta el método de trabajo con los productos informáticos de MetaTrader 5 que implementan la idea del análisis fractal.
Interfaces gráficas X: Algoritmo del traslado de palabras en el campo de edición multilínea (build 12)
Interfaces gráficas X: Algoritmo del traslado de palabras en el campo de edición multilínea (build 12)

Interfaces gráficas X: Algoritmo del traslado de palabras en el campo de edición multilínea (build 12)

Sigamos desarrollando el control «Campo de edición multilínea». Esta vez, nuestra tarea consiste en configurar el traslado automático de palabras a la siguiente línea si no encajan en el campo de edición, o el traslado inverso a la línea anterior si aparece esta posibilidad.
Interfaces gráficas X: Ordenamiento, reconstrucción de la tabla y controles en las celdas (build 11)
Interfaces gráficas X: Ordenamiento, reconstrucción de la tabla y controles en las celdas (build 11)

Interfaces gráficas X: Ordenamiento, reconstrucción de la tabla y controles en las celdas (build 11)

Seguimos añadiendo nuevas posibilidades a la tabla dibujada que nos permitirán hacer lo siguiente: ordenar los datos, controlar el número de columnas y filas, establecer el tipo de las celdas para adjuntar los controles.
preview
¡Visualice esto! La biblioteca gráfica en MQL5 como un análogo de plot en el lenguaje R

¡Visualice esto! La biblioteca gráfica en MQL5 como un análogo de plot en el lenguaje R

A la hora de investigar y estudiar patrones, la representación visual con la ayuda de gráficos juega un papel fundamental. En los lenguajes populares de programación en la comunidad científica, tales como R y Python, para la visualización se usa la función especial plot. Con su ayuda, es posible dibujar líneas, gráficos de dispersión e histogramas para visualizar patrones. En MQL5 usted puede hacer lo mismo con la ayuda de la clase CGraphics.
Interfaces gráficas X: Actualizaciones para la tabla dibujada y optimización del código (build 10)
Interfaces gráficas X: Actualizaciones para la tabla dibujada y optimización del código (build 10)

Interfaces gráficas X: Actualizaciones para la tabla dibujada y optimización del código (build 10)

Continuamos completar la tabla dibujada (CCanvasTable) con nuevas funcionalidades. Ahora la tabla va a contener las siguientes funciones: resalto de las filas al situar el cursor encima; posibilidad de agregar el array de imágenes para cada celda y el método para su conmutación; posibilidad de establecer y editar el texto de las cceldas durante la ejecución del programa, y muchas cosas más.
Modelado 3D en MQL5
Modelado 3D en MQL5

Modelado 3D en MQL5

Una serie temporal es un sistema dinámico en el que los valores de una cierta magnitud aleatoria llegan de forma consecutiva: ininterrumpidamente o tras un cierto intervalo temporal. El paso del análisis plano del mercado al análisis con volumen permitirá mirar de una forma nueva a los complejos procesos y manifestaciones que interesan al investigador. En el artículo se describen las funciones de visualización de la representación 3-D de datos bidimensionales.
Interfaces gráficas X: Nuevas posibilidades para la tabla dibujada (build 9)
Interfaces gráficas X: Nuevas posibilidades para la tabla dibujada (build 9)

Interfaces gráficas X: Nuevas posibilidades para la tabla dibujada (build 9)

Hasta este momento, el tipo más desarrollado de las tablas de la librería fue el tipo CTable. Esta tabla se reúne de los campos de edición tipo OBJ_EDIT y su desarrollo posterior ya resulta problemático. Por eso, desde el punto de vista de las posibilidades máximas incluso en esta fase del desarrollo de la librería, es mejor desarrollar la tabla dibujada tipo CCanvasTable. Su versión actual es absolutamente inerte, pero a partir de este artículo vamos a tratar de solucionar ese asunto.
Canal universal con interfaz gráfica
Canal universal con interfaz gráfica

Canal universal con interfaz gráfica

Todos los indicadores de canales están constituidos por tres líneas: una central, una superior y otra inferior. Según su principio de construcción la línea central es idéntica a una media móvil, y en la mayoría de los casos para construir el canal se usa precisamente una media móvil. Las líneas superior e inferior se ubican a la misma distancia de la central. Esta distancia se puede definir simplemente en puntos, en tanto por ciento del precio (indicador Envelopes), se pueden usar valores de desviación estándar (franjas de Bollinger) o los valores del indicador ATR (canal de Keltner).
Interfaces gráficas X: Control "Campo de edición del texto multilínea" (build 8)
Interfaces gráficas X: Control "Campo de edición del texto multilínea" (build 8)

Interfaces gráficas X: Control "Campo de edición del texto multilínea" (build 8)

Se considera el control «Campo de edición multilínea». A diferencia del objeto gráfico OBJ_EDIT, en esta versión no habrá limitación alguna para el número de los caracteres a introducir. Aparte de eso, se hace disponible el modo cuando el campo de edición se convierte en un sencillo editor de texto donde se puede mover el cursor usando el ratón o el teclado.
Incorpore el terminal web MetaTrader 4/5 en sus páginas web, es gratuito, y además podrá ganar dinero con ello
Incorpore el terminal web MetaTrader 4/5 en sus páginas web, es gratuito, y además podrá ganar dinero con ello

Incorpore el terminal web MetaTrader 4/5 en sus páginas web, es gratuito, y además podrá ganar dinero con ello

Los tráders ya conocen bien el terminal web, que permite comerciar en los mercados financieros directamente desde el navegador. Le proponemos que lo incorpore en su página web, es algo totalmente gratuito. Usted tiene visitas a su página, los brókeres se interesan por clientes potenciales, y nosotros proporcionamos una solución web ya lista. Para que todo ello funcione, solo es necesario que incluya un iframe en su página web.
Interfaces gráficas X: Gestión ampliada de las listas y tablas. Optimización de código (build 7)
Interfaces gráficas X: Gestión ampliada de las listas y tablas. Optimización de código (build 7)

Interfaces gráficas X: Gestión ampliada de las listas y tablas. Optimización de código (build 7)

Es necesario optimizar el código de la librería: debe estar mejor ordenado, o sea, ser más comprensible y legible. Además de eso, vamos a continuar el desarrollo de los controles creados anteriormente: listas, tablas y barras de desplazamiento.
Localización automática de extremos basada en un salto de precio establecido
Localización automática de extremos basada en un salto de precio establecido

Localización automática de extremos basada en un salto de precio establecido

Al automatizar estrategias comerciales que usen modelos gráficos, es necesario encontrar los extremos en los gráficos para su posterior procesamiento e interpretación. Los instrumentos existentes no siempre dan la posibilidad de hacer esto. Los algoritmos presentados en el artículo permiten encontrar todos los extremos en los gráficos. Los instrumentos desarrollados son igualmente efectivos tanto para trabajar en el mercado de tendencia, como para el movimiento lateral. Los datos obtenidos dependen en poca medida del marco temporal elegido, y se definen solo por la escala establecida.