Artículos sobre automatización de sistemas comerciales en el lenguaje MQL5

icon

Lea los artículos sobre los sistemas de trading basados en las ideas muy variadas. Usted sabrá cómo usar los métodos estadísticos y los patrones en los gráficos de velas japonesas, cómo filtrar las señales y para qué sirven los indicadores semafóricos.

A través del Asistente MQL5 Usted aprenderá a crear los robots sin acudir a la programación para evaluar rápidamente las ideas comerciales, así como sabrá qué es lo que representan los algoritmos genéticos.

Nuevo artículo
últimas | mejores
preview
Aplicamos el coeficiente generalizado de Hurst y la prueba del coeficiente de varianza en MQL5

Aplicamos el coeficiente generalizado de Hurst y la prueba del coeficiente de varianza en MQL5

En este artículo, discutiremos cómo utilizar el coeficiente generalizado de Hurst y la prueba del coeficiente de varianza para analizar el comportamiento de las series de precios en MQL5.
preview
Redes neuronales: así de sencillo (Parte 75): Mejora del rendimiento de los modelos de predicción de trayectorias

Redes neuronales: así de sencillo (Parte 75): Mejora del rendimiento de los modelos de predicción de trayectorias

Los modelos que creamos son cada vez más grandes y complejos. Esto aumenta los costes no sólo de su formación, sino también de su funcionamiento. Sin embargo, el tiempo necesario para tomar una decisión suele ser crítico. A este respecto, consideremos los métodos para optimizar el rendimiento del modelo sin pérdida de calidad.
preview
Inferencia causal en problemas de clasificación de series temporales

Inferencia causal en problemas de clasificación de series temporales

En este artículo, examinaremos la teoría de la inferencia causal utilizando el aprendizaje automático, así como la implementación del enfoque personalizado en Python. La inferencia causal y el pensamiento causal tienen sus raíces en la filosofía y la psicología y desempeñan un papel importante en nuestra comprensión de la realidad.
preview
Redes neuronales: así de sencillo (Parte 74): Predicción de trayectorias con adaptación

Redes neuronales: así de sencillo (Parte 74): Predicción de trayectorias con adaptación

Este artículo presenta un método bastante eficaz de previsión de trayectorias de múltiples agentes, capaz de adaptarse a diversas condiciones ambientales.
preview
Desarrollo de un sistema de repetición (Parte 58): Volvemos a trabajar en el servicio

Desarrollo de un sistema de repetición (Parte 58): Volvemos a trabajar en el servicio

Después de haber tomado un descanso en el desarrollo y perfeccionamiento del servicio usado en la repetición/simulación, retomaremos el trabajo en él. Ahora que no utilizaremos algunos recursos, como las variables globales del terminal, es necesario reestructurar por completo algunas partes de él. No se preocupen, este proceso se explicará adecuadamente para que todos puedan seguir el desarrollo del servicio.
preview
Desarrollo de un sistema de repetición (Parte 57): Diseccionamos el servicio de prueba

Desarrollo de un sistema de repetición (Parte 57): Diseccionamos el servicio de prueba

Un último detalle: Aunque no se incluye en este artículo, explicaré el código del servicio que se estará utilizando en el próximo, ya que usaremos este mismo código como trampolín para lo que realmente estamos desarrollando. Así que ten un poco de paciencia y espera el próximo artículo, pues las cosas se están poniendo cada día más interesantes.
preview
Desarrollo de un sistema de repetición (Parte 56): Adecuación de los módulos

Desarrollo de un sistema de repetición (Parte 56): Adecuación de los módulos

Aunque los módulos se comunican de manera adecuada, existe un error al intentar utilizar el indicador de mouse en el servicio de repetición. Necesitamos corregir esto ahora, antes de pasar al siguiente paso. Además, se ha corregido una incidencia en el código del indicador de mouse. Esta versión finalmente se ha vuelto estable y está debidamente finalizada.
preview
Desarrollamos un Asesor Experto multidivisas (Parte 3): Revisión de la arquitectura

