Artículos sobre programación y uso de robots comerciales en el lenguaje MQL5

icon

Los Asesores Expertos creados para la plataforma MetaTrader ejecutan una gran variedad de funciones ideadas por sus desarrolladores. Los robots comerciales son capaces de realizar el seguimiento de los instrumentos financieros 24 horas al día, copiar las operaciones, confeccionar y enviar los informes, analizar las noticias, e incluso facilitar al operador una interfaz gráfica personalizada desarrollada por encargo.

Los artículos contienen las técnicas de programación, ideas matemáticas para el procesamiento de datos, consejos para la creación y el encargo de robots comerciales.

Nuevo artículo
últimas | mejores
preview
Desarrollo de un sistema de repetición (Parte 31): Proyecto Expert Advisor — Clase C_Mouse (V)

Desarrollo de un sistema de repetición (Parte 31): Proyecto Expert Advisor — Clase C_Mouse (V)

Desarrollar una manera de poner un cronómetro, de modo que durante una repetición/simulación, éste pueda decirnos cuánto tiempo falta, puede parecer a primera vista una tarea simple y de rápida solución. Muchos simplemente intentarían adaptar y usar el mismo sistema que se utiliza cuando tenemos el servidor comercial a nuestro lado. Pero aquí reside un punto que muchos quizás no consideran al pensar en tal solución. Cuando estás haciendo una repetición, y esto para no hablar del hecho de la simulación, el reloj no funciona de la misma manera. Este tipo de cosa hace complejo construir tal sistema.
preview
Desarrollo de un sistema de repetición (Parte 30): Proyecto Expert Advisor — Clase C_Mouse (IV)

Desarrollo de un sistema de repetición (Parte 30): Proyecto Expert Advisor — Clase C_Mouse (IV)

Aquí te mostraré una técnica que puede ayudarte mucho en varios momentos de tu vida como programador. En contra de lo que muchos dicen, lo limitado no es la plataforma, sino los conocimientos del individuo que lo dice. Lo que se explicará aquí es que con un poco de sentido común y creatividad, se puede hacer que la plataforma MetaTrader 5 sea mucho más interesante y versátil, sin tener que crear programas locos ni nada por el estilo puedes crear un código sencillo, pero seguro y fiable. Utiliza tu ingenio para domar el código con el fin de modificar algo que ya existe, sin eliminar ni añadir una sola línea al código original.
preview
Redes neuronales: así de sencillo (Parte 58): Transformador de decisión (Decision Transformer-DT)

Redes neuronales: así de sencillo (Parte 58): Transformador de decisión (Decision Transformer-DT)

Continuamos nuestro análisis de los métodos de aprendizaje por refuerzo. Y en el presente artículo, presentaremos un algoritmo ligeramente distinto que considera la política del Agente en un paradigma de construcción de secuencias de acciones.
preview
Desarrollo de un sistema de repetición (Parte 29): Proyecto Expert Advisor — Clase C_Mouse (III)

Desarrollo de un sistema de repetición (Parte 29): Proyecto Expert Advisor — Clase C_Mouse (III)

Ahora que hemos mejorado la clase C_Mouse, podemos concentrarnos en crear una clase destinada a establecer una base totalmente nueva de estudios. Como mencioné al inicio del artículo, no utilizaremos herencia o polimorfismo para crear esta nueva clase. En cambio, vamos a modificar, o mejor, agregar nuevos objetos a la línea de precio. Esto es lo que haremos en este primer momento, y en el próximo artículo, mostraré cómo cambiar los estudios. Pero, realizaremos esto sin cambiar el código de la clase C_Mouse. Reconozco que, en la práctica, esto sería más fácilmente logrado mediante herencia o polimorfismo. No obstante, existen otras técnicas para alcanzar el mismo resultado.
preview
Teoría de categorías en MQL5 (Parte 22): Una mirada distinta a las medias móviles

Teoría de categorías en MQL5 (Parte 22): Una mirada distinta a las medias móviles

En el presente artículo intentaremos simplificar los conceptos tratados en esta serie centrándonos en solo un indicador, el más común y probablemente el más fácil de entender: la media móvil. También veremos el significado y las posibles aplicaciones de las transformaciones naturales verticales.
preview
Teoría de categorías en MQL5 (Parte 20): Autoatención y transformador

