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
Redes neuronales: así de sencillo (Parte 84): Normalización reversible (RevIN)

Redes neuronales: así de sencillo (Parte 84): Normalización reversible (RevIN)

Hace tiempo que sabemos que el preprocesamiento de los datos de origen desempeña un papel fundamental en la estabilidad del entrenamiento de los modelos. Y para el procesamiento en línea de datos de origen "brutos" solemos utilizar una capa de normalización por lotes. Pero a veces tenemos que invertir el procedimiento. En este artículo analizaremos un posible enfoque para resolver este tipo de problemas.
preview
Teoría de categorías en MQL5 (Parte 8): Monoides

Teoría de categorías en MQL5 (Parte 8): Monoides

El presente artículo continúa la serie sobre la implementación de la teoría de categorías en MQL5. Aquí presentamos los monoides como un dominio (conjunto) que distingue la teoría de categorías de otros métodos de clasificación de datos al incluir reglas y un elemento de identidad.
preview
Aprendiendo a diseñar un sistema de trading con Bears Power Index

Aprendiendo a diseñar un sistema de trading con Bears Power Index

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 Bears Power Index y crearemos un sistema comercial basado en sus indicadores.
preview
DoEasy. Elementos de control (Parte 27): Seguimos trabajando en el objeto WinForms "ProgressBar"

DoEasy. Elementos de control (Parte 27): Seguimos trabajando en el objeto WinForms "ProgressBar"

En este artículo, continuaremos desarrollando el control ProgressBar. Vamos a crear la funcionalidad necesaria para gestionar la barra de progreso y los efectos visuales.
preview
Obtenga una ventaja sobre cualquier mercado

Obtenga una ventaja sobre cualquier mercado

Aprenda cómo puede adelantarse a cualquier mercado en el que desee operar, independientemente de su nivel actual de habilidad.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 44): Las clases de colección de los objetos de búferes de indicador
Trabajando con las series temporales en la biblioteca DoEasy (Parte 44): Las clases de colección de los objetos de búferes de indicador

Trabajando con las series temporales en la biblioteca DoEasy (Parte 44): Las clases de colección de los objetos de búferes de indicador

En el artículo, analizaremos la creación de la clase de colección de los objetos de búferes de indicador y pondremos a prueba la posibilidad de crear cualquier número de búferes para los programas-indicadores, así como la posibilidad de trabajar con estos (el número máximo de búferes que se pueden crear en los indicadores MQL es de 512).
Gráficos en la biblioteca DoEasy (Parte 76): Objeto de formulario y temas de color predeterminados
Gráficos en la biblioteca DoEasy (Parte 76): Objeto de formulario y temas de color predeterminados

Gráficos en la biblioteca DoEasy (Parte 76): Objeto de formulario y temas de color predeterminados

En este artículo, describiremos la construcción de diferentes temas de diseño de la GUI en la biblioteca. Asimismo, crearemos el objeto "formulario", que es sucesor del objeto de clase del elemento gráfico, y también prepararemos los datos para crear las sombras de los objetos gráficos de la biblioteca y desarrollar posteriormente la funcionalidad.
Gráficos en la biblioteca DoEasy (Parte 96): Trabajando con los eventos del ratón y los gráficos en los objetos de formulario
Gráficos en la biblioteca DoEasy (Parte 96): Trabajando con los eventos del ratón y los gráficos en los objetos de formulario

Gráficos en la biblioteca DoEasy (Parte 96): Trabajando con los eventos del ratón y los gráficos en los objetos de formulario

En este artículo, comenzaremos a desarrollar las funciones necesarias para trabajar con los eventos del ratón en los objetos de formulario y añadiremos nuevas propiedades y la monitorización de las mismas al objeto de símbolo. Además, hoy finalizaremos la clase de objeto símbolo, ya que, desde el momento en que la escribimos, los símbolos gráficos han adquirido nuevas propiedades que debemos considerar, y cuyos cambios tenemos que monitorear.
preview
Redes neuronales: así de sencillo (Parte 18): Reglas asociativas

Redes neuronales: así de sencillo (Parte 18): Reglas asociativas