Desarrollamos un Asesor Experto multidivisas (Parte 3): Revisión de la arquitectura

Ya hemos avanzado bastante en el desarrollo del asesor multidivisa con varias estrategias funcionando en paralelo. Basándonos en nuestra experiencia, revisaremos la arquitectura de nuestra solución y trataremos de mejorarla antes de avanzar demasiado.
preview
Aprendizaje automático y Data Science (Parte 19): Potencie sus modelos de IA con AdaBoost

Aprendizaje automático y Data Science (Parte 19): Potencie sus modelos de IA con AdaBoost

AdaBoost, un potente algoritmo de refuerzo diseñado para elevar el rendimiento de sus modelos de IA. AdaBoost, abreviatura de Adaptive Boosting (refuerzo adaptativo), es una sofisticada técnica de aprendizaje por conjuntos que integra a la perfección los aprendices débiles, potenciando su fuerza predictiva colectiva.
preview
Desarrollo de un sistema de repetición (Parte 55): Módulo de control

Desarrollo de un sistema de repetición (Parte 55): Módulo de control

En este artículo, implementaremos el indicador de control de manera que pueda integrarse en el sistema de mensajes que está en desarrollo. Aunque no es algo muy complejo de hacer, es necesario entender algunos detalles sobre cómo inicializar este módulo. 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 (Parte 54): El nacimiento del primer módulo

Desarrollo de un sistema de repetición (Parte 54): El nacimiento del primer módulo

En este artículo, veremos cómo construir el primero de los módulos, realmente funcional, para ser utilizado en el sistema de repetición/simulador. Además de tener como propósito general servir para otras cosas también. El módulo que se construirá aquí será el del indicador de mouse.
preview
Desarrollo de un sistema de repetición (Parte 53): Esto complica las cosas (V)

Desarrollo de un sistema de repetición (Parte 53): Esto complica las cosas (V)

En este artículo, presentaré un tema muy importante, que pocos comprenden realmente: Eventos personalizados. Peligros. Ventajas y fallos causados por tales elementos. Este tema es clave para quienes desean convertirse en programadores profesionales en MQL5 o en cualquier otro tipo de lenguaje. Por ello, nos centraremos en MQL5 y MetaTrader 5.
preview
Redes neuronales: así de sencillo (Parte 73): AutoBots para predecir la evolución de los precios

Redes neuronales: así de sencillo (Parte 73): AutoBots para predecir la evolución de los precios

Seguimos hablando de algoritmos para entrenar modelos de predicción de trayectorias. En este artículo nos familiarizaremos con un método llamado "AutoBots".
preview
Previsión y apertura de órdenes basadas en aprendizaje profundo (Deep Learning) con el paquete Python MetaTrader 5 y el archivo modelo ONNX

Previsión y apertura de órdenes basadas en aprendizaje profundo (Deep Learning) con el paquete Python MetaTrader 5 y el archivo modelo ONNX

El proyecto consiste en utilizar Python para realizar previsiones basadas en el aprendizaje profundo en los mercados financieros. Exploraremos los entresijos de la comprobación del rendimiento del modelo utilizando métricas clave como el error medio absoluto (MAE, Mean Absolute Error), el error medio cuadrático (MSE, Mean Squared Error) y R-cuadrado (R2), y aprenderemos a envolverlo todo en un ejecutable. También haremos un fichero modelo ONNX con su EA.
preview
Desarrollamos un Asesor Experto multidivisas (Parte 2): Transición a posiciones virtuales de estrategias comerciales

Desarrollamos un Asesor Experto multidivisas (Parte 2): Transición a posiciones virtuales de estrategias comerciales

Hoy continuaremos con el desarrollo de un asesor multidivisa con varias estrategias funcionando en paralelo. Intentaremos transferir todo el trabajo relacionado con la apertura de posiciones de mercado desde el nivel de las estrategias al nivel de un experto que gestiona estas. Las propias estrategias solo negociarán virtualmente, sin abrir posiciones de mercado.
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
Desarrollo de un sistema de repetición (Parte 51): Esto complica las cosas (III)