Teoría de categorías en MQL5 (Parte 20): Autoatención y transformador

Hoy nos apartaremos un poco de nuestros temas habituales y veremos parte del algoritmo de ChatGPT. ¿Tiene alguna similitud o concepto tomado de las transformaciones naturales? Intentaremos responder estas y otras preguntas usando nuestro código en formato de clase de señal.
preview
Marcado de datos en el análisis de series temporales (Parte 2): Creando conjuntos de datos con marcadores de tendencias utilizando Python

Marcado de datos en el análisis de series temporales (Parte 2): Creando conjuntos de datos con marcadores de tendencias utilizando Python

En esta serie de artículos, presentaremos varias técnicas de marcado de series temporales que pueden producir datos que se ajusten a la mayoría de los modelos de inteligencia artificial (IA). El marcado dirigido de datos puede hacer que un modelo de IA entrenado resulte más relevante para las metas y objetivos del usuario, mejorando la precisión del modelo y ayudando a este a dar un salto de calidad.
preview
Redes neuronales: así de sencillo (Parte 57): Stochastic Marginal Actor-Critic (SMAC)

Redes neuronales: así de sencillo (Parte 57): Stochastic Marginal Actor-Critic (SMAC)

Hoy le proponemos introducir un algoritmo bastante nuevo, el Stochastic Marginal Actor-Critic (SMAC), que permite la construcción de políticas de variable latente dentro de un marco de maximización de la entropía.
preview
Colocando órdenes en MQL5

Colocando órdenes en MQL5

Al crear cualquier sistema comercial, existe una tarea que debemos resolver de forma efectiva. Esta tarea consiste en que el sistema comercial coloque órdenes o las procese de forma automática. El artículo analizará la creación de un sistema comercial desde el punto de vista de la colocación efectiva de órdenes.
preview
Marcado de datos en el análisis de series temporales (Parte 1):Creamos un conjunto de datos con marcadores de tendencia utilizando el gráfico de un asesor

Marcado de datos en el análisis de series temporales (Parte 1):Creamos un conjunto de datos con marcadores de tendencia utilizando el gráfico de un asesor

En esta serie de artículos, presentaremos varias técnicas de etiquetado de series temporales que pueden producir datos que se ajusten a la mayoría de los modelos de inteligencia artificial (IA). El etiquetado específico de datos puede hacer que un modelo de IA entrenado resulte más relevante para las metas y objetivos del usuario, mejorar la precisión del modelo e incluso ayudarle a dar un salto cualitativo.
preview
Redes neuronales: así de sencillo (Parte 56): Utilizamos la norma nuclear para incentivar la exploración

Redes neuronales: así de sencillo (Parte 56): Utilizamos la norma nuclear para incentivar la exploración

La exploración del entorno en tareas de aprendizaje por refuerzo es un problema relevante. Con anterioridad, ya hemos analizado algunos de estos enfoques. Hoy le propongo introducir otro método basado en la maximización de la norma nuclear, que permite a los agentes identificar estados del entorno con un alto grado de novedad y diversidad.
preview
Redes neuronales: así de sencillo (Parte 55): Control interno contrastado (CIC)

Redes neuronales: así de sencillo (Parte 55): Control interno contrastado (CIC)

El aprendizaje contrastivo (Contrastive learning) supone un método de aprendizaje de representación no supervisado. Su objetivo consiste en entrenar un modelo para que destaque las similitudes y diferencias entre los conjuntos de datos. En este artículo, hablaremos del uso de enfoques de aprendizaje contrastivo para investigar las distintas habilidades del Actor.
preview
Teoría de Categorías en MQL5 (Parte 17): Funtores y monoides

Teoría de Categorías en MQL5 (Parte 17): Funtores y monoides

Este es el último artículo de la serie sobre funtores. En él, revisaremos los monoides como categoría. Los monoides, que ya hemos introducido en esta serie, se utilizan aquí para ayudar a dimensionar la posición junto con los perceptrones multicapa.
preview
Redes neuronales: así de sencillo (Parte 54): Usamos un codificador aleatorio para una exploración eficiente (RE3)

Redes neuronales: así de sencillo (Parte 54): Usamos un codificador aleatorio para una exploración eficiente (RE3)

