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
Superando las limitaciones del aprendizaje automático (Parte 3): Una nueva perspectiva sobre el error irreducible

Superando las limitaciones del aprendizaje automático (Parte 3): Una nueva perspectiva sobre el error irreducible

Este artículo ofrece una nueva perspectiva sobre una fuente de error geométrica y oculta que influye de forma imperceptible en todas las predicciones que realizan sus modelos. Al replantearnos cómo medimos y aplicamos las previsiones del aprendizaje automático en el ámbito del trading, ponemos de manifiesto cómo esta perspectiva, a menudo pasada por alto, puede dar lugar a decisiones más acertadas, mayores rendimientos y una forma más inteligente de trabajar con modelos que creíamos que ya entendíamos.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 38): VWAP con búfer de ticks y motor de desequilibrio de ventana corta

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 38): VWAP con búfer de ticks y motor de desequilibrio de ventana corta

En la parte 38, vamos a crear un panel de monitorización de MT5 apto para entornos de producción que convierte los ticks sin procesar en señales útiles. El EA almacena en búfer los datos de ticks para calcular el VWAP a nivel de tick, una métrica de desequilibrio de ventana corta (flujo) y el cálculo del tamaño de posición basado en el ATR. A continuación, muestra el spread, el ATR y el flujo mediante barras de bajo parpadeo. El sistema calcula un tamaño de lote recomendado y un stop de 1R, y emite alertas configurables en caso de spreads ajustados, flujo intenso y condiciones de ventaja operativa. El trading automático está desactivado de forma intencionada; la prioridad sigue siendo la generación de señales fiables y una experiencia de usuario fluida.
preview
Aprendiendo MQL5 de principiante a profesional (Parte VII): Principios de depuración de aplicaciones MQL

Aprendiendo MQL5 de principiante a profesional (Parte VII): Principios de depuración de aplicaciones MQL

La corrección de errores es una parte indispensable del ciclo de programación. En este artículo se analizan las técnicas habituales para corregir errores (depuración) en cualquier aplicación que se ejecute en el entorno de MetaTrader 5.
preview
Reimaginando las estrategias clásicas (Parte 15): Estrategia de ruptura diaria

Reimaginando las estrategias clásicas (Parte 15): Estrategia de ruptura diaria

Los traders humanos llevaban mucho tiempo participando en los mercados financieros antes del auge de los ordenadores, desarrollando reglas prácticas que guiaban sus decisiones. En este artículo, retomamos una estrategia de ruptura bien conocida para comprobar si dicha lógica de mercado, aprendida a través de la experiencia, puede competir de tú a tú con los métodos sistemáticos. Nuestros resultados muestran que, aunque la estrategia original ofrecía una alta tasa de acierto, adolecía de inestabilidad y de un control deficiente del riesgo. Al perfeccionar este enfoque, demostramos cómo los conocimientos discrecionales pueden adaptarse a estrategias de trading algorítmico más sólidas.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 37): Sentiment Tilt Meter

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 37): Sentiment Tilt Meter

El sentimiento del mercado es una de las fuerzas más ignoradas pero a la vez más poderosas que influyen en el movimiento de los precios. Mientras que la mayoría de los operadores se basan en indicadores rezagados o conjeturas, el Asesor Experto (EA) Sentiment Tilt Meter (STM) transforma los datos brutos del mercado en una guía visual clara, que muestra si el mercado tiende al alza, a la baja o se mantiene neutral en tiempo real. Esto facilita la confirmación de las operaciones, evita las entradas erróneas y permite sincronizar mejor la participación en el mercado.
preview
Del nivel básico al intermedio: Archivo de plantilla (III)

Del nivel básico al intermedio: Archivo de plantilla (III)

En el pasado publiqué un artículo que generó mucha confusión y fue poco comprendido por muchos de quienes lo leyeron. Pues bien, en este artículo vamos a retomar precisamente aquel concepto que en su momento no parecía tener ningún sentido y a explicarlo mucho mejor. Es decir, veremos cómo colocar más de un indicador en una sola subventana, de forma que puedan leerse y comprenderse fácilmente.
preview
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 12): Construcción de clasificadores lineales mediante factorización matricial

Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 12): Construcción de clasificadores lineales mediante factorización matricial

