Artículos con ejemplos de programación en el lenguaje MQL5

icon

Le espera una gran variedad de diferentes artículos sobre la creación de indicadores y robots comerciales para la plataforma MetaTrader usando el lenguaje MQL5. Cada artículo va acompañado con los códigos fuente, Usted puede abrir e iniciarlos en el editor MetaEditor de una manera independiente.

Estos artículos serán útiles tanto para los principiantes en el trading automático, como para los operadores experimentados en la programación y el trading. Aquí encontrará no sólo los ejemplos, sino también las nuevas ideas.

Nuevo artículo
últimas | mejores
preview
Reimaginando las estrategias clásicas: El petróleo

Reimaginando las estrategias clásicas: El petróleo

En este artículo, revisamos una estrategia clásica de negociación de crudo con el objetivo de mejorarla aprovechando algoritmos de aprendizaje automático supervisado. Construiremos un modelo de mínimos cuadrados para predecir los futuros precios del crudo Brent basándonos en el diferencial entre los precios del crudo Brent y del crudo WTI. Nuestro objetivo es identificar un indicador adelantado de futuros cambios en los precios del Brent.
preview
Del básico al intermedio: Plantilla y Typename (IV)

Del básico al intermedio: Plantilla y Typename (IV)

En este artículo, veremos de forma muy didáctica cómo resolver el problema que se planteó al final del artículo anterior. Allí se intentaba crear una plantilla de tipo para poder crear una plantilla de una unión de datos.
preview
Algoritmo de agujero negro — Black Hole Algorithm (BHA)

Algoritmo de agujero negro — Black Hole Algorithm (BHA)

El algoritmo de agujero negro (BHA) utiliza los principios de la gravedad de los agujeros negros para optimizar las soluciones. En este artículo, analizaremos cómo el BHA atrae las mejores soluciones evitando los extremos locales, y por qué este algoritmo se ha convertido en una poderosa herramienta para resolver problemas complejos. Descubra cómo ideas sencillas pueden dar lugar a resultados impresionantes en el mundo de la optimización.
preview
Del básico al intermedio: Indicador (II)

Del básico al intermedio: Indicador (II)

En este artículo, veremos cómo implementar el cálculo de una media móvil y qué precauciones debemos tomar al realizar este cálculo. También hablaremos sobre la sobrecarga de la función OnCalculate para saber cuándo y cómo trabajar con un modelo u otro.
preview
Desarrollo de un sistema de repetición (Parte 47): Proyecto Chart Trade (VI)

Desarrollo de un sistema de repetición (Parte 47): Proyecto Chart Trade (VI)

En este artículo finalizaremos el indicador Chart Trade, haciéndolo funcional hasta el punto de poder usarlo junto con algún Expert Advisor. Entonces, en este artículo finalizaremos el indicador Chart Trade, haciéndolo funcional hasta el punto de poder usarlo junto con algún Expert Advisor. Esto nos permitirá acceder y trabajar con el indicador, como si estuviera realmente vinculado al Expert Advisor. Pero lo haremos de una manera mucho más interesante que en el pasado.
preview
Factorización de matriсes: un modelado más práctico

Factorización de matriсes: un modelado más práctico

Es muy probable que no te hayas dado cuenta de que el modelado de las matrices era un tanto extraño, ya que no se indicaban filas y columnas, solo columnas. Esto resulta muy raro al leer un código que realiza factorizaciones de matrices. Si esperabas ver las filas y columnas indicadas, podrías haberte sentido bastante confundido al intentar implementar la factorización. Además, esa forma de modelar las matrices no es, ni de cerca, la mejor manera. Esto se debe a que, cuando modelamos matrices de esa forma, nos enfrentamos a ciertas limitaciones que nos obligan a usar otras técnicas o funciones que no serían necesarias si el modelado se realiza de manera más adecuada.
preview
Algoritmos de optimización de la población: Resiliencia ante el estancamiento en los extremos locales (Parte I)

Algoritmos de optimización de la población: Resiliencia ante el estancamiento en los extremos locales (Parte I)