Siempre que analizamos métodos de aprendizaje por refuerzo, nos enfrentamos al problema de explorar eficientemente el entorno. Con frecuencia, la resolución de este problema hace que el algoritmo se complique, llevándonos al entrenamiento de modelos adicionales. En este artículo veremos un enfoque alternativo para resolver el presente problema.
preview
Comprobando la informatividad de distintos tipos de medias móviles

Comprobando la informatividad de distintos tipos de medias móviles

Todos conocemos la importancia de la media móvil para muchos tráders. Existen diferentes tipos de medias móviles que pueden resultar útiles en el trading. Vamos a echarles un vistazo y a hacer una sencilla comparación para ver cuál puede dar mejores resultados.
preview
Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 1): Señales basadas en ADX combinadas con Parabolic SAR

Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 1): Señales basadas en ADX combinadas con Parabolic SAR

En este artículo, entenderemos por asesor multidivisa un asesor o robot comercial que puede comerciar (abrir/cerrar órdenes, gestionar órdenes, etc.) con más de un par de símbolos de un gráfico.
preview
Redes neuronales: así de sencillo (Parte 53): Descomposición de la recompensa

Redes neuronales: así de sencillo (Parte 53): Descomposición de la recompensa

Ya hemos hablado más de una vez de la importancia de seleccionar correctamente la función de recompensa que utilizamos para estimular el comportamiento deseado del Agente añadiendo recompensas o penalizaciones por acciones individuales. Pero la cuestión que sigue abierta es el descifrado de nuestras señales por parte del Agente. En este artículo hablaremos sobre la descomposición de la recompensa en lo que respecta a la transmisión de señales individuales al Agente entrenado.
preview
Mejore sus gráficos comerciales con una GUI interactiva basada en MQL5 (Parte III): Interfaz comercial simple y móvil

Mejore sus gráficos comerciales con una GUI interactiva basada en MQL5 (Parte III): Interfaz comercial simple y móvil

En esta serie de artículos analizamos la integración de interfaces gráficas interactivas en paneles comerciales móviles en MQL5. En la tercera parte, utilizaremos los desarrollos de las partes anteriores para convertir paneles comerciales estáticos en dinámicos.
preview
Redes neuronales: así de sencillo (Parte 52): Exploración con optimismo y corrección de la distribución

Redes neuronales: así de sencillo (Parte 52): Exploración con optimismo y corrección de la distribución

A medida que el modelo se entrena con el búfer de reproducción de experiencias, la política actual del Actor se aleja cada vez más de los ejemplos almacenados, lo cual reduce la eficacia del entrenamiento del modelo en general. En este artículo, analizaremos un algoritmo para mejorar la eficiencia del uso de las muestras en los algoritmos de aprendizaje por refuerzo.
preview
La técnica comercial RSI Deep Three Move

La técnica comercial RSI Deep Three Move

El presente artículo muestra la técnica comercial RSI Deep Three Move en MetaTrader 5. El artículo se basa en una nueva serie de estudios que demuestran varias técnicas comerciales basadas en el RSI, así como un indicador técnico para medir la fuerza y el impulso de los valores, incluidas las acciones, las divisas y las materias primas.
preview
Redes neuronales: así de sencillo (Parte 51): Actor-crítico conductual (BAC)

Redes neuronales: así de sencillo (Parte 51): Actor-crítico conductual (BAC)

Los dos últimos artículos han considerado el algoritmo SAC (Soft Actor-Critic), que incorpora la regularización de la entropía en la función de la recompensa. Este enfoque equilibra la exploración del entorno y la explotación del modelo, pero solo es aplicable a modelos estocásticos. El presente material analizará un enfoque alternativo aplicable tanto a modelos estocásticos como deterministas.
preview
Todo lo que necesita saber sobre la estructura de un programa MQL5

Todo lo que necesita saber sobre la estructura de un programa MQL5

Cualquier programa en cualquier lenguaje de programación tiene una estructura determinada. En este artículo, aprenderá los componentes principales de la estructura de un programa en MQL5, que pueden resultarle muy útiles a la hora de crear un sistema comercial o una herramienta comercial para MetaTrader 5.
preview
Redes neuronales: así de sencillo (Parte 50): Soft Actor-Critic (optimización de modelos)

Redes neuronales: así de sencillo (Parte 50): Soft Actor-Critic (optimización de modelos)