Este artículo explora el importante papel de la factorización matricial en el trading algorítmico, específicamente en aplicaciones MQL5. Desde modelos de regresión hasta clasificadores de múltiples objetivos, analizamos ejemplos prácticos que demuestran la facilidad con la que estas técnicas pueden integrarse utilizando las funciones integradas de MQL5. Ya sea que esté prediciendo la dirección de los precios o modelando el comportamiento de los indicadores, esta guía sienta una base sólida para construir sistemas de trading inteligentes utilizando métodos matriciales.
preview
Del nivel básico al intermedio: Archivo de plantilla (II)

Del nivel básico al intermedio: Archivo de plantilla (II)

El artículo muestra cómo aplicar indicadores a gráficos creados mediante el objeto OBJ_CHART utilizando plantillas, cuando ChartIndicatorAdd no funciona en este contexto. Explicamos cómo guardar una plantilla con el indicador, obtener el ID del gráfico y aplicar ChartApplyTemplate al destino correcto. Aprenderás a integrar indicadores como recurso, automatizar la configuración del gráfico incrustado y comprender algunas limitaciones prácticas, como el hecho de que los indicadores no aparezcan en la ventana estándar.
preview
Del nivel básico al intermedio: Archivo de plantilla (I)

Del nivel básico al intermedio: Archivo de plantilla (I)

El artículo explica cómo transferir la configuración del gráfico principal a un gráfico incrustado en OBJCHART, teniendo en cuenta que solo se hereda parte de la plantilla. Mostramos cómo sincronizar colores y propiedades, adaptarse a los cambios de tamaño y aplicar ajustes al gráfico interno utilizando el identificador del gráfico y llamadas explícitas de actualización. El lector aprenderá a reproducir de forma predecible la apariencia y el comportamiento del gráfico principal en OBJCHART.
preview
Del nivel básico al intermedio: Objetos y subventanas (III)

Del nivel básico al intermedio: Objetos y subventanas (III)

Este artículo describe un flujo seguro para manejar la eliminación de objetos gráficos: interceptar eventos, recrear el objeto y recuperar el conjunto mínimo de propiedades. Mostramos cómo evitar errores al trabajar con punteros, impedir recreaciones indebidas durante el cierre y guardar la posición y las dimensiones, actualizándolas mediante DRAG/CHANGE. De este modo, el indicador se mantiene íntegro y el usuario conserva parte de sus personalizaciones.
preview
Del nivel básico al intermedio: Objetos y subventanas (II)

Del nivel básico al intermedio: Objetos y subventanas (II)

Este artículo explica cómo capturar y gestionar la eliminación de objetos del gráfico en MQL5 utilizando eventos de MetaTrader 5. Al detectar la eliminación de un objeto creado por el indicador, el código elimina la instancia correspondiente para evitar inconsistencias y subventanas residuales. El enfoque utiliza nombres únicos y un archivo de cabecera, priorizando la simplicidad y la previsibilidad del comportamiento.
preview
Integración de MQL5 con paquetes de procesamiento de datos (Parte 5): Aprendizaje adaptativo y flexibilidad

Integración de MQL5 con paquetes de procesamiento de datos (Parte 5): Aprendizaje adaptativo y flexibilidad

Esta parte se centra en la creación de un modelo de negociación flexible y adaptativo, entrenado con datos históricos del XAUUSD, preparándolo para su exportación a ONNX y su posible integración en sistemas de negociación en tiempo real.
preview
Del básico al intermedio: Recursos

Del básico al intermedio: Recursos