Desarrollo de un sistema de repetición (Parte 51): Esto complica las cosas (III)

En este artículo comprenderás una de las cosas más complejas que existen en la programación MQL5: la forma correcta de obtener el ID del gráfico y por qué a veces los objetos no se trazan en él. El contenido expuesto aquí tiene como objetivo, pura y simplemente, ser didáctico. En ningún caso debe considerarse como una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
preview
Redes neuronales: así de sencillo (Parte 72): Predicción de trayectorias en entornos ruidosos

Redes neuronales: así de sencillo (Parte 72): Predicción de trayectorias en entornos ruidosos

La calidad de las predicciones de los estados futuros desempeña un papel importante en el método Goal-Conditioned Predictive Coding, del que hablamos en el artículo anterior. En este artículo quiero presentarte un algoritmo que puede mejorar significativamente la calidad de la predicción en entornos estocásticos, como los mercados financieros.
preview
Asesor Experto Grid-Hedge Modificado en MQL5 (Parte II): Creación de un EA de cuadrícula simple

Asesor Experto Grid-Hedge Modificado en MQL5 (Parte II): Creación de un EA de cuadrícula simple

En este artículo, exploramos la estrategia de cuadrícula (grid) clásica, detallando su automatización mediante un Asesor Experto (EA) en MQL5 y analizando los resultados iniciales del backtest. Destacamos la necesidad de que la estrategia tenga una gran capacidad de retención y esbozamos planes para optimizar parámetros clave como la distancia, el takeProfit y el tamaño de los lotes en futuras entregas. La serie pretende mejorar la eficacia de las estrategias de negociación y su adaptabilidad a las distintas condiciones del mercado.
preview
Características del Wizard MQL5 que debe conocer (Parte 10). El RBM no convencional

Características del Wizard MQL5 que debe conocer (Parte 10). El RBM no convencional

Las máquinas de Boltzmann restringidas (RBM, Restrictive Boltzmann Machines) son, en el nivel básico, una red neuronal de dos capas que es competente en la clasificación no supervisada a través de la reducción de la dimensionalidad. Tomamos sus principios básicos y examinamos si lo rediseñamos y entrenamos de forma poco ortodoxa, podríamos obtener un filtro de señal útil.
preview
Comercio algorítmico con MetaTrader 5 y R para principiantes

Comercio algorítmico con MetaTrader 5 y R para principiantes

Embárquese en una apasionante exploración en la que el análisis financiero se encuentra con el trading algorítmico mientras desentrañamos el arte de unir a la perfección R y MetaTrader 5. Este artículo es su guía para unir los reinos de la finura analítica en R con las formidables capacidades comerciales de MetaTrader 5.
preview
Creación de un algoritmo de creación de mercado en MQL5

Creación de un algoritmo de creación de mercado en MQL5

¿Cómo funcionan los creadores de mercado? Consideremos esta cuestión y creemos un algoritmo primitivo de creación de mercado.
preview
Desarrollo de un sistema de repetición (Parte 50): Esto complica las cosas (II)

Desarrollo de un sistema de repetición (Parte 50): Esto complica las cosas (II)

