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
Gap - ¿una estrategia rentable o 50/50?
Gap - ¿una estrategia rentable o 50/50?

Gap - ¿una estrategia rentable o 50/50?

La investigación de la aparición de gaps se relaciona con la situación en la que se da una diferencia sustancial entre el precio de cierre del marco temporal anterior y el precio de apertura del siguiente, así como en la dirección en la que irá la barra diaria. Uso de la función DLL GetOpenFileName de sistema.
Optimización automática de EAs en MetaTrader 5
Optimización automática de EAs en MetaTrader 5

Optimización automática de EAs en MetaTrader 5

En este artículo se describe el mecanismo de auto-optimización de un experto que funcione en MetaTrader 5.
Métodos de control remoto de EAs
Métodos de control remoto de EAs

Métodos de control remoto de EAs

La principal ventaja de los robots comerciales es su funcionamiento ininterrumpido las 24 horas del día en un servidor VPS remoto. Pero a veces es necesario intervenir en su funcionamiento manualmente, y ahora no disponemos de acceso directo al servidor. ¿Podemos gestionar de forma remota el funcionamiento del asesor? En este artículo se presenta una de las variantes de control de robots a través de comandos externos.
Implementación de Take Profit en forma de órdenes limitadas sin cambiar el código fuente del EA
Implementación de Take Profit en forma de órdenes limitadas sin cambiar el código fuente del EA

Implementación de Take Profit en forma de órdenes limitadas sin cambiar el código fuente del EA

Desde hace mucho en el foro se discute la cuestión del uso de órdenes limitadas en vez de colocar el Take Profit estándar para la posición. ¿En qué consiste la ventaja de este enfoque y cómo se puede implementarlo en la negociación? En este artículo me gustaría proponerles mi propia visión de las respuestas a estas preguntas.
Reversión: ¿es el Santo Grial o una peligrosa equivocación?
Reversión: ¿es el Santo Grial o una peligrosa equivocación?

Reversión: ¿es el Santo Grial o una peligrosa equivocación?

En el presente artículo intentaremos aclarar lo siguiente: ¿qué es una reversión, si merece la pena usarla y si podemos mejorar nuestra estrategia comercial a través de ella? Vamos a crear un Asesor Experto, y veremos en los datos históricos qué indicadores convienen mejor para la reversión, además, si podemos usarla sin indicadores como un sistema comercial independiente. Veremos si es posible convertir un sistema comercial no rentable en un sistema rentable a través de la reversión.
Recetas MQL5 – Obteniendo las propiedades de una posición de cobertura abierta
Recetas MQL5 – Obteniendo las propiedades de una posición de cobertura abierta

Recetas MQL5 – Obteniendo las propiedades de una posición de cobertura abierta

La plataforma MetaTrader 5 no es solo una plataforma multimercado, sino que también permite usar diferentes sistemas de registro de posiciones. Estas posibilidades amplian considerablemente el instrumental para la implementación y formalización de las ideas comerciales. En el artículo, vamos a hablar sobre cómo procesar y considerar las propiedades de las posiciones al llevar su registro de forma independiente ("cobertura"). Así, en el artículo proponemos una clase derivada, mostrando a continuación ejemplos de procesamiento y obtención de las propiedades de la posición de cobertura.
Modelo de continuación de movimiento - búsqueda en el gráfico y estadísticas de ejecución
Modelo de continuación de movimiento - búsqueda en el gráfico y estadísticas de ejecución

Modelo de continuación de movimiento - búsqueda en el gráfico y estadísticas de ejecución

En este artículo vamos a describir la definición programática de uno de los modelos de continuación del movimiento. La base del trabajo viene constituida por dos ondas: la principal y la de corrección. Como extremos se usarán fractales, además de los llamados fractales potenciales, los extremos que no se han formado aún como fractales.
Usando indicadores para la optimización RealTime de EAs
Usando indicadores para la optimización RealTime de EAs