En este artículo conocerás un concepto que puede resultar extremadamente útil en muchos casos y facilitar enormemente el intercambio de tus aplicaciones y proyectos. Aunque no es un concepto sencillo de explicar por completo en un solo artículo, lo que se explicará y expondrá aquí ya nos permitirá hacer muchas cosas en el futuro, incluidas algunas que, de otro modo, no sería posible realizar. Precisamente porque este artículo aún no se había publicado: para que pudieras contar con material de apoyo y una base inicial de estudio.
preview
Del básico al intermedio: Objetos y subventanas (I)

Del básico al intermedio: Objetos y subventanas (I)

El artículo detalla la creación y el posicionamiento del objeto OBJ_CHART dentro de subventanas, destacando las diferencias entre la ventana principal y las subventanas. Muestra cómo integrar indicadores mediante recursos (#resource, ChartIndicatorAdd) e identificar la subventana correcta a partir del nombre corto del indicador. El resultado es un código más estable, portátil y fácil de reutilizar.
preview
Del básico al intermedio: Subventanas (IV)

Del básico al intermedio: Subventanas (IV)

En este artículo veremos que no todo es como muchos piensan al principio. Una de las cosas más interesantes de la programación es que podemos garantizar que las cosas siempre sean como las hemos planeado. Así que lean este artículo con atención para aprender algunos de los conceptos más confusos relacionados con el uso de subventanas. Si entiendes lo que se explicará aquí, podrás comprender muchas de las cosas que haremos más adelante.
preview
Del básico al intermedio: Subventanas (III)

Del básico al intermedio: Subventanas (III)

Este texto detalla el uso de subventanas en indicadores MQL5: creación básica, detección de instancias y prevención de duplicados. Aborda INDICATOR_SHORTNAME, la consulta de ventanas e indicadores del gráfico y la diferencia entre la visualización en el gráfico principal y en una ventana separada. También muestra cómo definir la altura y los límites de la subventana para estandarizar la interfaz y facilitar la disposición de objetos.
preview
Dominando los registros (Parte 10): Cómo evitar la repetición de registros implementando un sistema de supresión

Dominando los registros (Parte 10): Cómo evitar la repetición de registros implementando un sistema de supresión

Hemos creado un sistema de supresión de registros en la biblioteca Logify. En él se detalla cómo la clase CLogifySuppression reduce el ruido en la consola mediante la aplicación de reglas configurables para evitar mensajes repetitivos o irrelevantes. También abarcamos el marco de configuración externa, los mecanismos de validación y las pruebas exhaustivas para garantizar la solidez y la flexibilidad en la captura de registros durante el desarrollo del robot de trading o del indicador.
preview
Del básico al intermedio: Subventanas (II)

Del básico al intermedio: Subventanas (II)

El artículo profundiza en el uso de las subventanas en MetaTrader 5 y muestra cómo la dirección del cálculo en OnCalculate afecta a los búferes y al trazado de las medias. Explica, en la práctica, cómo se encadenan indicadores mediante FIRST INDICATOR’S DATA y PREVIOUS INDICATOR’S DATA, el efecto de la eliminación en cadena de los indicadores dependientes y cómo se comporta indicatorseparatewindow. El lector aprenderá a diagnosticar problemas de visualización y a estructurar indicadores que funcionen correctamente en subventanas.
preview
Del básico al intermedio: Subventanas (I)

Del básico al intermedio: Subventanas (I)

En este artículo comenzaremos a ver cómo trabajar con subventanas en MetaTrader 5 mediante MQL5. Es un tema amplio, con varios aspectos prácticos que pueden resultar complicados, así que haremos una breve introducción. Aun así, querido lector, es importante que comprendas lo que veremos aquí, pues podría marcar una gran diferencia en tu futuro.
preview
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 11): Una introducción sencilla a los fundamentos del álgebra lineal

Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 11): Una introducción sencilla a los fundamentos del álgebra lineal

En este artículo, sentaremos las bases para el uso de potentes herramientas algebraicas lineales implementadas en la API de matrices y vectores de MQL5. Para poder utilizar esta API con soltura, debemos tener un conocimiento sólido de los principios del álgebra lineal que rigen el uso adecuado de estos métodos. El objetivo de este artículo es que el lector adquiera una comprensión intuitiva de algunas de las reglas más importantes del álgebra lineal que nosotros, como traders algorítmicos en MQL5, necesitamos para empezar a sacar partido a esta potente biblioteca.
preview
Del básico al intermedio: Indicadores técnicos (II)