Vamos resolver la cuestión del ID del gráfico, pero al mismo tiempo, vamos empezar a garantizar que el usuario pueda hacer uso de una plantilla personal, enfocada en analizar el activo que desea estudiar y simular. El contenido expuesto aquí tiene como objetivo, pura y simplemente, ser didáctico. 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 (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
Desarrollo de un sistema de repetición (Parte 48): Conceptos que hay que entender y comprender

Desarrollo de un sistema de repetición (Parte 48): Conceptos que hay que entender y comprender

¿Qué tal aprender algo nuevo? En este artículo, aprenderás cómo transformar scripts y servicios y por qué es útil hacerlo.
preview
Desarrollo y prueba de los sistemas comerciales Aroon

Desarrollo y prueba de los sistemas comerciales Aroon

En este artículo, aprenderemos a construir un sistema comercial Aroon, aprendiendo asimilando los fundamentos de los indicadores y los pasos necesarios para crear un sistema comercial basado en el indicador Aroon. Una vez creado este sistema comercial, comprobaremos si puede ser rentable o necesita una mayor optimización.
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
Desarrollo de un sistema de repetición (Parte 46): Proyecto Chart Trade (V)

Desarrollo de un sistema de repetición (Parte 46): Proyecto Chart Trade (V)

¿Cansado de perder tiempo buscando ese archivo que es necesario para que tu aplicación funcione? ¿Qué tal si incluimos todo en el ejecutable? Así nunca perderás tiempo buscando las cosas. Sé que muchos utilizan exactamente esa forma de distribuir y guardar las cosas. Pero existe una manera mucho más adecuada. Al menos en lo que respecta a la distribución de ejecutables y almacenamiento de los mismos. La forma que explicaré aquí, puede ser de gran ayuda. Ya que puedes usar el propio MetaTrader 5 como un gran ayudante, así como el MQL5. No es algo tan complejo ni difícil de entender.
preview
Desarrollo de un sistema de repetición (Parte 45): Proyecto Chart Trade (IV)

Desarrollo de un sistema de repetición (Parte 45): Proyecto Chart Trade (IV)

Lo principal en este artículo es precisamente la presentación y explicación de la clase C_ChartFloatingRAD. Tenemos el indicador Chart Trade, que funciona de una manera bastante interesante. No obstante, si te das cuenta, aún tenemos un número bastante reducido de objetos en el gráfico. Y aun así, tenemos exactamente el comportamiento esperado. Se pueden editar los valores presentes en el indicador. La pregunta es: ¿Cómo es esto posible? En este artículo comenzarás a entenderlo.
preview
Desarrollo de un sistema de repetición (Parte 44): Proyecto Chart Trade (III)

Desarrollo de un sistema de repetición (Parte 44): Proyecto Chart Trade (III)

En el artículo anterior, expliqué cómo puedes manipular los datos de la plantilla para usarlos en un OBJ_CHART. Allí solo introduje el tema sin entrar en muchos detalles, ya que en esa versión el trabajo se hizo de una manera muy simplificada. Sin embargo, se hizo de esa forma precisamente para facilitar la explicación del contenido. Pues, a pesar de parecer simple hacer ciertas cosas, algunas no son tan evidentes, y sin comprender la parte más simple y básica, no entenderás realmente lo que estoy haciendo.
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
Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 6): Dos indicadores RSI se cruzan entre sí

Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 6): Dos indicadores RSI se cruzan entre sí

Por asesor multidivisa en este artículo nos referimos a un asesor o robot comercial que utiliza dos indicadores RSI con líneas de intersección: un RSI rápido que se cruza con uno lento.
preview
Redes neuronales: así de sencillo (Parte 71): Previsión de estados futuros basada en objetivos (GCPC)

Redes neuronales: así de sencillo (Parte 71): Previsión de estados futuros basada en objetivos (GCPC)

En trabajos anteriores, hemos introducido el método del Decision Transformer y varios algoritmos derivados de él. Asimismo, hemos experimentado con distintos métodos de fijación de objetivos. Durante los experimentos, hemos trabajado con distintas formas de fijar objetivos, pero el aprendizaje de la trayectoria ya recorrida por parte del modelo siempre quedaba fuera de nuestra atención. En este artículo, queremos presentar un método que llenará este vacío.
preview
Redes neuronales: así de sencillo (Parte 70): Mejoramos las políticas usando operadores de forma cerrada (CFPI)

Redes neuronales: así de sencillo (Parte 70): Mejoramos las políticas usando operadores de forma cerrada (CFPI)