Como continuación de esta serie, hoy presentamos otro tipo de tarea relacionada con los métodos de aprendizaje no supervisado: la búsqueda de reglas asociativas. Este tipo de tarea se usó por primera vez en el comercio minorista para analizar las cestas de la compra. En este artículo, hablaremos de las posibilidades que ofrece el uso de dichos algoritmos en el trading.
Gráficos en la biblioteca DoEasy (Parte 85): Colección de objetos gráficos - añadiendo los objetos nuevamente creados
Gráficos en la biblioteca DoEasy (Parte 85): Colección de objetos gráficos - añadiendo los objetos nuevamente creados

Gráficos en la biblioteca DoEasy (Parte 85): Colección de objetos gráficos - añadiendo los objetos nuevamente creados

En este artículo, finalizaremos la creación de las clases herederas de la clase de objeto gráfico abstracto y comenzaremos a implementar el almacenamiento de estos objetos en la clase de colección. En concreto, crearemos la funcionalidad necesaria para añadir los objetos gráficos estándar recién creados a la clase de colección.
preview
Desarrollando un EA comercial desde cero (Parte 09): Un salto conceptual (II)

Desarrollando un EA comercial desde cero (Parte 09): Un salto conceptual (II)

Colocación del Chart Trade en una ventana flotante. En el artículo anterior creamos el sistema base para utilizar templates dentro de una ventana flotante.
Gráficos en la biblioteca DoEasy (Parte 88): Colección de objetos gráficos - matriz dinámica bidimensional para almacenar propiedades de objetos que cambian dinámicamente
Gráficos en la biblioteca DoEasy (Parte 88): Colección de objetos gráficos - matriz dinámica bidimensional para almacenar propiedades de objetos que cambian dinámicamente

Gráficos en la biblioteca DoEasy (Parte 88): Colección de objetos gráficos - matriz dinámica bidimensional para almacenar propiedades de objetos que cambian dinámicamente

En este artículo, crearemos una clase de matriz multidimensional dinámica con capacidad de cambiar la cantidad de datos en cualquier dimensión. Basándonos en la clase creada, crearemos una matriz dinámica bidimensional para guardar algunas propiedades de objetos gráficos que cambian dinámicamente.
Indicador CCI. Tres pasos para la transformación
Indicador CCI. Tres pasos para la transformación

Indicador CCI. Tres pasos para la transformación

En este artículo, intentaremos realizar cambios adicionales en el indicador CCI. Estos cambios afectarán a la propia lógica del indicador, hasta el punto de que podremos ver este indicador en la ventana del gráfico principal.
preview
Algoritmos de optimización de la población: Algoritmo de gotas de agua inteligentes (Intelligent Water Drops, IWD)

Algoritmos de optimización de la población: Algoritmo de gotas de agua inteligentes (Intelligent Water Drops, IWD)

El artículo analiza un interesante algoritmo, las gotas de agua inteligentes, IWD, presente en la naturaleza inanimada, que simula el proceso de formación del cauce de un río. Las ideas de este algoritmo han permitido mejorar significativamente el anterior líder de la clasificación, el SDS, y el nuevo líder (SDSm modificado); como de costumbre, se puede encontrar en el archivo del artículo.
preview
Creación de un modelo de restricción de tendencia de velas (Parte 8): Desarrollo de un asesor experto (II)

Creación de un modelo de restricción de tendencia de velas (Parte 8): Desarrollo de un asesor experto (II)

Piense en un asesor experto independiente. Anteriormente, analizamos un Asesor Experto basado en indicadores que también se asoció con un script independiente para dibujar la geometría de riesgo y recompensa. Hoy discutiremos la arquitectura de un Asesor Experto MQL5, que integra todas las características en un solo programa.
Encuesta: Lo que opinan los traders del Terminal móvil
Encuesta: Lo que opinan los traders del Terminal móvil

Encuesta: Lo que opinan los traders del Terminal móvil

Desafortunadamente, todavía no hay previsiones claras acerca del futuro del trading móvil. Sin embargo, hay muchos rumores entorno a esta cuestión. En nuestro intento de disipar las dudas, hemos decidido realizar una encuesta entre los traders para averiguar sus opiniones acerca de los terminales móviles. Por medio de esta encuesta, hemos conseguido establecer una imagen clara de lo que piensan nuestros traders del producto en este momento, así como sus propuestas y expectativas para los futuros desarrollos de nuestros terminales móviles.
preview
Cómo construir un EA que opere automáticamente (Parte 13): Automatización (V)