Del básico al intermedio: Indicadores técnicos (II)

En este artículo mostramos cómo crear un indicador en MQL5 que dibuja múltiples medias móviles en un mismo gráfico, reduciendo el código duplicado. Se utilizan iMA, buffers de indicador, CopyBuffer, PlotIndexSetInteger/String y una estructura constante que agrupa períodos, métodos y colores. El dimensionamiento de indicatorbuffers e indicatorplots se deriva de Averange.Size(). El resultado facilita el mantenimiento y permite añadir o eliminar medias modificando únicamente una lista.
preview
Del básico al intermedio: Indicadores técnicos (I)

Del básico al intermedio: Indicadores técnicos (I)

En este artículo veremos los conceptos básicos sobre cómo utilizar los indicadores técnicos incluidos y mantenidos por MetaTrader 5. Conocer y comprender este tipo de indicadores puede hacer que la implementación de una solución sea una tarea mucho más sencilla, rápida y eficiente, ya que no necesitas preocuparte por los cálculos que deben realizarse. La propia plataforma se encarga de realizarlos por nosotros.
preview
Del básico al intermedio: Sobrecarga de operadores (VI)

Del básico al intermedio: Sobrecarga de operadores (VI)

Aquí implementaremos la eliminación mediante sobrecarga de operadores. Sin duda, este será un artículo que muchos necesitarán estudiar durante bastante tiempo para poder asimilar todo lo que se mostrará aquí. Quiero recordarte que lo que veremos será solo una pequeña e insignificante parte de todo aquello que llamamos programación.
preview
Tablas en el paradigma MVC en MQL5: integramos el componente Model en el componente View

Tablas en el paradigma MVC en MQL5: integramos el componente Model en el componente View

En este artículo crearemos la primera versión del control TableControl (TableView). Se tratará de una tabla estática sencilla, creada a partir de los datos de entrada definidos por dos arrays: un array de datos y un array de encabezados de columnas.s
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 34): Conversión de datos brutos del mercado en modelos predictivos mediante un pipeline avanzado de ingesta

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 34): Conversión de datos brutos del mercado en modelos predictivos mediante un pipeline avanzado de ingesta

¿Alguna vez te has perdido un repunte repentino del mercado o te ha pillado desprevenido cuando ocurrió uno? La mejor manera de anticiparse a los eventos en tiempo real es aprender de los patrones históricos. Con el objetivo de entrenar un modelo de aprendizaje automático, este artículo comienza mostrándole cómo crear un script en MetaTrader 5 que procese datos históricos y los envíe a Python para su almacenamiento, sentando así las bases de su sistema de detección de picos. Sigue leyendo para ver cada paso en acción.
preview
De novato a experto: EA de informes — Configuración del flujo de trabajo

De novato a experto: EA de informes — Configuración del flujo de trabajo

Los brókeres suelen proporcionar informes de cuentas de trading a intervalos regulares, según un calendario predefinido. Estas empresas, a través de sus tecnologías API, tienen acceso a la actividad de su cuenta y al historial de operaciones, lo que les permite generar informes de rendimiento en su nombre. Del mismo modo, la terminal MetaTrader 5 almacena registros detallados de su actividad de trading, que pueden aprovecharse mediante MQL5 para crear informes totalmente personalizados y definir métodos personalizados de envío.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 33): Herramienta de teoría del rango de velas

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 33): Herramienta de teoría del rango de velas