El presente artículo presenta un experimento único cuyo objetivo es investigar el comportamiento de los algoritmos de optimización basados en poblaciones en el contexto de su capacidad para abandonar eficientemente los mínimos locales cuando la diversidad en la población es baja y alcanzar los máximos globales. Los trabajos en este campo nos permitirán comprender mejor qué algoritmos específicos pueden continuar con éxito la búsqueda a partir de las coordenadas fijadas por el usuario como punto de partida, y qué factores influyen en su éxito en este proceso.
preview
Reimaginando las estrategias clásicas (Parte V): Análisis de múltiples símbolos en USDZAR

Reimaginando las estrategias clásicas (Parte V): Análisis de múltiples símbolos en USDZAR

En esta serie de artículos, revisamos las estrategias clásicas para ver si podemos mejorarlas utilizando la IA. En el artículo de hoy, examinaremos una estrategia popular de análisis de símbolos múltiples utilizando una cesta de valores correlacionados, nos centraremos en el exótico par de divisas USDZAR.
preview
Reimaginando las estrategias clásicas en MQL5 (Parte IX): Análisis de múltiples marcos temporales (II)

Reimaginando las estrategias clásicas en MQL5 (Parte IX): Análisis de múltiples marcos temporales (II)

En la discusión de hoy, examinamos la estrategia de análisis de múltiples marcos temporales para aprender en qué marco temporal nuestro modelo de IA funciona mejor. Nuestro análisis nos lleva a concluir que los marcos temporales mensuales y horarios producen modelos con tasas de error relativamente bajas en el par EURUSD. Utilizamos esto para nuestro beneficio y creamos un algoritmo comercial que hace predicciones de IA en el marco de tiempo mensual y ejecuta sus operaciones en el marco de tiempo horario.
preview
Dominando los registros (Parte 1): Conceptos fundamentales y primeros pasos en MQL5

Dominando los registros (Parte 1): Conceptos fundamentales y primeros pasos en MQL5

¡Bienvenidos al comienzo de otro viaje! Este artículo abre una serie especial donde crearemos, paso a paso, una biblioteca para la manipulación de registros, diseñada para quienes desarrollan en el lenguaje MQL5.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 04): Haciendo ajustes (II)

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 04): Haciendo ajustes (II)

Vamos continuar con el desarrollo del sistema y el control. Sin una forma de controlar el servicio, se complica avanzar y mejorar el sistema.
preview
Desarrollo de un sistema de repetición (Parte 49): Esto complica las cosas (I)

Desarrollo de un sistema de repetición (Parte 49): Esto complica las cosas (I)

En este artículo complicaremos un poco las cosas. Utilizando lo que vimos en los artículos anteriores, comenzaremos a liberar el archivo de plantilla para que el usuario pueda utilizar una plantilla personalizada. Sin embargo, haré los cambios poco a poco, ya que también modificaré el indicador con el fin de reducir la carga de MetaTrader 5.
preview
Algoritmo de búsqueda cooperativa artificial (Artificial Cooperative Search, ACS)

Algoritmo de búsqueda cooperativa artificial (Artificial Cooperative Search, ACS)

La búsqueda cooperativa artificial (Artificial Cooperative Search, ACS) es un método innovador que utiliza una matriz binaria y múltiples poblaciones dinámicas basadas en relaciones de mutualismo y cooperación para encontrar soluciones óptimas de forma rápida y precisa. El enfoque único de ACS sobre depredadores y presas le permite obtener excelentes resultados en problemas de optimización numérica.
preview
Del básico al intermedio: Variables (I)

Del básico al intermedio: Variables (I)

Muchos programadores principiantes tienen muchas dificultades para comprender por qué sus códigos no funcionan como esperan. Existen muchos detalles que hacen que un código sea realmente funcional. No se trata simplemente de escribir toda una serie de funciones y operaciones para que un código funcione. ¿Qué tal si aprendemos de la manera correcta cómo se crea un código real en lugar de copiar y pegar fragmentos de código encontrados aquí y allá? El contenido expuesto aquí tiene como objetivo, pura y simplemente, la didáctica. En ningún caso debe considerarse como una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 09): Eventos personalizados

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 09): Eventos personalizados

Aquí veremos cómo accionar eventos personalizados y mejorar la cuestión de cómo el indicador informa del estado del servicio de repetición/simulación.
preview
Marcado de datos en el análisis de series temporales (Parte 6): Aplicación y prueba en EA utilizando ONNX