Cómo construir un EA que opere automáticamente (Parte 13): Automatización (V)

¿Sabes lo que es un diagrama de flujo? ¿Sabes cómo utilizarlo? ¿Cree que los diagramas de flujo son sólo cosas de aprendiz de programador? Pues echa un vistazo a este artículo y aprende a trabajar con diagramas de flujo.
preview
Tablero de cotizaciones: Versión básica

Tablero de cotizaciones: Versión básica

Aquí te mostraré cómo crear esas pantallas en forma de banda, normalmente usadas para mostrar cotizaciones como en la bolsa, pero pura y simplemente usando MQL5, sin recurrir a programación externa complicada e innecesariamente sofisticada.
preview
Creación de un Panel de administración de operaciones en MQL5 (Parte I): Creación de una interfaz de mensajería

Creación de un Panel de administración de operaciones en MQL5 (Parte I): Creación de una interfaz de mensajería

Este artículo analiza la creación de una interfaz de mensajería para MetaTrader 5, dirigida a los administradores de sistemas, para facilitar la comunicación con otros traders directamente dentro de la plataforma. Las integraciones recientes de plataformas sociales con MQL5 permiten una rápida transmisión de señales a través de diferentes canales. Imagina poder validar las señales enviadas con un solo clic: "SÍ" o "NO". Sigue leyendo para obtener más información.
Operaciones con grupos de archivos
Operaciones con grupos de archivos

Operaciones con grupos de archivos

Algunas veces es necesario realizar las mismas operaciones con un grupo de archivos. Si tenemos una lista de archivos en un grupo, esto no es un problema. Sin embargo, si necesitamos hacer esta lista nosotros mismos, surge la pregunta: "¿Cómo podemos hacerlo?" El artículo propone hacerlo mediante las funciones FindFirstFile() y FindNextFile() incluidas en kernel32.dll.
preview
Aprendiendo a diseñar un sistema comercial con Gator Oscillator

Aprendiendo a diseñar un sistema comercial con Gator Oscillator

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 indicador Gator Oscillator y crearemos un sistema comercial utilizando estrategias simples.
preview
Introducción a MQL5 (Parte 3): Estudiamos los elementos básicos de MQL5

Introducción a MQL5 (Parte 3): Estudiamos los elementos básicos de MQL5

En este artículo, seguiremos estudiando los fundamentos de la programación MQL5. Hoy veremos los arrays, las funciones definidas por el usuario, los preprocesadores y el procesamiento de eventos. Para una mayor claridad, todos los pasos de cada explicación irán acompañado de un código. Esta serie de artículos sienta las bases para el aprendizaje de MQL5, prestando especial atención a la explicación de cada línea de código.
preview
Experimentos con redes neuronales (Parte 6): El perceptrón como herramienta autosuficiente de predicción de precios

Experimentos con redes neuronales (Parte 6): El perceptrón como herramienta autosuficiente de predicción de precios

Ejemplo de utilización de un perceptrón como herramienta autónoma de predicción de precios. En el artículo exploraremos los conceptos generales y veremos un sencillo asesor experto ya preparado, así como los resultados de su optimización.
preview
Algoritmos de optimización de la población: Algoritmo genético binario (Binary Genetic Algorithm, BGA). Parte II

Algoritmos de optimización de la población: Algoritmo genético binario (Binary Genetic Algorithm, BGA). Parte II

En este artículo, analizaremos el algoritmo genético binario (BGA), que modela los procesos naturales que ocurren en el material genético de los seres vivos en la naturaleza.
preview
Métodos de William Gann (Parte I): Creación del indicador de ángulos de Gann

Métodos de William Gann (Parte I): Creación del indicador de ángulos de Gann

¿Cuál es la esencia de la teoría de Gann? ¿Cómo se construyen los ángulos de Gann? Crearemos un indicador de ángulos de Gann para MetaTrader 5.
Gráficos en la biblioteca DoEasy (Parte 94): Objetos gráficos compuestos, desplazamiento y eliminación
Gráficos en la biblioteca DoEasy (Parte 94): Objetos gráficos compuestos, desplazamiento y eliminación

Gráficos en la biblioteca DoEasy (Parte 94): Objetos gráficos compuestos, desplazamiento y eliminación