En el artículo anterior, implementamos el algoritmo Soft Actor-Critic (SAC), pero no pudimos entrenar un modelo rentable. En esta ocasión, optimizaremos el modelo creado previamente para obtener los resultados deseados en su rendimiento.
preview
Aproximación por fuerza bruta a la búsqueda de patrones (Parte V): Una mirada desde el otro lado

Aproximación por fuerza bruta a la búsqueda de patrones (Parte V): Una mirada desde el otro lado

En este artículo mostraré al lector un enfoque del trading algorítmico completamente distinto al que he tenido que llegar después de bastante tiempo. Obviamente, todo esto está relacionado con mi programa de fuerza bruta, que ha sufrido una serie de cambios que le permiten resolver varios problemas al mismo tiempo. No obstante, el artículo ha resultado lo más general y sencillo posible, por lo que también resultará apto para quienes no conocen el tema o simplemente están de paso.
preview
Funciones en las aplicaciones MQL5

Funciones en las aplicaciones MQL5

Las funciones son componentes de importancia crítica en cualquier lenguaje de programación. Entre otras cosas, ayudan a los desarrolladores a aplicar el principio DRY (don't repeat youself, no te repitas). El artículo analiza las funciones y su creación en MQL5 usando aplicaciones sencillas que enriquecen nuestros sistemas comerciales sin complicarlos.
preview
Recordando una antigua estrategia de tendencia: dos osciladores estocásticos, MA y Fibonacci

Recordando una antigua estrategia de tendencia: dos osciladores estocásticos, MA y Fibonacci

Estrategias comerciales antiguas. Este artículo presenta una estrategia de seguimiento de tendencias. La estrategia es puramente técnica y usa varios indicadores y herramientas para ofrecer señales y niveles objetivo. Los componentes de la estrategia incluyen: Un oscilador estocástico de 14 periodos, un oscilador estocástico de 5 periodos, una media móvil de 200 periodos y una proyección de Fibonacci (para fijar los niveles objetivo).
preview
Redes neuronales: así de sencillo (Parte 49): Soft Actor-Critic

Redes neuronales: así de sencillo (Parte 49): Soft Actor-Critic

Continuamos nuestro análisis de los algoritmos de aprendizaje por refuerzo en problemas de espacio continuo de acciones. En este artículo, le propongo introducir el algoritmo Soft Astog-Critic (SAC). La principal ventaja del SAC es su capacidad para encontrar políticas óptimas que no solo maximicen la recompensa esperada, sino que también tengan la máxima entropía (diversidad) de acciones.
preview
Crear paneles gráficos en MQL5 es ahora más fácil

Crear paneles gráficos en MQL5 es ahora más fácil

En este artículo, ofreceremos una guía sencilla y comprensible para cualquier usuario que quiera crear una de las herramientas más valiosas y útiles en el trading: un panel gráfico que facilite las tareas comerciales. Los paneles gráficos nos permiten ahorrar tiempo y centrarnos más en las operaciones en sí.
preview
¿Puede Heiken Ashi dar buenas señales en combinación con las medias móviles?

¿Puede Heiken Ashi dar buenas señales en combinación con las medias móviles?

Las combinaciones de estrategias pueden mejorar el rendimiento de las transacciones. Podemos combinar indicadores y patrones para obtener confirmaciones adicionales. Las medias móviles nos ayudan a confirmar tendencias y seguirlas. Se trata del indicador técnico más famoso, lo cual se explica por su sencillez y su probada eficacia de análisis.
preview
Redes neuronales: así de sencillo (Parte 48): Métodos para reducir la sobreestimación de los valores de la función Q

Redes neuronales: así de sencillo (Parte 48): Métodos para reducir la sobreestimación de los valores de la función Q

En el artículo anterior, presentamos el método DDPG, que nos permite entrenar modelos en un espacio de acción continuo. Sin embargo, al igual que otros métodos de aprendizaje Q, el DDPG tiende a sobreestimar los valores de la función Q. Con frecuencia, este problema provoca que entrenemos los agentes con una estrategia subóptima. En el presente artículo, analizaremos algunos enfoques para superar el problema mencionado.
preview
Mejore sus gráficos comerciales con una GUI interactiva basada en MQL5 (Parte II): Interfaz móvil (II)

Mejore sus gráficos comerciales con una GUI interactiva basada en MQL5 (Parte II): Interfaz móvil (II)

Descubra el potencial de la presentación dinámica de datos en sus estrategias y utilidades comerciales con nuestra guía detallada para crear GUI móviles en MQL5. Sumérjase en los principios fundamentales de la programación orientada a objetos y aprenda a diseñar y utilizar de manera fácil y eficiente una o más GUI móviles en un solo gráfico.
preview
Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD

Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD

El presente artículo representa el primer intento de desarrollar un cliente MQTT nativo para MQL5. El MQTT es un protocolo de comunicación "publicación-suscripción". Es ligero, abierto, simple y está diseñado para implementarse con facilidad, lo cual permite su uso en muchas situaciones.
preview
Desarrollo de un factor de calidad para los EAs

Desarrollo de un factor de calidad para los EAs

En este artículo, te explicaremos cómo desarrollar un factor de calidad que tu Asesor Experto (EA) pueda mostrar en el simulador de estrategias. Te presentaremos dos formas de cálculo muy conocidas (Van Tharp y Sunny Harris).
preview
Programación orientada a objetos (OOP) en MQL5

Programación orientada a objetos (OOP) en MQL5

Como desarrolladores, debemos aprender a crear y desarrollar software que sea reutilizable y flexible sin duplicar código, especialmente si tenemos diferentes objetos con comportamientos distintos. Esto se puede lograr fácilmente utilizando las técnicas y principios de la programación orientada a objetos. En este artículo le presentamos los conceptos básicos de la programación orientada a objetos en MQL5.
preview
Redes neuronales: así de sencillo (Parte 47): Espacio continuo de acciones

Redes neuronales: así de sencillo (Parte 47): Espacio continuo de acciones

En este artículo ampliamos el abanico de tareas de nuestro agente. El proceso de entrenamiento incluirá algunos aspectos de la gestión de capital y del riesgo que forma parte integral de cualquier estrategia comercial.
preview
Posibilidades de ChatGPT de OpenAI en el marco de desarrollo de MQL4 y MQL5

Posibilidades de ChatGPT de OpenAI en el marco de desarrollo de MQL4 y MQL5

En este artículo, experimentaremos y analizaremos la inteligencia artificial ChatGPT de OpenAI para comprender sus capacidades y reducir el tiempo y la intensidad del trabajo en el desarrollo de nuestros asesores, indicadores y scripts. Asimismo, repasaremos rápidamente esta tecnología e intentaremos ver cómo usarla correctamente para programar en MQL4 y MQL5.
preview
Redes neuronales: así de sencillo (Parte 46): Aprendizaje por refuerzo dirigido a objetivos (GCRL)

Redes neuronales: así de sencillo (Parte 46): Aprendizaje por refuerzo dirigido a objetivos (GCRL)

En el artículo de hoy, nos familiarizaremos con otra tendencia en el campo del aprendizaje por refuerzo. Se denomina aprendizaje por refuerzo dirigido a objetivos (Goal-conditioned reinforcement learning, GCRL). En este enfoque, el agente se entrenará para alcanzar diferentes objetivos en determinados escenarios.
preview
Estrategia comercial de reversión a la media simple

Estrategia comercial de reversión a la media simple

La reversión a la media es una técnica de negociación de contratendencia en la que el tráder espera que el precio regrese a algún tipo de equilibrio, que generalmente se mide usando una media u otro indicador estadístico de la tendencia promediada.
preview
Redes neuronales: así de sencillo (Parte 45): Entrenando habilidades de exploración de estados

Redes neuronales: así de sencillo (Parte 45): Entrenando habilidades de exploración de estados

El entrenamiento de habilidades útiles sin una función de recompensa explícita es uno de los principales desafíos del aprendizaje por refuerzo jerárquico. Ya nos hemos familiarizado antes con dos algoritmos para resolver este problema, pero el tema de la exploración del entorno sigue abierto. En este artículo, veremos un enfoque distinto en el entrenamiento de habilidades, cuyo uso dependerá directamente del estado actual del sistema.
preview
Desarrollando un canal de Donchian personalizado con la ayuda de MQL5

Desarrollando un canal de Donchian personalizado con la ayuda de MQL5

Existen muchas herramientas técnicas que se pueden usar para visualizar los canales de precios. Una de esas herramientas es el canal de Donchian. En este artículo, aprenderemos cómo crear un canal de Donchian, y también a usarlo como indicador personalizado dentro de un asesor experto.