Aprendiendo a diseñar un sistema de trading con Relative Vigor Index

Mohamed Abdelmaaboud | 16 diciembre, 2022

Introducción

Le presentamos un nuevo artículo de la serie en la que estudiamos herramientas técnicas populares y aprendemos a crear sistemas comerciales basados en ellas. Hoy veremos el Índice de Vigor Relativo (Relative Vigor Index, RVI). El tema se dividirá en varias secciones:

  1. Definición de Relative Vigor Index
  2. Estrategias de Relative Vigor Index
  3. Esquemas de la estrategia de Relative Vigor Index
  4. Sistemas comerciales con Relative Vigor Index
  5. Conclusión

Escribiremos los códigos de este artículo en MQL5 (MetaQuotes Language 5) y ejecutaremos las aplicaciones resultantes en el terminal comercial MetaTrader 5. Recomendamos a todos los principiantes, y también a los programadores experimentados que lleven a la práctica por su cuenta todas las cosas de las que hablamos aquí: es precisamente la práctica la que desarrollará sus habilidades. Si aún no está familiarizado con MetaTrader 5 y MQL5, por favor lea "Escribiendo el código MQL5 en el MetaEditor" en uno de los artículos anteriores, ahí podrá encontrar instrucciones detalladas sobre cómo descargarlos y utilizarlos.

Todas las estrategias de las que hablaremos aquí se presentan exclusivamente como material de aprendizaje. No obstante, si está interesado en alguna de ellas, tenga en cuenta que deberá optimizarla en cualquier caso. Una vez más, el objetivo principal de este artículo y de las estrategias simples presentadas en él es aprender y asimilar el material. En general, antes de usar cualquiera de las técnicas en una cuenta real, siempre deberá probar esta para asegurarse de que resulta adecuada para usted.

¡Atención! Toda la información del presente artículo se ofrece «tal cual», únicamente con fines ilustrativos, y no supone ningún tipo de recomendación. El artículo no garantiza ningún resultado en absoluto. Todo lo que ponga en práctica usando este artículo como base, lo hará bajo su propia cuenta y riesgo; el autor no garantiza resultado alguno.


Definición de Relative Vigor Index

En este apartado aprenderemos con detalle qué es el Índice de Vigor Relativo (RVI). Se trata de un indicador técnico de impulso y un oscilador. Mide la fuerza de la tendencia, comparando para ello el precio de cierre con el nivel de apertura. Durante una tendencia alcista, el precio de cierre será superior al de apertura, y durante una tendencia bajista, el precio de cierre será inferior al de apertura. Además, se usa una media móvil simple para suavizar los valores. Debido a la naturaleza de los cálculos, el indicador RVI se comporta mejor en los mercados con tendencia que en los periodos planos. El cálculo del RVI es similar al del oscilador estocástico, solo que el RVI compara los precios de cierre con los de apertura, mientras que el estocástico compara el rango de precios durante un periodo determinado. El indicador RVI puede calcularse manualmente de la forma que sigue:

RVI = (CLOSE - OPEN) / (HIGH - LOW)

donde:

CLOSE es el precio de cierre;

OPEN es el precio de apertura;

HIGH es el máximo;

LOW es el mínimo.

No obstante, la mayoría de las veces, el RVI que usamos se mostrará en dos líneas, cada una de las cuales utilizará componentes diferentes para el cálculo.

Cálculo de la primera línea

MovAverage = (CLOSE-OPEN) + 2 * (CLOSE-1 - OPEN-1) + 2 * (CLOSE-2 - OPEN-2) + (CLOSE-3 - OPEN-3)

donde:

CLOSE — precio de cierre actual

CLOSE 1, CLOSE 2, CLOSE 3 — precios de cierre de 1, 2 y 3 periodos atrás

OPEN — precio de apertura actual

OPEN 1, OPEN 2, OPEN 3 — precios de apertura de 1, 2 y 3 periodos atrás

RangeAverage = (HIGH-LOW) + 2 x (HIGH-1 - LOW-1) + 2 x (HIGH-2 - LOW-2) + (HIGH-3 - LOW-3)

donde:

HIGH — último precio máximo

HIGH, HIGH 2, HIGH 3 — precio del máximo 1, 2 y 3 periodos atrás

LOW — último mínimo

