Aprendiendo a diseñar un sistema de trading con VIDYA

Mohamed Abdelmaaboud | 1 diciembre, 2022

Introducción

Bienvenidos a un nuevo artículo de la serie dedicada a la creación de sistemas comerciales basados en indicadores técnicos populares y estrategias simples. Hoy hablaremos del indicador de Media Móvil con Periodo de Promediación Dinámico (Variable Index Dynamic Average, VIDYA). Es un indicador de tendencia, lo cual significa que sus lecturas seguirán la tendencia. Por consiguiente, el indicador es rezagado, es decir, se mueve después de que el propio precio lo haya hecho. Una vez más, el trabajo sobre el indicador se dividirá en varios temas:

  1. Definición del indicador VIDYA
  2. Estrategias basadas en el indicador VIDYA
  3. Esquema de las estrategias según VIDYA
  4. Sistemas comerciales según VIDYA
  5. Conclusión


Para desarrollar y mejorar sus habilidades de programación, necesitará poner en práctica lo aprendido: esto le ayudará a comprender mejor lo que estamos analizando. En general, la práctica es un factor esencial en cualquier proceso de aprendizaje. En nuestros artículos, utilizaremos el lenguaje de programación MQL5 (MetaQuotes Language 5) integrado en el terminal MetaTrader 5 y el MetaEditor para escribir el código. Si no sabe cómo instalar MetaTrader 5 o utilizar el MetaEditor, le recomiendo que lea "Escribiendo el código MQL5 en el MetaEditor" en mi artículo anterior.

¡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 del indicador VIDYA

VIDYA es un indicador de tendencia desarrollado por Tushar Chande. Es similar a una media móvil exponencial, salvo que el indicador se ajustará dinámicamente según la volatilidad relativa de los precios. Para medir la volatilidad, el indicador utiliza el Chande Momentum Oscillator (CMO), que mide la relación entre la suma de movimientos positivos y negativos. Esto resultará más fácil de entender cuando intentemos calcular el indicador manualmente. El CMO se utiliza para suavizar la media móvil exponencial, por lo tanto, tendremos los siguientes parámetros para el indicador: el periodo del oscilador CMO y el periodo de promedio de la EMA. El indicador puede usarse como cualquier media móvil para determinar si la tendencia es alcista o bajista. En artículos anteriores, hemos hablado muchas veces de las tendencias. Por ejemplo, podrá leer una descripción detallada de la tendencia en el artículo del enlace. El indicador también puede usarse para generar señales de compra o venta. En otra sección, veremos diferentes variantes de estrategias comerciales sencillas con el indicador VIDYA.

Ahora veremos cómo calcular el indicador VIDYA manualmente: esto nos permitirá entender el concepto del indicador o usarlo de forma más eficaz. Para calcular el indicador, deberemos calcular sus componentes.

EMA(i) = Price(i) * F + EMA(i-1)*(1-F)

donde:

EMA(i) = media exponencial actual

Price(i) = precio actual

F (factor de suavizado) = 2/(EMA del periodo+1)

EMA(i-1) = valor anterior de la EMA

VIDYA(i) = Price(i) * F * ABS(CMO(i)) + VIDYA(i-1) * (1 - F* ABS(CMO(i)))

donde:

VIDYA(i) = valor actual del indicador VIDYA

ABS(CMO(i)) = valor actual absoluto del oscilador Chande Momentum Oscillator

VIDYA(i-1) = valor anterior del indicador VIDYA

CMO(i) = (UpSum(i) - DnSum(i))/(UpSum(i) + DnSum(i))

donde:

UpSum(i) = valor actual de la suma de los movimientos positivos del periodo

DnSum(i) = valor actual de la suma de los movimientos negativos del periodo

A continuación, obtendremos las lecturas del indicador VIDYA. Por fortuna, no necesitaremos calcular el indicador manualmente, pues existe uno listo para usar que ya viene incorporado en la plataforma MetaTrader 5. Podrá seleccionarlo de la lista de indicadores disponibles y ejecutarlo inmediatamente en el gráfico.

Insertar --> Indicadores --> Tendencias --> Variable Index Dynamic Average

Inserción de VIDYA