Marcado de datos en el análisis de series temporales (Parte 6): Aplicación y prueba en EA utilizando ONNX

Esta serie de artículos presenta varios métodos de etiquetado de series temporales, que pueden crear datos que se ajusten a la mayoría de los modelos de inteligencia artificial, y el etiquetado de datos específico según las necesidades puede hacer que el modelo de inteligencia artificial entrenado se ajuste más al diseño esperado, mejorar la precisión de nuestro modelo, ¡e incluso ayudar al modelo a dar un salto cualitativo!
preview
DoEasy. Funciones de servicio (Parte 3): Patrón "Barra exterior"

DoEasy. Funciones de servicio (Parte 3): Patrón "Barra exterior"

En este artículo desarrollaremos el patrón Price Action "Barra exterior" en la biblioteca DoEasy y optimizaremos los métodos de acceso a la gestión de los patrones de precios. Además, trabajaremos en la corrección de los fallos y errores detectados durante las pruebas de la biblioteca.
preview
Reimaginando las estrategias clásicas en MQL5 (Parte II): FTSE100 y bonos del Reino Unido (UK Gilts)

Reimaginando las estrategias clásicas en MQL5 (Parte II): FTSE100 y bonos del Reino Unido (UK Gilts)

En esta serie de artículos, exploramos estrategias de negociación populares e intentamos mejorarlas utilizando IA. En el artículo de hoy, retomamos la estrategia de negociación clásica basada en la relación entre el mercado de valores y el mercado de bonos.
preview
HTTP y Connexus (Parte 2): Comprensión de la arquitectura HTTP y el diseño de bibliotecas

HTTP y Connexus (Parte 2): Comprensión de la arquitectura HTTP y el diseño de bibliotecas

Este artículo explora los fundamentos del protocolo HTTP, cubriendo los métodos principales (GET, POST, PUT, DELETE), los códigos de estado y la estructura de las URL. Además, presenta el inicio de la construcción de la librería Conexus con las clases CQueryParam y CURL, que facilitan la manipulación de URLs y parámetros de consulta en peticiones HTTP.
preview
Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte V): Modelos profundos de Markov

Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte V): Modelos profundos de Markov

En esta discusión, aplicaremos una cadena de Markov simple en un indicador RSI, para observar cómo se comporta el precio después de que el indicador pasa por niveles clave. Concluimos que las señales de compra y venta más fuertes en el par NZDJPY se generan cuando el RSI está en el rango 11-20 y 71-80, respectivamente. Demostraremos cómo puedes manipular tus datos para crear estrategias comerciales óptimas que se aprenden directamente de los datos que tienes. Además, demostraremos cómo entrenar una red neuronal profunda para aprender a utilizar la matriz de transición de manera óptima.
preview
Cambiando a MQL5 Algo Forge (Parte 4): Trabajamos con versiones y lanzamientos

Cambiando a MQL5 Algo Forge (Parte 4): Trabajamos con versiones y lanzamientos

Continuaremos el desarrollo del proyecto Simple Candles y Adwizard describiendo los matices del uso del sistema de control de versiones y el repositorio MQL5 Algo Forge.
preview
Vectores y valores propios: Análisis exploratorio de datos en MetaTrader 5

Vectores y valores propios: Análisis exploratorio de datos en MetaTrader 5

En este artículo exploramos diferentes formas en que los vectores propios y los valores propios pueden aplicarse en el análisis exploratorio de datos para revelar relaciones únicas en los datos.
preview
DoEasy. Elementos de control (Parte 5): Objeto básico WinForms, control "Panel", parámetro AutoSize

DoEasy. Elementos de control (Parte 5): Objeto básico WinForms, control "Panel", parámetro AutoSize

En este artículo, crearemos un objeto básico para todos los objetos de la biblioteca WinForms y comenzaremos a implementar la propiedad AutoSize del objeto WinForms "Panel", es decir, el cambio automático del tamaño para que se ajuste a su contenido interno.
preview
Del básico al intermedio: Eventos (II)

Del básico al intermedio: Eventos (II)