En este trabajo, proponemos introducir un algoritmo que use operadores de mejora de políticas de forma cerrada para optimizar las acciones offline del Agente.
preview
Desarrollo de un sistema de repetición (Parte 42): Proyecto Chart Trade (I)

Desarrollo de un sistema de repetición (Parte 42): Proyecto Chart Trade (I)

Vamos a crear algo más interesante. El código que mostré antes quedará completamente obsoleto. No quiero arruinar la sorpresa. Sigue el artículo para entender mejor. Desde el inicio de esta secuencia sobre cómo desarrollar un sistema de repetición/simulación, he dicho que la idea es usar la plataforma MetaTrader 5 de manera idéntica, tanto en el sistema que estamos desarrollando como en el mercado real. Es importante que esto se haga de manera adecuada. No querrás entrenar y aprender a luchar usando determinadas herramientas y en el momento de la pelea tener que usar otras.
preview
Redes neuronales: así de sencillo (Parte 69): Restricción de la política de comportamiento basada en la densidad de datos offline (SPOT)

Redes neuronales: así de sencillo (Parte 69): Restricción de la política de comportamiento basada en la densidad de datos offline (SPOT)

En el aprendizaje offline, utilizamos un conjunto de datos fijo, lo que limita la cobertura de la diversidad del entorno. Durante el proceso de aprendizaje, nuestro Agente puede generar acciones fuera de dicho conjunto. Si no hay retroalimentación del entorno, la corrección de las evaluaciones de tales acciones será cuestionable. Mantener la política del Agente dentro de la muestra de entrenamiento se convierte así en un aspecto importante para garantizar la solidez del entrenamiento. De eso hablaremos en este artículo.
preview
Patrones de diseño en MQL5 (Parte 4): Patrones conductuales 2

Patrones de diseño en MQL5 (Parte 4): Patrones conductuales 2

Este artículo concluye la serie sobre patrones de diseño en ingeniería de software. Ya hemos mencionado que existen tres tipos de patrones de diseño: de creación, estructurales y conductuales. Hoy perfeccionaremos los patrones conductuales restantes, que nos ayudarán a especificar la forma en que interactúan los objetos de manera que nuestro código sea limpio.
preview
Aprendizaje automático y Data Science (Parte 17): ¿Crece el dinero en los árboles? Bosques aleatorios en el mercado Fórex

Aprendizaje automático y Data Science (Parte 17): ¿Crece el dinero en los árboles? Bosques aleatorios en el mercado Fórex

Este artículo le presentará los secretos de la alquimia algorítmica, introduciéndole con precisión las particularidades de los paisajes financieros. Asimismo, aprenderá cómo los bosques aleatorios transforman los datos en predicciones y le servirán de ayuda al navegar por las complejidades de los mercados financieros. Intentaremos identificar el papel de los bosques aleatorios en los datos financieros y comprobaremos si pueden ayudar a aumentar los beneficios.
preview
Redes neuronales: así de sencillo (Parte 68): Optimización de políticas offline basada en preferencias

Redes neuronales: así de sencillo (Parte 68): Optimización de políticas offline basada en preferencias

Desde los primeros artículos sobre el aprendizaje por refuerzo, hemos tocado de un modo u otro dos problemas: la exploración del entorno y la definición de la función de recompensa. Los artículos más recientes se han centrado en el problema de la exploración en el aprendizaje offline. En este artículo, queremos presentar un algoritmo cuyos autores han abandonado por completo la función de recompensa.
preview
Características del Wizard MQL5 que debe conocer (Parte 09): Combinación de clusterización de K-medias con ondas fractales

Características del Wizard MQL5 que debe conocer (Parte 09): Combinación de clusterización de K-medias con ondas fractales

La clusterización de K-medias adopta el enfoque de agrupar puntos de datos como un proceso centrado inicialmente en una macro representación del conjunto de datos en la que se aplican centroides de clúster generados aleatoriamente. A continuación, dichos centroides se escalan y ajustan para representar con precisión el conjunto de datos. En el presente artículo, hablaremos de la clusterización y de varios usos de la misma.