Se abrirá una ventana con los parámetros del indicador:

Parámetros del indicador VIDYA

1 - Periodo del oscilador de impulso de Chande CMO

2 - Periodo de la media móvil exponencial EMA

3 - tipo de precio

4 - color de la línea del indicador VIDYA

5 - estilo de la línea del indicador VIDYA

6 - grosor de la línea del indicador VIDYA

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

 Indicador VIDYA en el gráfico

Como podemos ver en el ejemplo, el indicador se ejecuta directamente en la ventana del gráfico y se muestra como una línea por encima o por debajo del precio. Cuando la línea VIDYA se encuentra por encima del precio, indica el dominio de la fuerza bajista, y viceversa, cuando la línea VIDYA se encuentra por debajo del precio, indica el dominio de la fuerza alcista en el mercado.


Estrategias basadas en el indicador VIDYA

En esta parte, aprenderemos a usar el indicador VIDYA según su concepto, utilizando para ello estrategias sencillas como ejemplo. Para generar señales más fiables y eficaces, lo mejor es combinar el indicador con otras herramientas técnicas o indicadores. De este modo, obtendremos más información y evaluaremos la situación desde distintos ángulos. Esta es una de las mejores particularidades del análisis técnico.

Estrategia uno: identificador de tendencia según VIDYA

La estrategia informará del tipo de tendencia -alcista o bajista- comparando el cierre actual y el valor actual VIDYA con la configuración predeterminada (9,12). Así, se generará una señal de tendencia alcista si el cierre actual está por encima del valor VIDYA. Por el contrario, si el cierre actual está por debajo del valor VIDYA, se generará una señal de tendencia bajista.

Cierre actual > VIDYA --> tendencia alcista

Cierre actual < VIDYA --> tendencia bajista

Segunda estrategia: cruce de VIDYA

Según esta estrategia, recibiremos señales de compra o venta basadas en el análisis del indicador, como en la estrategia anterior. De esta manera, se generará una señal de compra si el cierre actual está por encima del valor VIDYA. Por el contrario, si el precio de cierre está por debajo del valor VIDYA, se generará una señal de venta.

Cierre actual > VIDYA --> señal de compra

Cierre actual < VIDYA --> señal de venta

Estrategia tres: cruce de dos VIDYA

Las señales de compra o venta se generarán a partir del análisis de dos indicadores VIDYA: con los ajustes (9, 12) y con los ajustes (20, 50). Recibiremos una señal de compra cuando VIDYA (9, 12) ascienda por encima de VIDYA (20, 50). Por el contrario, cuando el valor del indicador VIDYA con los parámetros (9, 12) descienda por debajo del indicador con los parámetros (20, 50), será una señal de venta.

VIDYA (9, 12) > VIDYA (20, 50) --> señal de compra

VIDYA (9, 12) < VIDYA (20, 50) --> señal de venta

Estas tres sencillas estrategias nos muestran las opciones de uso del indicador VIDYA.


Esquema de las estrategias según VIDYA

En esta sección, desarrollaremos paso a paso un plan para crear un sistema comercial basado en cada una de las estrategias que hemos analizado.

Estrategia uno: identificador de tendencia según VIDYA

El sistema basado en esta estrategia deberá generar y emitir señales con el tipo de tendencia actual. Para ello, deberemos comprobar dos valores: el cierre de la vela actual y el valor actual del indicador VIDYA, y basándonos en ello, determinar la tendencia. Si el cierre actual está por encima del valor VIDYA, será una señal de tendencia alcista.

En este caso, el sistema mostrará un comentario en el gráfico con los siguientes valores:

De lo contrario, si el cierre actual está por debajo del valor VIDYA, será una señal de tendencia bajista.

En este caso, el sistema mostrará un comentario en el gráfico con los siguientes valores:

La siguiente figura muestra el esquema de esta estrategia:

Esquema de la estrategia para identificar una tendencia según VIDYA

Segunda estrategia: cruce de VIDYA

El sistema basado en esta estrategia generará y mostrará señales de compra o venta. Se analizarán los mismos valores que en la detección de tendencias, solo que esta vez las señales serán diferentes. Para ello, comprobaremos nuevamente los mismos dos valores: el cierre de la vela actual y el valor actual del indicador VIDYA. Si el cierre actual está por encima del valor VIDYA, será una señal de compra.