En este artículo veremos que no siempre es necesario implementar las cosas de una u otra manera. Existen formas alternativas de hacer las cosas. Comprender los conceptos explicados en artículos anteriores es primordial para entender adecuadamente el contenido de este artículo. El contenido expuesto aquí tiene como objetivo único y exclusivo la didáctica. En ningún caso debe considerarse una aplicación final, en la que el objetivo no sea el estudio de los conceptos aquí mostrados.
preview
Indicador personalizado: Trazado de puntos de entradas parciales en cuentas netting

Indicador personalizado: Trazado de puntos de entradas parciales en cuentas netting

En este artículo, exploraremos una forma interesante y diferente de crear un indicador en MQL5. En lugar de centrarnos en una tendencia o patrón gráfico, el objetivo será gestionar nuestras propias posiciones, incluyendo las entradas y salidas parciales. Utilizaremos intensivamente matrices dinámicas y algunas funciones comerciales (Trade) relacionadas con el historial de transacciones y las posiciones abiertas para indicar en el gráfico dónde se llevaron a cabo estas operaciones.
preview
Del básico al intermedio: Variables (II)

Del básico al intermedio: Variables (II)

En este artículo vamos a ver cómo trabajar con variables del tipo estática. Este tema suele confundir a muchos programadores, tanto principiantes como aquellos con algo de experiencia. Esto se debe a que existen algunos cuidados y trucos que deben observarse al usar este mecanismo. El contenido expuesto aquí tiene como objetivo, pura y simplemente, la enseñanza didáctica. En ningún caso debe considerarse como una aplicación cuya finalidad no sea el aprendizaje y estudio de los conceptos presentados.
preview
Del básico al intermedio: Definiciones (I)

Del básico al intermedio: Definiciones (I)

En este artículo, haremos cosas que para muchos parecerán extrañas y totalmente fuera de contexto, pero que, si se aplican bien, harán que tu aprendizaje sea mucho más divertido y emocionante, ya que podemos construir cosas bastante interesantes basándonos en lo que se muestra aquí, lo que permite una mejor asimilación de la sintaxis del lenguaje MQL5. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe considerarse una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
preview
Creación de un Panel de administración de operaciones en MQL5 (Parte IV): Capa de seguridad de inicio de sesión

Creación de un Panel de administración de operaciones en MQL5 (Parte IV): Capa de seguridad de inicio de sesión

Imagine un actor malicioso infiltrándose en la sala del administrador comercial y obteniendo acceso a las computadoras y al panel de administración que se utilizan para comunicar información valiosa a millones de comerciantes en todo el mundo. Una intrusión de este tipo podría tener consecuencias desastrosas, como el envío no autorizado de mensajes engañosos o clics aleatorios en botones que desencadenan acciones no deseadas. En esta discusión, exploraremos las medidas de seguridad en MQL5 y las nuevas características de seguridad que hemos implementado en nuestro Panel de administración para protegernos contra estas amenazas. Al mejorar nuestros protocolos de seguridad, nuestro objetivo es proteger nuestros canales de comunicación y mantener la confianza de nuestra comunidad comercial global. Encuentre más información en la discusión de este artículo.
preview
Desarrollo de un sistema de repetición (Parte 52): Esto complica las cosas (IV)

Desarrollo de un sistema de repetición (Parte 52): Esto complica las cosas (IV)

En este artículo vamos a cambiar el indicador de mouse para poder interactuar con el indicador de control, ya que esta se está realizando de forma errática.
preview
Asistente de Connexus (Parte 5): Métodos HTTP y códigos de estado

Asistente de Connexus (Parte 5): Métodos HTTP y códigos de estado

En este artículo, comprenderemos los métodos HTTP y los códigos de estado, dos piezas muy importantes de la comunicación entre el cliente y el servidor en la web. Comprender lo que hace cada método le brinda el control para realizar solicitudes con mayor precisión, informando al servidor qué acción desea realizar y haciéndolo más eficiente.
preview
El método de agrupamiento para el manejo de datos: Implementación del algoritmo iterativo multicapa en MQL5

El método de agrupamiento para el manejo de datos: Implementación del algoritmo iterativo multicapa en MQL5