LOW 1, LOW 2, LOW 3 — precio del mínimo 1, 2 y 3 periodos atrás

Media de RVI

Calculamos la segunda línea

RVIsignal = (RVIaverage + 2 * RVIaverage-1 + 2 * RVIaverage-2 + RVIaverage-3)/6

El concepto básico del indicador puede entenderse partiendo de las características del cálculo. Sin embargo, no deberemos hacerlo ahora porque se calcula automáticamente en el terminal comercial MetaTrader 5: todo lo que tenemos que hacer es seleccionarlo de la lista de indicadores disponibles. Cómo adjuntar el indicador al gráfico:

En MetaTrader 5, entre en "Insertar" --> "Indicadores" --> "Indicadores de Volumen" --> Relative Vigor Index

Insertando RVI

Tras seleccionar Relative Vigor Index, se abrirá una ventana con sus parámetros:

Parámetros de RVI

1 - periodo del indicador

2 - color de la línea RVI

3 - estilo de la línea RVI

4 - grosor de la línea RVI

5 - color de la línea de señal

6 - estilo de línea de señal

7 - grosor de la línea de señal

Seleccionamos los parámetros necesarios del indicador, presionamos el botón OK y el indicador se iniciará en el gráfico como se muestra a continuación:

RVI en el gráfico

En la captura de pantalla anterior, podemos ver que el indicador se ha iniciado y está funcionando en el gráfico: muestra dos líneas que oscilan alrededor del nivel cero.


Estrategias de Relative Vigor Index

Tras los aspectos teóricos, veamos cómo usar el indicador RVI. Para ello, veremos algunas estrategias sencillas. Antes de pasar a las estrategias en sí, queremos reiterar la necesidad de probar cualquier estrategia antes de usarla en una cuenta real. Compruebe si la estrategia resulta adecuada para sus operaciones y si es rentable. Esto resulta especialmente actual en el caso de las estrategias ilustrativas, como las de este artículo.

Esta estrategia puede generar señales de compra y cierre durante una tendencia alcista según determinadas condiciones. Si el valor actual de RVI y el valor actual de la línea de señal RVI están ambos por encima de cero y el valor actual de RVI está por encima de la señal RVI, tendremos una señal de compra. Por el contrario, si el valor actual de RVI y el valor actual de la línea de señal RVI está por debajo de cero, y el valor actual de RVI está por debajo de la señal RVI, tendremos una señal de cierre de posición.

Esquemáticamente:

RVI > 0 y señal RVI > 0 y además RVI > señal RVI --> Compra

RVI < 0 y señal RVI < 0 y además RVI < señal RVI --> Cierre

Las señales de esta estrategia serán las contrarias a la anterior, pues generará señales de venta y el cierre correspondiente. Si el valor actual de RVI y el valor actual de la línea de señal RVI están ambos por debajo de cero y el valor actual de RVI está por debajo de la señal RVI, tendremos una señal de venta. Por el contrario, si el valor actual de RVI y el valor actual de la línea de señal RVI están ambos por encima de cero, y el valor actual de RVI está por encima de la señal RVI, tendremos una señal de cierre de posición.

Esquemáticamente:

RVI < 0 y señal RVI < 0 y además RVI < señal RVI --> Apertura de una posición corta

RVI > 0 y señal RVI > 0 y además RVI > señal RVI --> Cierre 

Esta estrategia producirá señales de compra y venta en ciertas condiciones. Se generará una señal de compra cuando el precio de cierre sea mayor que la media móvil de 100 periodos y el valor actual de RVI sea mayor que el valor actual de la línea de señal de RVI. Si el precio de cierre está por debajo de la media móvil de 100 periodos y el valor actual de RVI está por debajo del valor de la señal, será una señal de venta.

Esquemáticamente:

Precio de cierre > media móvil de 100 periodos y valor RVI > señal RVI --> Compra

Precio de cierre < media móvil de 100 periodos y valor de RVI < señal RVI --> Venta


Esquemas de las estrategias de Relative Vigor Index

Ahora es el momento de considerar la creación de sistemas comerciales. En esta parte crearemos esquemas paso a paso para cada estrategia para ayudar a desarrollar sistemas comerciales.

Basándonos en esta estrategia, crearemos un sistema comercial que pueda utilizarse para generar señales de apertura y cierre de operaciones de compra durante una tendencia alcista. Para ello, deberemos comprobar los siguientes valores:

Si el valor actual de RVI es superior a cero, la línea de señal de RVI es superior a cero y el valor actual de RVI es superior a la línea de señal, el sistema comercial deberá retornar un comentario con los siguientes valores:

De lo contrario, si el valor actual de RVI es inferior a cero, la línea de señal de RVI es inferior a cero y el valor actual de RVI es inferior a la línea de señal, el sistema comercial deberá retornar un comentario con los siguientes valores:

El siguiente esquema paso a paso le ayudará a desarrollar un sistema comercial para esta estrategia:

Esquema de la estrategia de cruce de RVI durante la tendencia ascendente

Basándonos en esta estrategia, crearemos un sistema comercial que se podrá utilizar para generar señales de apertura y cierre de operaciones de venta durante una tendencia alcista. Para ello, deberemos comprobar los siguientes valores:

Las condiciones serán ligeramente distintas. Si el valor actual de RVI es inferior a cero, la línea de señal de RVI es inferior a cero y el valor actual de RVI es inferior a la línea de señal, el sistema comercial deberá retornar un comentario con los siguientes valores:

Si el valor actual de RVI está por debajo de cero y la línea de señal de RVI está por encima de cero, y al mismo tiempo el valor actual de RVI está por encima de la línea de señal, el sistema comercial deberá mostrar un comentario en el gráfico con los siguientes valores:

Esquema paso a paso para desarrollar un sistema comercial utilizando esta estrategia:

Esquema de la estrategia de cruce de RVI durante la tendencia descendente

El sistema comercial generará señales de compra y venta. Para ello, se monitorearán los siguientes valores:

Si el precio de cierre está por encima de la MA de 100 periodos y el valor actual de RVI está por encima de la línea de señal de RVI, necesitaremos que el sistema comercial retorne los siguientes valores como comentario en el gráfico:

Si el precio de cierre está por debajo de la MA de 100 periodos y el valor actual de RVI está por debajo del valor actual de la señal de RVI, el sistema comercial retornará los siguientes valores como comentario en el gráfico:

La siguiente figura muestra el esquema de esta estrategia:

 Esquema de la estrategia RVI, MA crossover

Sistemas comerciales con Relative Vigor Index

Así pues, hemos analizado algunas estrategias sencillas utilizando el indicador RVI y hemos elaborado sus esquemas de desarrollo. Ahora procederemos directamente a escribir los códigos de los sistemas comerciales. Para empezar, escribiremos un sistema sencillo que retorne el valor actual de RVI como un comentario en el gráfico. Vamos a ver todos los pasos necesarios para crear el código de un sistema de este tipo.

Crearemos dos arrays para el RVI y el RVI de la señal utilizando la función double:

   double rviArray[];
   double rviSignalArray[];

Luego estableceremos la bandera de clasificación como en la serie temporal AS_SERIES usando la función ArraySetAsSeries, que retorna true o false:

   ArraySetAsSeries(rviArray,true);
   ArraySetAsSeries(rviSignalArray,true);

A continuación, definiremos el Índice de Vigor Relativo usando la función iRVI, que retorna el manejador del indicador. Parámetros de la función:

int rviDef = iRVI(_Symbol,_Period,10);

Después obtendremos los datos del búfer del indicador RVI usando la función CopyBuffer. Parámetros de la función: 

   CopyBuffer(rviDef,0,0,3,rviArray);
   CopyBuffer(rviDef,1,0,3,rviSignalArray);

Luego definiremos los valores RVI y RVI de la señal usando la función NormalizeDouble, que retorna un valor de tipo double. Parámetros de la función:

   double rviVal = NormalizeDouble(rviArray[0],3);
   double rviSignalVal = NormalizeDouble(rviSignalArray[0],3);

Con la ayuda de la función Comment, mostraremos un comentario en el gráfico con el valor actual del indicador RVI.

   Comment("Relative Vigor Index Value is ",rviVal,"\n",
           "RVI Signal Value is ",rviSignalVal);

El código completo de este sistema tendrá el aspecto siguiente:

//+------------------------------------------------------------------+
//|                                                   Simple RVI.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
void OnTick()
  {
   double rviArray[];
   double rviSignalArray[];

   ArraySetAsSeries(rviArray,true);
   ArraySetAsSeries(rviSignalArray,true);

   int rviDef = iRVI(_Symbol,_Period,10);

   CopyBuffer(rviDef,0,0,3,rviArray);
   CopyBuffer(rviDef,1,0,3,rviSignalArray);

   double rviVal = NormalizeDouble(rviArray[0],3);
   double rviSignalVal = NormalizeDouble(rviSignalArray[0],3);

   Comment("Relative Vigor Index Value is ",rviVal,"\n",
           "RVI Signal Value is ",rviSignalVal);

  }
//+------------------------------------------------------------------+


Después compilaremos el código del asesor, y este aparecerá en la ventana del Navegador, en el terminal de MetaTrader 5:

 RVI en el navegador

Luego clicaremos dos veces para ejecutar el sistema en el terminal y se abrirá la ventana de configuración del asesor:

Ventana de la estrategia RVI simple

A continuación, permitiremos el trading automático "Allow Algo Trading", pulsaremos OK y el programa se iniciará en el gráfico:

 Programa RVI simple en el gráfico

El programa funciona y genera las señales correspondientes. Ejemplo de señal en el gráfico:

Señal del asesor Simple RVI

Como podemos ver, en la esquina superior izquierda del gráfico tenemos un comentario con el valor actual de RVI.

El código completo del sistema comercial que opera según esta estrategia tendrá el aspecto siguiente:

//+------------------------------------------------------------------+
//|                                      RVI Crossover - Uptrend.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
void OnTick()
  {
   double rviArray[];
   double rviSignalArray[];

   ArraySetAsSeries(rviArray,true);
   ArraySetAsSeries(rviSignalArray,true);

   int rviDef = iRVI(_Symbol,_Period,10);

   CopyBuffer(rviDef,0,0,3,rviArray);
   CopyBuffer(rviDef,1,0,3,rviSignalArray);

   double rviVal = NormalizeDouble(rviArray[0],3);
   double rviSignalVal = NormalizeDouble(rviSignalArray[0],3);

   if(rviVal>0 && rviSignalVal>0 && rviVal>rviSignalVal)
     {
      Comment("Buy Signal","\n",
              "Relative Vigor Index Value is ",rviVal,"\n",
              "RVI Signal Value is ",rviSignalVal);
     }
   if(rviVal<0 && rviSignalVal<0 && rviVal<rviSignalVal)
     {
      Comment("Close","\n",
              "Relative Vigor Index Value is ",rviVal,"\n",
              "RVI Signal Value is ",rviSignalVal);
     }


  }
//+------------------------------------------------------------------+


Diferencias en este código:

Las condiciones de la estrategia.

Con una señal de compra

   if(rviVal>0 && rviSignalVal>0 && rviVal>rviSignalVal)
     {
      Comment("Buy Signal","\n",
              "Relative Vigor Index Value is ",rviVal,"\n",
              "RVI Signal Value is ",rviSignalVal);
     }

La señal de cierre

   if(rviVal<0 && rviSignalVal<0 && rviVal<rviSignalVal)
     {
      Comment("Close","\n",
              "Relative Vigor Index Value is ",rviVal,"\n",
              "RVI Signal Value is ",rviSignalVal);
     }

Recompilamos el código, lo buscamos en el Navegador y lo ejecutamos en el gráfico. El asesor se adjuntará al gráfico de la misma forma que se muestra a continuación:

Sistema de cruce de RVI con tendencia alcista en el gráfico

El sistema comercial genera señales con el aspecto siguiente:

Señal de compra:

 RVI crossover - U - señal de compra

En la esquina superior izquierda del gráfico aparecerá un comentario con la señal y los siguientes valores:

En el caso de una señal de cierre:

 RVI crossover - U - señal de cierre

En la esquina superior izquierda del gráfico aparecerá un comentario con la señal y los siguientes valores:

Estas han sido las señales del sistema comercial de la estrategia comentada anteriormente, que opera en una tendencia alcista.

A continuación, mostraremos el código completo para crear un sistema comercial de este tipo:

//+------------------------------------------------------------------+
//|                                    RVI Crossover - Downtrend.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
void OnTick()
  {
   double rviArray[];
   double rviSignalArray[];

   ArraySetAsSeries(rviArray,true);
   ArraySetAsSeries(rviSignalArray,true);

   int rviDef = iRVI(_Symbol,_Period,10);

   CopyBuffer(rviDef,0,0,3,rviArray);
   CopyBuffer(rviDef,1,0,3,rviSignalArray);

   double rviVal = NormalizeDouble(rviArray[0],3);
   double rviSignalVal = NormalizeDouble(rviSignalArray[0],3);

   if(rviVal<0 && rviSignalVal<0 && rviVal<rviSignalVal)
     {
      Comment("Short Signal","\n",
              "Relative Vigor Index Value is ",rviVal,"\n",
              "RVI Signal Value is ",rviSignalVal);
     }
   if(rviVal>0 && rviSignalVal>0 && rviVal>rviSignalVal)
     {
      Comment("Cover","\n",
              "Relative Vigor Index Value is ",rviVal,"\n",
              "RVI Signal Value is ",rviSignalVal);
     }
  }
//+------------------------------------------------------------------+  

Diferencias en este código:

Las condiciones de la estrategia.

Con una señal corta

   if(rviVal<0 && rviSignalVal<0 && rviVal<rviSignalVal)
     {
      Comment("Short Signal","\n",
              "Relative Vigor Index Value is ",rviVal,"\n",
              "RVI Signal Value is ",rviSignalVal);
     }

La señal de cierre

   if(rviVal>0 && rviSignalVal>0 && rviVal>rviSignalVal)
     {
      Comment("Cover","\n",
              "Relative Vigor Index Value is ",rviVal,"\n",
              "RVI Signal Value is ",rviSignalVal);
     }

Después de compilar el código, ejecutaremos el archivo resultante en el terminal. El asesor se ejecutará en el gráfico y tendrá un aspecto parecido al siguiente:

 Sistema de la estrategia RVI crossover - D en el gráfico

Ahora podremos obtener señales basadas en esta estrategia y el sistema comercial. Ejemplos de señales generadas a partir de esta estrategia.

Con una señal corta:

 RVI crossover - D - en corto

En la esquina superior izquierda del gráfico aparecerá un comentario con la señal y los siguientes valores:

La señal de cierre

RVI crossover - D - señal de cierre

Como podemos ver, tenemos una señal y los siguientes valores:

Así que hemos creado un sistema comercial basado en la estrategia RVI Crossover - Downtrend para trabajar en una tendencia bajista.

A continuación, mostraremos el código completo para crear un sistema comercial de este tipo:

//+------------------------------------------------------------------+
//|                                           RVI & MA Crossover.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
void OnTick()
  {
   MqlRates pArray[];
   double maArray[];
   double rviArray[];
   double rviSignalArray[];

   int Data=CopyRates(_Symbol,_Period,0,1,pArray);
   ArraySetAsSeries(maArray,true);
   ArraySetAsSeries(rviArray,true);
   ArraySetAsSeries(rviSignalArray,true);

   int rviDef = iRVI(_Symbol,_Period,10);
   int maDef = iMA(_Symbol,_Period,100,0,MODE_EMA,PRICE_CLOSE);

   CopyBuffer(rviDef,0,0,3,rviArray);
   CopyBuffer(rviDef,1,0,3,rviSignalArray);
   CopyBuffer(maDef,0,0,3,maArray);

   double rviVal = NormalizeDouble(rviArray[0],3);
   double rviSignalVal = NormalizeDouble(rviSignalArray[0],3);
   double maVal = NormalizeDouble(maArray[0],3);

   if(pArray[0].close>maVal && rviVal>rviSignalVal)
     {
      Comment("Buy Signal","\n",
              "Closing price is ",pArray[0].close,"\n",
              "MA Value is ",maVal,"\n",
              "Relative Vigor Index Value is ",rviVal,"\n",
              "RVI Signal Value is ",rviSignalVal);
     }
   if(pArray[0].close<maVal && rviVal<rviSignalVal)
     {
      Comment("Sell Signal","\n",
              "Closing price is ",pArray[0].close,"\n",
              "MA Value is ",maVal,"\n",
              "Relative Vigor Index Value is ",rviVal,"\n",
              "RVI Signal Value is ",rviSignalVal);
     }


  }
//+------------------------------------------------------------------+


Diferencias en este código:

Creamos cuatro arrays (pArray, maArray, rviArray, rviSignalArray). Luego utilizaremos la función double, pero en lugar de pArray usaremos la función MqlRates, que almacena la información sobre el precio, el volumen y el spread.

   MqlRates pArray[];
   double maArray[];
   double rviArray[];
   double rviSignalArray[];


A continuación, estableceremos la bandera de clasificación como en la serie temporal AS_SERIES utilizando la función ArraySetAsSeries, que retorna true o false. Después usaremos la función CopyRates para rellenar el array y obtener los datos históricos de MqlRates. Parámetros de la función:

   int Data=CopyRates(_Symbol,_Period,0,1,pArray);
   ArraySetAsSeries(maArray,true);
   ArraySetAsSeries(rviArray,true);
   ArraySetAsSeries(rviSignalArray,true);

Para determinar el indicador RVI usaremos la función iRVI, y para la media móvil, utilizaremos iMA, que retorna el manejador del indicador MA. Parámetros de la función iMA:

   int rviDef = iRVI(_Symbol,_Period,10);
   int maDef = iMA(_Symbol,_Period,100,0,MODE_EMA,PRICE_CLOSE);

Después recuperaremos los datos del búfer de los indicadores RVI y MA usando la función "CopyBuffer".

   CopyBuffer(rviDef,0,0,3,rviArray);
   CopyBuffer(rviDef,1,0,3,rviSignalArray);
   CopyBuffer(maDef,0,0,3,maArray);

Luego determinaremos el RVI, el RVI de la señal y los valores medios utilizando la función NormalizeDouble.

   double rviVal = NormalizeDouble(rviArray[0],3);
   double rviSignalVal = NormalizeDouble(rviSignalArray[0],3);
   double maVal = NormalizeDouble(maArray[0],3);

Las condiciones de la estrategia.

Con una señal de compra

   if(pArray[0].close>maVal && rviVal>rviSignalVal)
     {
      Comment("Buy Signal","\n",
              "Closing price is ",pArray[0].close,"\n",
              "MA Value is ",maVal,"\n",
              "Relative Vigor Index Value is ",rviVal,"\n",
              "RVI Signal Value is ",rviSignalVal);
     }

Con una señal de venta

   if(pArray[0].close<maVal && rviVal<rviSignalVal)
     {
      Comment("Sell Signal","\n",
              "Closing price is ",pArray[0].close,"\n",
              "MA Value is ",maVal,"\n",
              "Relative Vigor Index Value is ",rviVal,"\n",
              "RVI Signal Value is ",rviSignalVal);
     }

A continuación, compilaremos el código, buscaremos el archivo resultante en el Navegador del terminal y ejecutaremos el asesor en el gráfico del símbolo comercial:

 Sistema RVI, MA en el gráfico

El sistema comercial funciona y genera señales según la estrategia, y se ven así.

Señal de compra:

 RVI, MA crossover - señal de compra

En la esquina superior izquierda del gráfico aparecerá un comentario con la señal y los siguientes valores:

La señal de venta

RVI, MA crossover - señal de venta

Tenemos una señal con los siguientes valores:

Eso es todo, ya hemos creado sistemas automáticos basados en cada una de las estrategias analizadas. Todos ellos generan señales según las instrucciones mostradas en los esquemas anteriores.


Conclusión

En este artículo hemos analizado otra herramienta técnica, el Índice de Vigor Relativo RVI. Hemos descubierto qué es este indicador, qué mide y cómo se puede calcular manualmente. También hemos visto opciones de uso del indicador en estrategias sencillas:

Asimismo, hemos desarrollado esquemas paso a paso para cada estrategia analizada que nos serán útiles a la hora de escribir el código del sistema comercial. Eso es todo, ya hemos creado sistemas automáticos basados en cada una de las estrategias estudiadas. Dichos sistemas han sido diseñados para funcionar en el terminal MetaTrader 5.

Esperamos que el lector escriba su propio código repitiendo todo lo que hemos hablado en este artículo. También esperamos que este artículo le ayude a encontrar nuevas ideas o una nueva forma de ver las antiguas, y también a mejorar sus resultados comerciales en general. Si le ha gustado este artículo y le ha resultado útil, lea los artículos anteriores de la misma serie para aprender a desarrollar sistemas comerciales basados en otros indicadores técnicos populares.