Usando indicadores para la optimización RealTime de EAs

No es ningún secreto que el éxito del funcionamiento de cualquier robot comercial depende de la correcta elección de sus parámetros (su optimización). Pero los parámetros óptimos para un intervalo temporal no siempre resultan los mejores en otro intervalo de la historia. Con frecuencia, asesores que son rentables en la simulación, dan pérdidas en tiempo real. Aquí nos surje la pregunta concerniente a la necesidad de optimizar continuamente. Allá donde aparece mucho trabajo rutinario, el hombre busca la forma de automatizarlo. En este artículo proponemos nuestro enfoque particular para solucionar esta tarea.
Rayos Elder (Bulls Power y Bears Power)
Rayos Elder (Bulls Power y Bears Power)

Rayos Elder (Bulls Power y Bears Power)

Sistema comercial Rayos Elder basado en los indicadores Bulls Power, Bears Power y Moving Average (EMA — promediación exponencial). Este sistema fue descrito por Alexander Elder en su libro "Vivir del Trading" (Trading for a living).
Combinando una estrategia de tendencia y una de flat
Combinando una estrategia de tendencia y una de flat

Combinando una estrategia de tendencia y una de flat

Existen diferenets estrategias comerciales. Unas buscan la dirección del movimiento y comercian según la tendencia. Otras definen los intervalos de las oscilaciones de precio y comercian dentro de estos corredores. Así que nos surge la pregunta, ¿podemos combinar los dos enfoques para aumentar la rentabilidad de nuestro comercio?
Modelando series temporales con ayuda de símbolos personalizados según las leyes de distribución establecidas
Modelando series temporales con ayuda de símbolos personalizados según las leyes de distribución establecidas

Modelando series temporales con ayuda de símbolos personalizados según las leyes de distribución establecidas

En el artículo se presenta una panorámica de las posibilidades del terminal a la hora de crear y trabajar con símbolos personalizados, ofreciendo diversas opciones de modelado de la historia comercial con la ayuda de símbolos personalizados, de tendencia y diferentes patrones gráficos.
Gráfico PairPlot basado en CGraphic para analizar correlaciones entre los arrays de datos (series temporales)
Gráfico PairPlot basado en CGraphic para analizar correlaciones entre los arrays de datos (series temporales)

Gráfico PairPlot basado en CGraphic para analizar correlaciones entre los arrays de datos (series temporales)

En el proceso del análisis técnico, a menudo a los traders se les plantea la tarea de comparar varias series temporales. La realización de este análisis requiere las herramientas correspondientes. En este artículo, yo propongo desarrollar una herramienta para el análisis gráfico y la búsqueda de las correlaciones entre dos y más series temporales.
Desarrollo de indicadores bursátiles con control de volumen tomando como ejemplo el indicador delta
Desarrollo de indicadores bursátiles con control de volumen tomando como ejemplo el indicador delta

Desarrollo de indicadores bursátiles con control de volumen tomando como ejemplo el indicador delta