En este caso, el sistema mostrará en el gráfico un comentario así:

Si el cierre actual está por debajo de VIDYA, será una señal de venta.

En este caso, el sistema mostrará un comentario en el gráfico con los siguientes valores:

La siguiente figura muestra el esquema de esta estrategia:

Esquema de la estrategia de cruce de VIDYA

Estrategia tres: cruce de dos VIDYA

El sistema comercial basado en esta estrategia generará y mostrará señales de compra y venta en el gráfico. Esto requerirá un análisis constante de dos valores de VIDYA con diferentes parámetros: VIDYA (9, 12) y VIDYA (20, 50). Si el valor actual de VIDYA con los parámetros (9, 12) es mayor que el valor actual del indicador con los parámetros (20, 50), esto supondrá una señal de compra.

En este caso, el sistema mostrará en el gráfico un comentario así:

Si, por el contrario, el valor de VIDYA con los parámetros (9, 12) es inferior al valor de VIDYA (20, 50), esto supondrá una señal de venta.

En este caso, el sistema mostrará en el gráfico un comentario así:

La siguiente figura muestra el esquema de esta estrategia:


Esquema de la estrategia de cruce de dos VIDYAs

Por lo tanto, hemos elaborado gráficos de desarrollo paso a paso para cada estrategia con el fin de ayudar a desarrollar los sistemas comerciales correspondientes. Ahora podemos pasar a la parte más interesante: el propio desarrollo. 


Sistemas comerciales según VIDYA

Según esta estrategia, el sistema simplemente mostrará el valor VIDYA actual como un comentario en el gráfico.

A continuación, mostraremos los pasos necesarios para crear este sistema comercial.

Para ello, crearemos el array vidyaArray usando una función double. El tipo double es un tipo real, un número de punto flotante, es decir, un valor con una parte fraccionaria.

double vidyaArray[];

Luego clasificaremos el array creado con la ayuda de la función ArraySetAsSeries, que retornará un valor booleano.

ArraySetAsSeries(vidyaArray,true);

Después crearemos la variable de tipo entero vidyaDef, que recibirá los valores del indicador VIDYA. A continuación, usaremos la función iVIDyA, que retorna el manejador del indicador.

Parámetros:

int vidyaDef = iVIDyA(_Symbol,_Period,9,12,0,PRICE_CLOSE);

A continuación, rellenaremos el array creado utilizando la función CopyBuffer para obtener los datos del indicador VIDYA.

Los parámetros de esta función serán:

CopyBuffer(vidyaDef,0,0,3,vidyaArray);

 Después obtendremos vidyaVal, para el que crearemos una variable utilizando la función NormalizeDouble, que retornará un valor de tipo double.

Los parámetros de esta función serán:

double vidyaVal = NormalizeDouble(vidyaArray[0],6);

Utilizaremos la función Comment para crear un comentario en el gráfico con el valor actual del indicador VIDYA:

Comment("VIDYA Value is ",vidyaVal);

El código completo del programa obtenido tendrá el aspecto siguiente:

//+------------------------------------------------------------------+
//|                                                 Simple VIDYA.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 vidyaArray[];

   ArraySetAsSeries(vidyaArray,true);

   int vidyaDef = iVIDyA(_Symbol,_Period,9,12,0,PRICE_CLOSE);

   CopyBuffer(vidyaDef,0,0,3,vidyaArray);

   double vidyaVal = NormalizeDouble(vidyaArray[0],6);

   Comment("VIDYA Value is ",vidyaVal);

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

Después de realizar la compilación, el asesor aparecerá en la ventana del Navegador en MetaTrader 5:

 VIDYA en el Navegador

Clicamos dos veces en el archivo o lo arrastramos y soltamos en el gráfico. Después de eso, la ventana del asesor aparecerá nuevamente:

 Ventana del sistema VIDYA simple

Pulsamos OK y el programa (asesor) se iniciará en el gráfico como se muestra en la figura siguiente:

Sistema VIDYA simple en el gráfico