Mejora tu análisis del mercado con el paquete «Candle-Range Theory» para MetaTrader 5, una solución totalmente nativa de MQL5 que convierte barras de precio en bruto en información de volatilidad en tiempo real. La biblioteca CRangePattern, de tamaño reducido, compara el rango real de cada vela con un ATR adaptativo y la clasifica en el instante en que cierra; a continuación, el indicador CRT muestra esas clasificaciones en el gráfico mediante rectángulos nítidos y flechas codificadas por color que revelan consolidaciones cada vez más estrechas, rupturas explosivas y envolvimientos completos del rango en el momento en que se producen.
preview
Superando las limitaciones del aprendizaje automático (Parte 2): Falta de reproducibilidad

Superando las limitaciones del aprendizaje automático (Parte 2): Falta de reproducibilidad

El artículo analiza por qué los resultados de las operaciones pueden diferir significativamente entre distintos brókeres, incluso utilizando la misma estrategia y el mismo símbolo financiero, debido a la descentralización de los precios y a las discrepancias en los datos. Este artículo ayuda a los desarrolladores de MQL5 a comprender por qué sus productos pueden recibir opiniones mixtas en el Market de MQL5, e insta a los desarrolladores a adaptar sus estrategias a los brókers específicos para garantizar resultados transparentes y reproducibles. Esto podría convertirse en una práctica recomendada importante y específica del sector, que beneficiaría a nuestra comunidad si se adoptara de forma generalizada.
preview
Reimaginando las estrategias clásicas en MQL5 (Parte 14): Análisis de múltiples estrategias

Reimaginando las estrategias clásicas en MQL5 (Parte 14): Análisis de múltiples estrategias

En este artículo, continuamos nuestro análisis sobre cómo crear un conjunto de estrategias de trading y utilizar el optimizador genético de MT5 para ajustar los parámetros de las estrategias. Hoy hemos analizado los datos en Python, demostrando que nuestro modelo podía predecir mejor qué estrategia obtendría mejores resultados, logrando una mayor precisión que al pronosticar directamente la rentabilidad del mercado. Sin embargo, cuando probamos nuestra aplicación con sus modelos estadísticos, nuestros niveles de rendimiento se desplomaron. Posteriormente descubrimos que, lamentablemente, el optimizador genético favorecía estrategias muy correlacionadas, lo que nos llevó a revisar nuestro método para mantener fijas las ponderaciones de los votos y centrar la optimización en los ajustes de los indicadores.
preview
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 9): Cruce de dos medias móviles

Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 9): Cruce de dos medias móviles

Este artículo describe el diseño de una estrategia de cruce de medias móviles dobles que utiliza señales de un marco temporal superior (D1) para orientar las entradas en un marco temporal inferior (M15), calculándose los niveles de stop-loss a partir de un marco temporal de riesgo intermedio (H4). Introduce constantes del sistema, enumeraciones personalizadas y la lógica para los modos de seguimiento de tendencias y de retorno a la media, al tiempo que hace hincapié en la modularidad y en la optimización futura mediante un algoritmo genético. Este enfoque permite establecer condiciones flexibles de entrada y salida, con el objetivo de reducir el retraso de la señal y mejorar la sincronización de las operaciones, alineando las entradas en los marcos temporales más cortos con las tendencias de los marcos temporales más largos.
preview
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 8): Análisis de múltiples estrategias (3) — Política de votación ponderada

Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 8): Análisis de múltiples estrategias (3) — Política de votación ponderada

Este artículo analiza por qué determinar el número óptimo de estrategias en un conjunto puede ser una tarea compleja y cómo el optimizador genético de MetaTrader 5 facilita su resolución. MQL5 Cloud también se utiliza como recurso clave para acelerar las pruebas retrospectivas y la optimización. En síntesis, nuestro análisis aquí sienta las bases para desarrollar modelos estadísticos que permitan evaluar y mejorar las estrategias de negociación a partir de nuestros resultados iniciales del conjunto de estrategias.
preview
Predicción en el trading y modelos de Grey

Predicción en el trading y modelos de Grey

En este artículo se analiza la aplicación de los modelos Grey para la predicción de series temporales financieras. Analizaremos los principios de funcionamiento de los modelos Grey y las particularidades de su aplicación a las series financieras. Discutiremos las ventajas y las limitaciones del uso de estos modelos en el trading.
preview
Negociamos con opciones sin opciones (Parte 2): Aplicación en el trading real