En el artículo se analiza el algoritmo de construcción de indcadores sobre volúmenes reales usando las funciones CopyTicks() y CopyTicksRange(). Asimismo, se muestran las peculiaridades de la construcción de estos indicadores y se describe su funcionamiento en tiempo real y en el simulador de estrategias.
Integración de un experto en MQL y bases de datos (SQL Server, .NET y C#)
Integración de un experto en MQL y bases de datos (SQL Server, .NET y C#)

Integración de un experto en MQL y bases de datos (SQL Server, .NET y C#)

El artículo describe cómo añadir a los expertos en MQL5 la posibilidad de trabajar con el servidor de bases de datos Microsoft SQL Server. Usaremos la importación de funciones de DLL. Para crear la DLL, se utilizará la plataforma Microsoft .NET y el lenguaje C#. Los métodos utilizados en el artículo, aunque con algunos cambios poco significativos, funcionan también para los expertos escritos en MQL4.
Indicador universal RSI para operar simultáneamente en dos direcciones
Indicador universal RSI para operar simultáneamente en dos direcciones

Indicador universal RSI para operar simultáneamente en dos direcciones

Al desarrollar algoritmos comerciales topamos con frecuencia con un problema: ¿cómo determinar dónde comienza y dónde termina la tendencia/flat? En este artículo, vamos a intentar crear un indicador universal en el que conjugaremos señales para distintos tipos de estrategia. También intentaremos simplificar la obtención de señales para las transacciones comerciales en el experto. Asimismo, mostraremos un ejemplo de combinación de varios indicadores diferentes en uno.
Neuroredes profundas (Parte VIII). Aumentando la calidad de la clasificación de los conjuntos bagging
Neuroredes profundas (Parte VIII). Aumentando la calidad de la clasificación de los conjuntos bagging

Neuroredes profundas (Parte VIII). Aumentando la calidad de la clasificación de los conjuntos bagging

En el artículo se analizan tres métodos con cuya ayuda podemos aumentar la calidad de clasificación de los conjuntos bagging y valorar su efectividad. Se ha evaluado cómo influye la optimización de los hiperparámetros de las redes neuronales ELM y los parámetros de post-procesado en la calidad de clasificación del conjunto.
50 000 trabajos ejecutados en la bolsa Freelance de MQL5.com
50 000 trabajos ejecutados en la bolsa Freelance de MQL5.com

50 000 trabajos ejecutados en la bolsa Freelance de MQL5.com

Hasta el mes de octubre de 2018, los participantes del servicio Freelance oficial para las plataformas MetaTrader han ejecutado más de 50 000 encargos. Se trata de la bolsa más grande del mundo de trabajo a distancia para programadores de MQL: más de mil desarrolladores, decenas de nuevos encargos diarios por parte de tráders y localización en 7 idiomas.
Representación personalizada de la historia comercial y creación de gráficos para los informes
Representación personalizada de la historia comercial y creación de gráficos para los informes

Representación personalizada de la historia comercial y creación de gráficos para los informes

En el artículo se describen varios métodos personalizados de valoración de la historia comercial. Para ello, se describen dos clases para su descarga y análisis. La primera reúne la historia comercial en un breve recuadro. El segundo se ha pensado para los cálculos estadísticos: calcula una serie de índices y construye los gráficos con cuya ayuda se valora el rendimiento de las transacciones de forma más cómoda.
950 sitios web transmiten el calendario económico de MetaQuotes
950 sitios web transmiten el calendario económico de MetaQuotes

950 sitios web transmiten el calendario económico de MetaQuotes

La adición del widget proporciona a los sitios web un horario de publicación detallado de 500 índices e indicadores de las mayores economías mundiales. De esta forma, los tráders, aparte del contenido principal del sitio web, reciben de manera operativa información actual sobre todos los eventos importantes, complementada con explicaciones y gráficos.
Análisis comparativo de 10 estrategias de flat
Análisis comparativo de 10 estrategias de flat

Análisis comparativo de 10 estrategias de flat

En el artículo se analizan las ventajas y desventajas del comercio con flat (mercado plano). Asimismo, se han creado y probado 10 estrategias basadas en el monitoreo del movimiento del precio dentro del canal. Cada estrategia está provista de un mecanismo de filtrado, para descartar las señales falsas de entrada en el mercado.
Experto comercial con interfaz gráfica: Llenando la funcionalidad (Parte II)
Experto comercial con interfaz gráfica: Llenando la funcionalidad (Parte II)

Experto comercial con interfaz gráfica: Llenando la funcionalidad (Parte II)

Tiene ante usted la segunda parte del artículo sobre la creación de un experto de señal multisímbolo para el comercio manual. Ya hemos creado la interfaz gráfica. En esta parte del artículo hablaremos sobre cómo conectar dicha interfaz con la funcionalidad del programa necesario.
14 000 robots comerciales en MetaTrader Market
14 000 robots comerciales en MetaTrader Market

14 000 robots comerciales en MetaTrader Market

En la mayor tienda de aplicaciones comerciales ya tiene a su disposición 13 970 productos. Entre ellos, encontrará 4 800 robots, 6 500 indicadores, 2 400 utilidades y otras soluciones. En este caso, además, la mitad de las aplicaciones (6 000) se pueden alquilar. Una cuarta parte del total de los productos (3 800) es de acceso gratuito.
Monitoreo de la cuenta comercial: una herramienta imprescindible para el tráder
Monitoreo de la cuenta comercial: una herramienta imprescindible para el tráder

Monitoreo de la cuenta comercial: una herramienta imprescindible para el tráder

El monitoreo de la cuenta comercial es un informe detallado de todas las transacciones realizadas.
Experto comercial con interfaz gráfica: Creación del panel (Parte I)
Experto comercial con interfaz gráfica: Creación del panel (Parte I)

Experto comercial con interfaz gráfica: Creación del panel (Parte I)

A pesar de que muchos tráders hasta ahora prefieren el comercio manual, resultará difícil evitar la automatización de operaciones rutinarias en nuestro caso. En el artículo se muestra la creación de un experto de señal multisímbolo para el comercio manual.
Neuroredes profundas (Parte VII). Conjunto de neuroredes: stacking
Neuroredes profundas (Parte VII). Conjunto de neuroredes: stacking

Neuroredes profundas (Parte VII). Conjunto de neuroredes: stacking

Continuamos construyendo conjuntos. Ahora vamos a añadir al conjunto bagging creado anteriormente un combinador entrenable: una red neuronal profunda. Una red neuronal combina las mejores 7 salidas del conjunto después de la poda. La segunda recibe en la entrada las 500 salidas del conjunto, las poda y las combina. Construiremos las redes neuronales con la ayuda del paquete keras/TensorFlow de Python. Veremos brevemente las posibilidades del paquete. Y finalmente, realizaremos la simulación y compararemos la calidad de la clasificación de los conjuntos bagging y stacking.
Cómo crear una Tarea Técnica al encargar un robot
Cómo crear una Tarea Técnica al encargar un robot

Cómo crear una Tarea Técnica al encargar un robot

¿Ha desarrollado usted una estrategia comercial y negocia con ella? Si las normas de su sistema se pueden componer bien en un algoritmo programático, entonces será mejor que un robot comercie por usted. Un robot no duerme, no come y no es vulnerable a las debilidades humanas. En este artículo le mostraremos cómo crear una Tarea Técnica al encargar un robot comercial en Freelance.
Constructor gráfico de estrategias. Creando robots comerciales sin programación
Constructor gráfico de estrategias. Creando robots comerciales sin programación

Constructor gráfico de estrategias. Creando robots comerciales sin programación

En este artículo se describe el constructor gráfico de estrategias. Se muestra como cualquier usuario puede crear los robots comerciales y las utilidades sin aplicar las técnicas de programación. Se puede simular los Asesores Expertos creados en el Probador de Estrategias, optimizarlos en la nube e iniciarlos en el gráfico en tiempo real.
Trading social. ¿Es posible mejorar una señal rentable?
Trading social. ¿Es posible mejorar una señal rentable?

Trading social. ¿Es posible mejorar una señal rentable?

La mayoría de los suscriptores eligen una señal comercial por la belleza de su curva de balance o según el número de suscriptores. Por eso, muchos proveedores de hoy se preocupan de que sus estadísticas sean bonitas, en lugar de prestar atención a la calidad real de la señal. A menudo juegan con los volúmenes de las transacciones y confieren artificialmente a la curva de balance un aspecto ideal. En este artículo vamos a analizar los criterios de fiabilidad de las señales, así como los métodos que ayudan al proveedor a mejorar la calidad de las mismas. Además, mostraremos el análisis de una señal en concreto, junto con los métodos que podrían ayudar al proveedor a hacerla más rentable y con menos riesgos.
Cómo analizar las transacciones de la Señal elegida en el gráfico
Cómo analizar las transacciones de la Señal elegida en el gráfico

Cómo analizar las transacciones de la Señal elegida en el gráfico

El servicio de señales comerciales se desarrolla a pasos agigantados. A la hora de confiar nuestro dinero a un proveedor de señales, querríamos minimizar el riesgo de pérdida del depósito. Pero, ¿cómo aclararse entre semejante cantidad de señales? ¿Cómo encontrar precisamente aquella que nos reportará beneficios? En este artículo vamos a crear un método para analizar visualmente la historia de transacciones de las señales comrciales en el gráfico del instrumento.
Cómo transferir los cálculos de cualquier indicador al código de un asesor experto
Cómo transferir los cálculos de cualquier indicador al código de un asesor experto

Cómo transferir los cálculos de cualquier indicador al código de un asesor experto

Las razones para transferir el código de un indicador a un asesor pueden ser muchas. ¿Cómo valorar las ventajas y desventajas de este enfoque? En este artículo ofrecemos una tecnología para transferir el código del indicador a un asesor. Asimismo, se han realizado varios experimentos para evaluar la velocidad de funcionamiento del asesor.
Mejorando el trabajo con Paneles: cómo añadir transparencia, cambiar el color del fondo y heredar a partir de CAppDialog/CWndClient
Mejorando el trabajo con Paneles: cómo añadir transparencia, cambiar el color del fondo y heredar a partir de CAppDialog/CWndClient

Mejorando el trabajo con Paneles: cómo añadir transparencia, cambiar el color del fondo y heredar a partir de CAppDialog/CWndClient

Vamos a continuar estudiando el funcionamiento de CAppDialog. Ahora vamos a aprender cómo establecer el color de fondo, el borde y el encabezado para un panel gráfico. Veremos paso a paso cómo agregar transparencia a la ventana de la aplicación al desplazar esta por el gráfico. A continuación, analizaremos la creación de descendientes de CAppDialog o CWndClient y veremos nuevos detalles importantes al trabajar con los controles. Finalmente, echaremos un vistazo desde una nueva perspectiva a nuevos proyectos.
Neuroredes profundas (Parte VI). Conjunto de clasificadores de redes neuronales: bagging
Neuroredes profundas (Parte VI). Conjunto de clasificadores de redes neuronales: bagging

Neuroredes profundas (Parte VI). Conjunto de clasificadores de redes neuronales: bagging

Vamos a ver los métodos de construcción y entrenamiento de conjuntos de redes neuronales con la estructura bagging. También vamos a definir las peculiaridades de la optimización de los hiperparámetros de los clasificadores de redes neuronales individuales que componen el conjunto. Asimismo, compararemos la calidad de la red neuronal optimizada obtenida en el artículo anterior de la serie, y el conjunto creado de redes neuronales. Para finalizar, analizaremos las diferentes opciones para mejorar aún más la calidad de clasificación del conjunto.
Simulación de patrones de parejas de divisas: Uso y perspectivas para el trading real. Parte IV
Simulación de patrones de parejas de divisas: Uso y perspectivas para el trading real. Parte IV

Simulación de patrones de parejas de divisas: Uso y perspectivas para el trading real. Parte IV

Con este artículo terminamos la serie sobre el trading con las cestas de parejas de divisas. En este artículo, vamos a simular el último patrón y discutir sobre el uso de la metodología completa en el trading real. Han sido consideradas la entrada y la salida del mercado, la búsqueda y el análisis de los patrones, y la aplicación de los indicadores combinados.
preview
Cómo crear un panel gráfico de cualquier nivel de complejidad

Cómo crear un panel gráfico de cualquier nivel de complejidad

En el artículo se analiza con detalle cómo crear un panel basado en la clase CAppDialog y cómo añadir al mismo los elementos de control. Asimismo, se describe la estructura del panel y el esquema de herencia de los objetos en este. Se muestra qué es necesario para procesar eventos y cómo estos se distribuyen a los elementos de control subordinados. Se dan ejemplos de cambio de los siguientes parámetros del panel: el tamaño y el color del fondo.
Construimos el indicador Zigzag usando osciladores. Ejemplo de ejecución de la tarea técnica
Construimos el indicador Zigzag usando osciladores. Ejemplo de ejecución de la tarea técnica

Construimos el indicador Zigzag usando osciladores. Ejemplo de ejecución de la tarea técnica

En este artículo, se demuestra el desarrollo del indicador ZigZag de acuerdo con uno de los ejemplos de la tareas descrito en el artículo «Cómo crear una Tarea Técnica al encargar un indicador». El indicador se construye por los extremos que se definen a través del oscilador. En el indicador está prevista la posibilidad de usar uno de cinco osciladores a elegir: WPR, CCI, Chaikin, RSI, Stochastic Oscillator.
Aplicando el método de Monte Carlo para optimizar estrategias comerciales
Aplicando el método de Monte Carlo para optimizar estrategias comerciales

Aplicando el método de Monte Carlo para optimizar estrategias comerciales

Antes de iniciar un robot en la cuenta comercial, habitualmente lo probamos y optimizamos usando el historial de las cotizaciones. Pues, aquí surge una pregunta razonable, ¿cómo nos pueden ayudar los resultados anteriores en el historial en el futuro? En este artículo, se muestra la aplicación del método de Monte Carlo para construir sus propios criterios de optimización de las estrategias comerciales. Aparte de eso, se consideran los criterios de la estabilidad del Asesor Experto.
Visualización de los resultados de la optimización según el criterio seleccionado
Visualización de los resultados de la optimización según el criterio seleccionado

Visualización de los resultados de la optimización según el criterio seleccionado

En este artículo, vamos a continuar el desarrollo de la aplicación MQL para el trabajo con los resultados de la optimización empezado en los artículos anteriores. Esta vez, mostraremos cómo se puede formar la tabla de los mejores resultados después de optimizar los parámetros indicando otro criterio a través de la interfaz gráfica.
Random Decision Forest en el aprendizaje reforzado
Random Decision Forest en el aprendizaje reforzado

Random Decision Forest en el aprendizaje reforzado

Random Forest (RF) (en castellano, Bosques Aleatorios) con aplicación del bagging es uno de los métodos del aprendizaje automático más fuerte, que cede un poco ante el boosting del gradiente (Potenciación del gradiente). En este artículo, se realiza el intento de desarrollar un sistema comercial autoenseñable, que toma decisiones a base de la experiencia adquirida de la interacción con el mercado.
Trabajando con los resultados de la optimización mediante la interfaz gráfica
Trabajando con los resultados de la optimización mediante la interfaz gráfica

Trabajando con los resultados de la optimización mediante la interfaz gráfica

Continuamos desarrollar el tema del procesamiento y el análisis de los resultados de la optimización. Ahora nuestra tarea consiste en seleccionar 100 mejores resultados de la optimización y mostrarlos en la tabla de la interfaz gráfica. Hagamos que el usuario obtenga el gráfico del balance de multisímbolos y de la reducción (drawdown) en gráficos separados seleccionando una fila de la tabla de los resultados de la optimización.
Sincronización de varios gráficos del mismo símbolo en timeframes diferentes
Sincronización de varios gráficos del mismo símbolo en timeframes diferentes

Sincronización de varios gráficos del mismo símbolo en timeframes diferentes

Para tomar decisiones sobre la realización de las transacciones, a menudo es necesario analizar simultáneamente los gráficos en el proceso del trading. Además, los gráficos disponen de los objetos del análisis gráfico. Es bastante incómodo colocar los mismos objetos en todos los gráficos. En este artículo, yo propongo automatizar la clonación de los objetos en los gráficos.