La indicación en la esquina superior derecha del gráfico muestra que el asesor se ha iniciado y está funcionando en el gráfico. A continuación, mostraremos el comentario generado por nuestro sistema comercial:

 Señal del sistema VIDYA simple

Nuevamente, podemos ver que en la esquina superior izquierda del gráfico se muestra un comentario con el valor actual de VIDYA. Si queremos asegurarnos de que el asesor generará exactamente el mismo valor que el indicador VIDYA estándar suministrado con MetaTrader 5, podemos ejecutar el indicador y el asesor simultáneamente con la misma configuración.

 Señales del indicador y la estrategia VIDYA

El asesor se está ejecutando en el gráfico, como lo muestra la indicación en la esquina superior derecha. El gráfico también muestra el valor actual de este asesor en la esquina superior izquierda. Además, el indicador VIDYA integrado se adjunta al gráfico y su valor se muestra en la parte derecha de la ventana de datos. Los valores son idénticos.

Estrategia uno: identificador de tendencia según VIDYA

A continuación, escribiremos el código de un sistema comercial que emitirá un comentario con el valor de la tendencia actual. Más abajo, mostraremos el código completo para crear esta estrategia:

//+------------------------------------------------------------------+
//|                                       VIDYA trend identifier.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 priceArray[];
   double vidyaArray[];

   int Data=CopyRates(_Symbol,_Period,0,3,priceArray);
   ArraySetAsSeries(vidyaArray,true);

   int vidyaDef = iVIDyA(_Symbol,_Period,9,12,0,PRICE_CLOSE);

   CopyBuffer(vidyaDef,0,0,3,vidyaArray);

   double currentClose=NormalizeDouble(priceArray[2].close,6);
   double vidyaVal = NormalizeDouble(vidyaArray[0],6);

   if(currentClose>vidyaVal)
     {
      Comment("Uptrend","\n",
              "Current Close Value is ",currentClose,"\n",
              "Current VIDYA Value is ",vidyaVal);
     }

   if(currentClose<vidyaVal)
     {
      Comment("Downtrend","\n",
              "Current Close Value is ",currentClose,"\n",
              "Current VIDYA Value is ",vidyaVal);
     }


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

Diferencias en este código:

Crearemos dos matrices: una para los precios usando la función MqlRates y otra para VIDYA usando una función double, como ya hemos comentado.

   MqlRates priceArray[];
   double vidyaArray[];

Clasificamos los arrays. Para el array de precios priceArray, usaremos la función CopyRates para obtener los datos históricos de MqlRates. Los parámetros serán los siguientes:

Para vidyaArray usaremos la función ArraySetAsSeries.

   int Data=CopyRates(_Symbol,_Period,0,3,priceArray);
   ArraySetAsSeries(vidyaArray,true);

Luego determinaremos el precio de cierre actual y los valores VIDYA actuales.

   double currentClose=NormalizeDouble(priceArray[2].close,6);
   double vidyaVal = NormalizeDouble(vidyaArray[0],6);

Condiciones de esta estrategia:

1. En el caso de una tendencia alcista

   if(currentClose>vidyaVal)
     {
      Comment("Uptrend","\n",
              "Current Close Value is ",currentClose,"\n",
              "Current VIDYA Value is ",vidyaVal);
     }

2. En el caso de una tendencia bajista

   if(currentClose<vidyaVal)
     {
      Comment("Downtrend","\n",
              "Current Close Value is ",currentClose,"\n",
              "Current VIDYA Value is ",vidyaVal);
     }

Después compilaremos el código y ejecutaremos el programa en el gráfico. Veremos algo aproximadamente así:

Identificador de tendencia VIDYA en el gráfico

Como podemos ver, el identificador de tendencia VIDYA se ha iniciado en el gráfico, pues hay un icono en la esquina superior derecha. El asesor funciona y genera señales. A continuación, mostraremos ejemplos de estas señales obtenidas durante las pruebas.

1. En el caso de una tendencia alcista

 Identificador de tendencia VIDYA - señal de tendencia alcista

En la esquina superior izquierda del gráfico aparece un comentario con los valores siguientes:

2. En el caso de una tendencia bajista

 Identificador de tendencia VIDYA - señal de tendencia bajista

En el gráfico aparece el comentario correspondiente:

Segunda estrategia: cruce de VIDYA

Veamos el código completo para crear esta estrategia:

//+------------------------------------------------------------------+
//|                                          VIDYA one 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 priceArray[];
   double vidyaArray[];

   int Data=CopyRates(_Symbol,_Period,0,3,priceArray);
   ArraySetAsSeries(vidyaArray,true);

   int vidyaDef = iVIDyA(_Symbol,_Period,9,12,0,PRICE_CLOSE);

   CopyBuffer(vidyaDef,0,0,3,vidyaArray);

   double currentClose=NormalizeDouble(priceArray[2].close,6);
   double vidyaVal = NormalizeDouble(vidyaArray[0],6);

   if(currentClose>vidyaVal)
     {
      Comment("Buy signal","\n",
              "Current Close Value is ",currentClose,"\n",
              "Current VIDYA Value is ",vidyaVal);
     }

   if(currentClose<vidyaVal)
     {
      Comment("Sell signal","\n",
              "Current Close Value is ",currentClose,"\n",
              "Current VIDYA Value is ",vidyaVal);
     }


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

Diferencias en este código:

Comentario basado en esta estrategia.

1. Con una señal de compra

   if(currentClose>vidyaVal)
     {
      Comment("Buy signal","\n",
              "Current Close Value is ",currentClose,"\n",
              "Current VIDYA Value is ",vidyaVal);
     }

2. Con una señal de venta

   if(currentClose<vidyaVal)
     {
      Comment("Sell signal","\n",
              "Current Close Value is ",currentClose,"\n",
              "Current VIDYA Value is ",vidyaVal);
     }

Compilamos el código y ejecutamos el programa en el gráfico:

Cruce con VIDYA en el gráfico

Como podemos ver en la captura de pantalla, en la esquina superior derecha del gráfico se muestra una indicación de que el asesor está funcionando. El asesor funciona y genera señales de compra y venta para esta estrategia. A continuación, mostraremos ejemplos de pruebas del sistema.

1. Con una señal de compra

VIDYA one crossover - señal de compra

El sistema genera señales y muestra en el gráfico un comentario que aparece en la esquina superior izquierda. En este se representan los siguientes valores:

2. Con una señal de venta

 VIDYA one crossover - señal de venta

En la esquina superior izquierda del gráfico aparece un comentario con los valores siguientes:

Estrategia tres: cruce de dos VIDYA

Aquí tenemos el código completo de la estrategia de cruce de los dos indicadores VIDYA:

//+------------------------------------------------------------------+
//|                                          VIDYA two 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 priceArray[];
   double vidyaArray[];
   double vidyaArray1[];

   int Data=CopyRates(_Symbol,_Period,0,3,priceArray);
   ArraySetAsSeries(vidyaArray,true);
   ArraySetAsSeries(vidyaArray1,true);

   int vidyaDef = iVIDyA(_Symbol,_Period,9,12,0,PRICE_CLOSE);
   int vidyaDef1 = iVIDyA(_Symbol,_Period,20,50,0,PRICE_CLOSE);

   CopyBuffer(vidyaDef,0,0,3,vidyaArray);
   CopyBuffer(vidyaDef1,0,0,3,vidyaArray1);

   double currentClose=NormalizeDouble(priceArray[2].close,6);
   double vidyaVal = NormalizeDouble(vidyaArray[0],6);
   double vidyaVal1 = NormalizeDouble(vidyaArray1[0],6);

   if(vidyaVal>vidyaVal1)
     {
      Comment("Buy signal","\n",
              "Current Close Value is ",currentClose,"\n",
              "Current VIDYA (9,12) Value is ",vidyaVal,"\n",
              "Current VIDYA (20,50) Value is ",vidyaVal1);
     }

   if(vidyaVal<vidyaVal1)
     {
      Comment("Sell signal","\n",
              "Current Close Value is ",currentClose,"\n",
              "Current VIDYA (9,12) Value is ",vidyaVal,"\n",
              "Current VIDYA (20,50) Value is ",vidyaVal1);
     }


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

Diferencias en este código:

Esta vez utilizaremos tres arrays: precios, vidyaArray, vidyaArray1

   MqlRates priceArray[];
   double vidyaArray[];
   double vidyaArray1[];