Negociamos con opciones sin opciones (Parte 2): Aplicación en el trading real

En este artículo se analizan estrategias de opciones sencillas y su implementación en MQL5. Vamos a escribir un asesor experto básico que iremos modernizando y haciendo más complejo.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 29): Boom and Crash Interceptor EA

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 29): Boom and Crash Interceptor EA

Descubre cómo el EA «Boom & Crash Interceptor» transforma tus gráficos en un sistema de alertas proactivo, capaz de detectar movimientos explosivos mediante análisis ultrarrápidos, detección de picos de volatilidad, confirmación de tendencias y filtros de zonas de pivote. Con las flechas verdes «Boom» y rojas «Crash», que te guían en cada decisión, esta herramienta elimina el ruido y te permite sacar partido de los picos del mercado como nunca antes. Descúbrelo y comprueba cómo funciona y por qué puede convertirse en tu próxima ventaja imprescindible.
preview
Dominando los registros (Parte 9): Implementación del patrón Builder y adición de configuraciones predeterminadas

Dominando los registros (Parte 9): Implementación del patrón Builder y adición de configuraciones predeterminadas

Este artículo muestra cómo simplificar drásticamente el uso de la biblioteca Logify con el patrón Builder y las configuraciones predeterminadas automáticas. Explica la estructura de los constructores especializados, cómo utilizarlos con la función de autocompletado inteligente y cómo garantizar un registro funcional incluso sin configuración manual. También incluye ajustes para la versión 5100 de MetaTrader 5.
preview
Del básico al intermedio: Sobrecarga de operadores (V)

Del básico al intermedio: Sobrecarga de operadores (V)

En este artículo vemos cómo manipular un código para implementar una solución completamente diferente de lo que muchos creen posible en MQL5. Una observación importante: para comprender adecuadamente este contenido, es necesario haber asimilado correctamente los conceptos tratados en los artículos anteriores.
preview
Del básico al intermedio: Sobrecarga de operadores (IV)

Del básico al intermedio: Sobrecarga de operadores (IV)

En este artículo, haremos una primera aproximación para mostrar cómo podemos implementar la sobrecarga del operador de subíndice y también del operador de asignación, intentando ofrecer un enfoque práctico e interesante para todos. Lo que veremos aquí es solo una parte de lo que aún pretendo mostrar y que está directamente relacionado con la sobrecarga de estos operadores.
preview
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 8): Análisis de múltiples estrategias (2)

Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 8): Análisis de múltiples estrategias (2)

Únase a nosotros en nuestra próxima charla, donde combinaremos nuestras dos primeras estrategias de trading en una estrategia de trading conjunta. Demostraremos los diferentes esquemas posibles para combinar múltiples estrategias y también cómo ejercer control sobre el espacio de parámetros, para garantizar que la optimización efectiva siga siendo posible incluso a medida que aumenta el tamaño de nuestros parámetros.
preview
Del básico al intermedio: Sobrecarga de operadores (III)

Del básico al intermedio: Sobrecarga de operadores (III)

En este artículo veremos cómo implementar la sobrecarga tanto de operadores lógicos como de operadores relacionales. Hacerlo requiere cierto cuidado y una buena dosis de atención. Un simple descuido al implementar la sobrecarga de estos operadores puede hacer que todo el código termine siendo completamente inservible. Si la sobrecarga presenta algún problema, toda una base de datos creada a partir de los resultados generados por el código deberá descartarse por completo o, como mínimo, revisarse íntegramente.
preview
Del básico al intermedio: Sobrecarga de operadores (II)

Del básico al intermedio: Sobrecarga de operadores (II)

Este artículo puede parecer bastante confuso al principio por el contenido que presentaré. Sin embargo, he intentado presentar todo de la forma más sencilla y didáctica posible. Espero que comprendas lo que voy a mostrar aquí y que te resulte útil en algún momento.