En este artículo, comenzaremos a desarrollar varios eventos de los objetos gráficos compuestos. Vamos a analizar parcialmente el desplazamiento y la eliminación de los objetos gráficos compuestos. En general, hoy vamos a mejorar lo que ya creamos en el último artículo.
preview
Cómo conectar MetaTrader 5 a PostgreSQL

Cómo conectar MetaTrader 5 a PostgreSQL

Este artículo describiremos cuatro métodos para conectar el código MQL5 a una base de datos de Postgres y ofreceremos una guía paso a paso para configurar un entorno de desarrollo para uno de ellos, la API REST, utilizando el Subsistema de Windows para Linux (WSL). Asimismo, mostraremos una aplicación demostrativa de la API con el código MQL5 correspondiente para insertar datos y consultas a las tablas correspondientes, así como un asesor demo para usar estos datos.
preview
Aprendizaje automático y Data Science (Parte 13): Analizamos el mercado financiero usando el análisis de componentes principales (ACP)

Aprendizaje automático y Data Science (Parte 13): Analizamos el mercado financiero usando el análisis de componentes principales (ACP)

Hoy intentaremos mejorar cualitativamente el análisis de los mercados financieros utilizando el Análisis de Componentes Principales (ACP). Asimismo, aprenderemos cómo este método puede ayudarnos a identificar patrones ocultos en los datos, detectar tendencias ocultas del mercado y optimizar las estrategias de inversión. En este artículo veremos cómo el método de ACP aporta una nueva perspectiva al análisis de datos financieros complejos, ayudándonos a ver ideas que hemos pasado por alto con los enfoques tradicionales. ¿La aplicación del método ACP en estos mercados financieros ofrece una ventaja competitiva y ayuda a ir un paso por delante?
preview
Python, ONNX y MetaTrader 5: Creamos un modelo RandomForest con preprocesamiento de datos RobustScaler y PolynomialFeatures

Python, ONNX y MetaTrader 5: Creamos un modelo RandomForest con preprocesamiento de datos RobustScaler y PolynomialFeatures

En este artículo, crearemos un modelo de bosque aleatorio en Python, entrenaremos el modelo y lo guardaremos como un pipeline ONNX con preprocesamiento de datos. Además, usaremos el modelo en el terminal MetaTrader 5.
preview
Indicadores alternativos de riesgo y rentabilidad en MQL5

Indicadores alternativos de riesgo y rentabilidad en MQL5

En este artículo, presentaremos una aplicación de varias medidas de rentabilidad y riesgo consideradas alternativas al ratio de Sharpe e investigaremos diferentes curvas de capital hipotéticas para analizar sus características.
preview
Aprendizaje automático y Data Science (Parte 14): Aplicación de los mapas de Kohonen a los mercados

Aprendizaje automático y Data Science (Parte 14): Aplicación de los mapas de Kohonen a los mercados

¿Quiere encontrar un nuevo enfoque comercial que lo ayude a orientarse en mercados complejos y en cambio constante? Eche un vistazo a los mapas de Kohonen, una forma innovadora de redes neuronales artificiales que puede ayudarle a descubrir patrones y tendencias ocultos en los datos del mercado. En este artículo, veremos cómo funcionan los mapas de Kohonen y cómo usarlos para desarrollar estrategias comerciales efectivas. Creo que este nuevo enfoque resultará de interés tanto a los tráders experimentados como para los principiantes.
preview
Cómo implementar la optimización automática en los asesores expertos de MQL5

Cómo implementar la optimización automática en los asesores expertos de MQL5

Guía paso a paso para la optimización automática en MQL5 para Asesores Expertos. Cubriremos la lógica de optimización robusta, las mejores prácticas para la selección de parámetros y cómo reconstruir estrategias con pruebas retrospectivas. Además, se discutirán métodos de nivel superior, como la optimización del avance, para mejorar su enfoque comercial.
Gráficos en la biblioteca DoEasy (Parte 86): Colección de objetos gráficos - controlando la modificación de propiedades
Gráficos en la biblioteca DoEasy (Parte 86): Colección de objetos gráficos - controlando la modificación de propiedades

Gráficos en la biblioteca DoEasy (Parte 86): Colección de objetos gráficos - controlando la modificación de propiedades