En este artículo describimos la implementación del algoritmo iterativo multicapa del método de agrupamiento para el manejo de datos en MQL5.
preview
Desarrollo de un sistema de repetición (Parte 43): Proyecto Chart Trade (II)

Desarrollo de un sistema de repetición (Parte 43): Proyecto Chart Trade (II)

Gran parte de las personas que quieren, o desean aprender a programar, no tienen en realidad idea de lo que están haciendo. Lo que hacen es intentar crear las cosas de una determinada manera. Sin embargo, cuando programamos no estamos realmente intentando crear una solución. Si intentas hacerlo de esta manera, generarás más problemas que soluciones. Aquí haremos algo un poco más avanzado, y por consecuencia diferente.
preview
Características del Wizard MQL5 que debe conocer (Parte 17): Negociación con multidivisas

Características del Wizard MQL5 que debe conocer (Parte 17): Negociación con multidivisas

La negociación con varias divisas no está disponible por defecto cuando se crea un asesor experto mediante el asistente. Examinamos dos posibles trucos que los operadores pueden utilizar para poner a prueba sus ideas con más de un símbolo a la vez.
preview
Kit de herramientas de negociación MQL5 (Parte 4): Desarrollo de una biblioteca EX5 para la gestión del historial

Kit de herramientas de negociación MQL5 (Parte 4): Desarrollo de una biblioteca EX5 para la gestión del historial

Aprenda a recuperar, procesar, clasificar, ordenar, analizar y gestionar posiciones cerradas, órdenes e historiales de operaciones utilizando MQL5 mediante la creación de una amplia biblioteca EX5 de gestión de historiales con un enfoque detallado paso a paso.
preview
Simulación de mercado (Parte 04): Creación de la clase C_Orders (I)

Simulación de mercado (Parte 04): Creación de la clase C_Orders (I)

En este artículo comenzaremos a construir la clase C_Orders para poder enviar órdenes al servidor de negociación. Lo haremos poco a poco, ya que el objetivo es explicar detalladamente cómo se realizará esto a través del sistema de mensajería.
preview
Integración de MQL5 con paquetes de procesamiento de datos (Parte 4): Gestión de Big Data

Integración de MQL5 con paquetes de procesamiento de datos (Parte 4): Gestión de Big Data

Esta parte explora técnicas avanzadas para integrar MQL5 con potentes herramientas de procesamiento de datos y se centra en el manejo eficiente de grandes volúmenes de datos para mejorar el análisis comercial y la toma de decisiones.
preview
Algoritmo de Big Bang y Big Crunch

Algoritmo de Big Bang y Big Crunch

En el presente artículo, le presentamos el método Big Bang - Big Crunch, que consta de dos fases clave: la creación cíclica de puntos aleatorios y su compresión hasta una solución óptima. Este enfoque combina exploración y refinamiento, lo cual permite encontrar soluciones progresivamente mejores y descubre nuevas oportunidades en el campo de la optimización.
preview
Reimaginando las estrategias clásicas (Parte VIII): Los mercados de divisas y metales preciosos en el USDCAD

Reimaginando las estrategias clásicas (Parte VIII): Los mercados de divisas y metales preciosos en el USDCAD

En esta serie de artículos, revisamos estrategias de negociación bien conocidas para ver si podemos mejorarlas utilizando IA. En el artículo de hoy comprobaremos si existe una relación fiable entre los metales preciosos y las divisas.
preview
Del básico al intermedio: Punto flotante

Del básico al intermedio: Punto flotante

Este artículo es una breve introducción a lo que sería el punto flotante. Como este contenido es muy complicado, te aconsejo leer con calma y atención. No esperes dominar el sistema de punto flotante de manera rápida. El mismo solo se domina con el tiempo y la experiencia de uso. Pero este artículo te ayudará a entender por qué, a veces, tu aplicación reporta un resultado diferente del esperado originalmente. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe considerarse una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
preview
El método de manejo de datos en grupo: implementación del algoritmo combinatorio en MQL5

El método de manejo de datos en grupo: implementación del algoritmo combinatorio en MQL5

En este artículo continuamos nuestra exploración de la familia de algoritmos del método de manejo de datos en grupo, con la implementación del algoritmo combinatorio junto con su encarnación refinada, el algoritmo combinatorio selectivo en MQL5.