Clasificamos los arrays:

   int Data=CopyRates(_Symbol,_Period,0,3,priceArray);
   ArraySetAsSeries(vidyaArray,true);
   ArraySetAsSeries(vidyaArray1,true);

Definimos vidyaDef y vidyaDef1

   int vidyaDef = iVIDyA(_Symbol,_Period,9,12,0,PRICE_CLOSE);
   int vidyaDef1 = iVIDyA(_Symbol,_Period,20,50,0,PRICE_CLOSE);

Llenamos los arrays vidyaArray y vidyaArray1

   CopyBuffer(vidyaDef,0,0,3,vidyaArray);
   CopyBuffer(vidyaDef1,0,0,3,vidyaArray1);

Luego definimos currentClose, vidyaVal y vidyaVal1

   double currentClose=NormalizeDouble(priceArray[2].close,6);
   double vidyaVal = NormalizeDouble(vidyaArray[0],6);
   double vidyaVal1 = NormalizeDouble(vidyaArray1[0],6);

Condiciones de la señal según esta estrategia:

1. Con una señal de compra

   if(vidyaVal>vidyaVal1)
     {
      Comment("Buy signal","\n",
              "Current Close Value is ",currentClose,"\n",
              "Current VIDYA (9,12) Value is ",vidyaVal,"\n",
              "Current VIDYA (20,50) Value is ",vidyaVal1);
     }

2. Con una señal de venta

   if(vidyaVal<vidyaVal1)
     {
      Comment("Sell signal","\n",
              "Current Close Value is ",currentClose,"\n",
              "Current VIDYA (9,12) Value is ",vidyaVal,"\n",
              "Current VIDYA (20,50) Value is ",vidyaVal1);
     }

Después compilaremos el código y ejecutaremos el programa en el gráfico. Veremos algo aproximadamente así:

 Cruce de dos VIDYA en el gráfico

En la esquina superior derecha del gráfico se representará una indicación que mostrará que el asesor está funcionando. El asesor generará señales de compra y venta para esta estrategia. A continuación, mostraremos algunos ejemplos de pruebas del sistema.

Señal de compra:

VIDYA two crossover - señal de compra

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

Señal de venta

 VIDYA two crossover - señal de venta

El comentario del gráfico contendrá estos valores:


Conclusión

Bien, ya hemos analizado el indicador de Media Móvil con Periodo de Promediación Dinámico (Variable Index Dynamic Average, VIDYA). Como todos los artículos, hemos dividido el análisis en varias subsecciones. Hemos aprendido la definición del cálculo, qué mide y cómo calcularlo manualmente. Las fórmulas que componen el cálculo nos permiten comprender mejor el propio indicador. También hemos visto cómo usar el indicador estándar suministrado con la plataforma. Después hemos analizado cómo utilizar el indicador; para ello, el artículo ha mostrado varias estrategias sencillas basadas en el concepto básico estudiado. También hemos estudiado las siguientes estrategias:

Esperamos que el lector haya trabajado en cada código por su cuenta: así aprenderá a escribir los códigos de la estrategia comercial. Esto resulta especialmente importante para los programadores principiantes, porque así es como se desarrollarán sus habilidades. En general, la práctica es vital en cualquier proceso de aprendizaje, no solo en la programación. Una vez más, recuerde que deberá probar a fondo cualquier estrategia presentada en los artículos antes de aplicarla a una cuenta real para asegurarse de que se adapta a su estilo comercial y a su comprensión del trading. Al fin y al cabo, lo que funciona para otros no tiene por qué funcionar para usted. Además, no olvide que todas las estrategias se presentan aquí con fines ilustrativos, y deberán ser optimizadas.

Esperamos que el artículo le resulte útil y le ayude a alcanzar sus objetivos comerciales. Si le ha gustado este artículo y está interesado en la creación de estrategias comerciales basadas en indicadores técnicos populares, le recomendamos que lea otros artículos de esta serie: ya hemos analizado anteriormente el desarrollo de sistemas utilizando RSI, MACD, estocástico, medias móviles, Bandas de Bollinger, Envolventes y muchas otras herramientas técnicas.