En el presente artículo, analizaremos la modificación de los valores de las propiedades, así como la eliminación y el cambio de nombre de los objetos gráficos en la biblioteca.
preview
Desarrollo de un sistema de repetición (Parte 32): Sistema de órdenes (I)

Desarrollo de un sistema de repetición (Parte 32): Sistema de órdenes (I)

De todas las cosas desarrolladas hasta ahora, esta, como seguramente también notarás y con el tiempo estarás de acuerdo, es la más desafiante de todas. Lo que tenemos que hacer es algo simple: hacer que nuestro sistema simule lo que hace un servidor comercial en la práctica. Esto de tener que implementar una forma de simular exactamente lo que haría el servidor comercial parece simple. Al menos en palabras. Pero necesitamos hacer esto de manera que, para el usuario del sistema de repetición/simulación, todo suceda de la manera más invisible o transparente posible.
preview
Características del Wizard MQL5 que debe conocer (Parte 5): Cadenas de Markov

Características del Wizard MQL5 que debe conocer (Parte 5): Cadenas de Markov

Las cadenas de Markov son una poderosa herramienta matemática que se puede usar para modelar y predecir los datos de las series temporales en varios campos, incluido el financiero. En el modelado y la previsión de series temporales financieras, las cadenas de Markov se usan a menudo para modelar la evolución de los activos financieros a lo largo del tiempo, como los precios de las acciones o los tipos de cambio. Una de las principales ventajas de los modelos de cadenas de Markov es su simplicidad y sencillez de uso.
preview
Trading bursátil con cuadrícula usando un asesor con órdenes stop pendientes en la Bolsa de Moscú (MOEX)

Trading bursátil con cuadrícula usando un asesor con órdenes stop pendientes en la Bolsa de Moscú (MOEX)

Hoy utilizaremos un enfoque comercial de cuadrícula con órdenes stop pendientes en un asesor experto en el lenguaje de estrategias comerciales MQL5 para MetaTrader 5 en la Bolsa de Moscú (MOEX). Al comerciar en el mercado, una de las estrategias más simples consiste en colocar una cuadrícula de órdenes diseñada para "atrapar" el precio del mercado.
preview
Aprendizaje automático y ciencia de datos (Parte 15): SVM, una herramienta útil en el arsenal de los tráders

Aprendizaje automático y ciencia de datos (Parte 15): SVM, una herramienta útil en el arsenal de los tráders

En este artículo analizaremos el papel que desempeña el método de máquinas de vectores soporte (Support Vector Machines, SVM) en la configuración del futuro del comercio. El artículo puede considerarse una guía detallada sobre cómo utilizar SVM para mejorar las estrategias comerciales, optimizar la toma de decisiones y abrir nuevas oportunidades en los mercados financieros. Hoy nos sumergiremos en el mundo de la SVM a través de aplicaciones reales, instrucciones paso a paso y revisiones por pares. Quizá esta herramienta indispensable le ayude a entender las complejidades del comercio moderno. En cualquier caso, la SVM se convertirá en una herramienta muy útil en el arsenal de todo tráder.
preview
Algoritmos de optimización de la población: Algoritmo de salto de rana aleatorio (Shuffled Frog-Leaping, SFL)

Algoritmos de optimización de la población: Algoritmo de salto de rana aleatorio (Shuffled Frog-Leaping, SFL)

El artículo presenta una descripción detallada del algoritmo de salto de rana aleatorio (SFL) y sus capacidades para resolver problemas de optimización. El algoritmo SFL se inspira en el comportamiento de las ranas en su entorno natural y ofrece un enfoque innovador para la optimización de características. El algoritmo SFL supone una herramienta eficaz y flexible que puede gestionar una gran variedad de tipos de datos y alcanzar soluciones óptimas.
preview
Construya Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte II): Ajuste de redes neuronales profundas

Construya Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte II): Ajuste de redes neuronales profundas

Los modelos de aprendizaje automático vienen con varios parámetros ajustables. En esta serie de artículos, exploraremos cómo personalizar sus modelos de IA para que se adapten a su mercado específico utilizando la biblioteca SciPy.
preview
Elaboración de previsiones económicas: el potencial de Python

Elaboración de previsiones económicas: el potencial de Python

¿Cómo utilizar los datos económicos del Banco Mundial para crear previsiones? ¿Qué ocurre si se combinan modelos de IA y economía?