English Русский 中文 Deutsch 日本語 Português 한국어 Français Italiano Türkçe
preview
Aprendiendo a diseñar un sistema de trading con Ichimoku

Aprendiendo a diseñar un sistema de trading con Ichimoku

MetaTrader 5Trading | 2 septiembre 2022, 16:41
1 252 0
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Introducción

Bienvenidos a un nuevo artículo de esta serie sobre la creación de sistemas comerciales basados en indicadores técnicos populares. En este artículo, analizaremos una nueva herramienta técnica y veremos cómo puede usarse en el trading y cómo puede ser útil. Para entender todo ello mejor, veremos algunas estrategias simples.

Una vez más, el trabajo sobre el indicador se dividirá en varios temas:

  1. Definición del indicador Ichimoku
  2. Estrategia del indicador Ichimoku
  3. Esquema de la estrategia del indicador Ichimoku
  4. Sistema comercial del indicador Ichimoku
  5. Conclusión

En la primera sección aprenderemos qué es este indicador, cómo se construye, cómo se puede calcular y qué mide. Asimismo, estudiaremos el indicador con detalle para entender el propio concepto en el que se basa. En la sección "Estrategia de Ichimoku", exploraremos estrategias sencillas basadas en este concepto particular de indicador. Además, desarrollaremos gráficos paso a paso para cada estrategia analizada que servirán como una excelente base para crear un sistema comercial que generará automáticamente señales en el indicador Ichimoku de MetaTrader 5. Luego pasaremos al tema más interesante: la creación de sistemas comerciales de MQL5 basados en estas estrategias que podrán generar señales de forma automática y precisa para su uso en la plataforma comercial MetaTrader 5. Esto será en la sección "Sistema comercial del indicador Ichimoku".

En este artículo, como en todos los demás, usaremos la plataforma comercial MetaTrader 5 y el lenguaje de programación MQL5 (MetaQuotes Language) integrado en la plataforma. Si no sabe cómo descargar o usar el MetaEditor, le recomendamos leer la sección "Escribiendo el código MQL5 en el MetaEditor" de uno de mis artículos anteriores.

Le animo a probar y practicar por su cuenta lo aprendido en este artículo, ya que le ayudará a entender mejor el tema y quizás a encontrar nuevas ideas.

Nota: El contenido íntegro de este artículo está destinado únicamente a fines educativos. Todo lo que ponga en práctica usando el presente artículo como base, lo hará bajo su propia cuenta y riesgo; el autor no garantiza resultado alguno.

Y ahora, manos a la obra.


Definición del indicador Ichimoku

En esta parte, estudiaremos con detalle el indicador Ichimoku: qué es, qué mide, cómo se construye y las peculiaridades de su cálculo. Si analizamos detenidamente todos los detalles del indicador, podremos usarlo con mayor eficacia.

El indicador Ichimoku fue desarrollado por Goichi Hosoda. Se trata de una de las herramientas de la escuela japonesa que puede usarse para conocer mejor un instrumento financiero: permite identificar la dirección de la tendencia, el apoyo y la resistencia, el impulso y las señales comerciales. 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.

Consta de cinco partes:

  • Línea Tenkan-Sen (línea de conversión)
  • Línea Kijun-Sen (línea estándar)
  • Línea Senkou Span A (línea adelantada A)
  • Línea Senkou Span B (línea adelantada B)
  • Línea Chikou Span (línea retardada)
Las líneas Senkou Span A y Senkou Span B forman una nube (Kumo) al dibujarse.

Ahora veremos cómo calcular el indicador Ichimoku manualmente: esto nos permitirá entender el concepto del indicador o usarlo de forma más eficaz. Por consiguiente, deberemos calcular cada elemento del indicador Ichimoku.

Línea Tenkan-Sen (línea de conversión) = (máximo en 9 periodos + mínimo en 9 periodos)/2

Línea Kijun-Sen (línea estándar) = (máximo en 26 periodos + mínimo en 26 periodos)/2

Línea Senkou Span A (línea adelantada A) = (Tenkan-Sen + Kijun-Sen)/2 - pero la construcción se desplazará 26 periodos hacia el futuro

Línea Senkou Span B (línea adelantada B) = (máximo en 52 periodos + mínimo en 52 periodos)/2 - la construcción también se desplazará 26 periodos hacia el futuro

Línea Chikou Span (línea retardada) = Precio de cierre de hoy con un desplazamiento de 26 hacia el pasado

Afortunadamente, no necesitaremos calcular el indicador manualmente, pues ya existe un indicador listo para usar que viene de serie con la plataforma MetaTrader 5. Todo lo que tenemos que hacer es seleccionar Ichimoku de la lista de indicadores disponibles y aparecerá en el gráfico sin que tengamos que realizar ningún cálculo. Para insertar el indicador Ichimoku en el gráfico de la plataforma MetaTrader5, seleccionaremos el menú Insertar --> Indicadores --> Ichimoku Kinko Hyo.

Aquí vemos el segundo nombre del indicador Ichimoku - Ichimoku Kinko Hyo.

 Insertando el indicador Ichimoku en el gráfico

Después de eso, se abrirá la ventana de parámetros del asesor: Tendrá el aspecto siguiente:

 Parámetros para iniciar el indicador Ichimoku

En esta ventana, ajustaremos los parámetros necesarios para el indicador:

1 - periodo de cálculo de la línea Tenkan-sen

2 - periodo de cálculo de la línea Kijun-sen

3 - periodo de cálculo de la línea Senkou Span B

También podemos establecer el estilo y el aspecto deseados del indicador en la pestaña de colores:

Colores del indicador Ichimoku

1 - color de la línea Tenkan-sen

1A - estilo de línea Tenkan-sen

1B - grosor de la línea Tenkan-sen


2 - color de la línea Kijun-sen

2A - estilo de línea Kijun

2B - grosor de la línea Kijun


3 - color de la línea Chikou Span

3A - estilo de línea Chikou Span

3B - grosor de la línea Chikou Span


4 - color de la nube en el movimiento ascendente (Up Kumo)

4A - estilo de la nube en el movimiento ascendente (Up Kumo)

4B - grosor de la nube en el movimiento ascendente (Up Kumo)


5 - color de la nube en el movimiento descendente (Down Kumo)

5A - estilo de la nube en el movimiento descendente (Down Kumo)

5B - grosor de la nube en el movimiento descendente (Down Kumo)


Después de ajustar los parámetros, el indicador aparecerá en el gráfico como se muestra a continuación.

Indicador Ichimoku en el gráfico

Como podemos ver en el indicador del gráfico en la figura anterior, las líneas azul y roja pertenecen a Tenkan-Sen y Kijun-Sen, mientras que la línea verde pertenece a Chikou Span, que representa el precio de cierre con un desplazamiento hacia atrás 26 horas según el marco temporal. Y luego está la nube (Senkou Span A y Senkou Span B), que tiene un retraso de 26 horas y está coloreada en rojo, lo cual indica que se está moviendo hacia abajo.


Estrategia del indicador Ichimoku

En esta parte, aprenderemos a usar el indicador Ichimoku según su concepto, utilizando para ello estrategias sencillas como ejemplo. Asimismo, vamos a ver una estrategia que se puede usar para identificar una tendencia utilizando el identificador de tendencia Ichimoku. Además, estudiaremos una estrategia que se puede utilizar para obtener información sobre la fuerza de la tendencia a través de la estrategia de fuerza Ichimoku. A continuación, analizaremos una estrategia que podemos utilizar para confirmar una señal alcista o bajista basada en dos métodos de cruce diferentes: así, estudiaremos las estrategias de la señal price-Ki y ten-Ki basadas en el indicador Ichimoku.

Una vez más, le recomendamos encarecidamente probar cualquier estrategia nueva antes de utilizarla en su cuenta real. No existe nada que funcione para absolutamente todo el mundo. Todos tenemos nuestro propio estilo comercial, basado en nuestro carácter y hábitos. Lo que puede resultar útil para mí podría no serlo para usted.

Además, aunque la estrategia le convenga como idea o concepto, es posible que tenga que optimizarla para construirla concretamente para usted. Por lo tanto, resulta vital probar cualquier estrategia en una cuenta demo antes de utilizarla, para ver si la herramienta le es útil o no.

  • Estrategia uno: Identificador de tendencia Ichimoku

Según esta estrategia, el indicador se utilizará como una alerta para el tipo de tendencia, y saber si la tendencia es alcista o bajista en este momento. Para ello habrá que analizar tres valores: el precio de cierre, la Senkou Span A y la Senkou Span B. Si el precio de cierre es superior a la Senkou Span B y el precio de cierre también resulta superior a la Senkou Span A, tendremos una señal de tendencia alcista. Por el contrario, si el precio de cierre es inferior a la Senkou Span B y el precio de cierre es también inferior a la Senkou Span A, esto sería una señal de tendencia bajista.

Precio de cierre > Senkou Span B y Precio de cierre > Senkou Span A --> Tendencia alcista

Precio de cierre < Senkou Span B y precio de cierre < Senkou Span A --> Tendencia bajista

  • Estrategia dos: fuerza de la tendencia según el indicador Ichimoku

Según esta estrategia, usaremos el indicador para mostrar la fuerza de la tendencia actual. Para ello, volveremos a comprobar tres valores: la Senkou Span A actual, la Senkou Span A anterior y la Senkou Span B. Si la Senkou Span A actual es mayor que la Senkou Span A anterior y al mismo tiempo la Senkou Span A actual es mayor que la Senkou Span B, será señal de que la tendencia es alcista y fuerte. Por el contrario, si la línea Senkou Span A actual está por debajo de la Senkou Span A anterior y también la Senkou Span A actual está por debajo de la Senkou Span B, esto será una señal de que la tendencia es bajista y fuerte.

Senkou Span A actual > Senkou Span A anterior y Senkou Span A actual > Senkou Span B --> tendencia alcista fuerte

Senkou Span A actual < Senkou Span A anterior y Senkou Span A actual < Senkou Span B --> tendencia bajista fuerte 

  • Estrategia tres: señal price-Ki según Ichimoku

Según esta estrategia, durante una tendencia alcista el indicador mostrará información sobre la presencia de una señal alcista, mientras que durante una tendencia bajista generará una notificación sobre una señal bajista. Para determinar la señal se comprobarán dos valores: el precio de cierre y la línea Kijun-Sen. Si el precio de cierre está por encima del valor de la Kijun-Sen, será una señal para que se active una señal alcista. Por el contrario, si el precio de cierre está por debajo del valor de la Kijun-Sen, será una señal bajista.

En una tendencia alcista: Precio de cierre > kijun-sen --> señal alcista

En una tendencia bajista: Precio de cierre < kijun-sen --> señal bajista

  • Estrategia cuatro: La señal Ichimoku ten-ki

Esta es otra estrategia que puede generar notificaciones de una señal alcista durante una tendencia alcista o una señal bajista durante una tendencia bajista. Para esta estrategia, comprobaremos dos valores: La Tenkan-sen y la Kijun-sen. Si el valor de la Tenkan-sen es mayor que el valor de la Kijun-sen, tendremos una señal alcista en el mercado. Por el contrario, si la Tenkan-sen es inferior a la Kijun-sen, tendremos una señal bajista.

Tenkan-sen > Kijun-sen --> señal alcista

Tenkan-sen < Kijun-sen --> señal de oso


Esquema de la estrategia del indicador Ichimoku

En esta sección, desarrollaremos un plan para escribir el código de las estrategias analizadas. A nuestro juicio, que este es uno de los pasos más importantes a la hora de estudiar estrategias comerciales, porque este plan/esquema permite organizar paso a paso el proceso de desarrollo del sistema comercial tratado.

  • Estrategia uno: Identificador de tendencia Ichimoku

Según la descripción de esta estrategia, necesitaremos crear un sistema comercial que compruebe constantemente los precios de cierre y los valores de la Senkou Span A y la Senkou span. El sistema deberá entonces comparar estos valores y determinar cuál es mayor y cuál es menor. A partir de ahí, deberá decidir si el mercado se encuentra en una tendencia alcista o bajista. El valor correspondiente tendrá que aparecer como un comentario en el gráfico. Además, el precio de cierre y los valores de las líneas de Ichimoku deberán trazarse en el gráfico. Si el precio de cierre es simultáneamente más alto que Span B y más alto que Span A, la tendencia será alcista. Si el precio de cierre es simultáneamente inferior a Span B y a Span A, la tendencia será bajista.

Gráfico de la estrategia para identificar una tendencia en Ichimoku

  • Estrategia dos: fuerza de la tendencia según el indicador Ichimoku

Basándonos en esta estrategia, vamos a crear un sistema comercial que genere una alerta con información sobre la fuerza de la tendencia actual. Para ello, el sistema comprobará constantemente los valores de la Senkou Span A actual, la Senkou Span A anterior y la Senkou Span B. El sistema comercial deberá comparar estos valores y determinar cuál es más alto y cuál más bajo. Basándose en esta comparación, debería retornar la fuerza de la tendencia actual. Si el valor actual de la Span A es mayor que la Span A anterior y también el valor actual de la Span A es mayor que la Span B, entonces la tendencia será alcista y fuerte. La información correspondiente deberá aparecer como un comentario en el gráfico. Los valores de las líneas Ichimoku también deberían aparecer.

Esquema de la estrategia para identificar la fuerza de la tendencia según Ichimoku

  • Estrategia tres: señal price-Ki según Ichimoku

Un sistema que ejecute esta estrategia debería mostrar un comentario de señal alcista o bajista en el gráfico, así como los valores de los precios de cierre y la línea Kijun-sen. Para ello, el sistema comercial deberá comprobar constantemente el precio de cierre y de la línea Kijun-sen, compararlos y decidir cuál es más alto o más bajo. Si el precio de cierre es superior a la Kijun-sen, se mostrará un comentario en el gráfico con una señal alcista, el precio de cierre y el valor de la Kijun-sen. Si el precio de cierre es inferior a la Kijun-sen, se mostrará un comentario en el gráfico con una señal bajista, el precio de cierre y el valor de la Kijun-sen.

 Esquema de la estrategia de la señal price-Ki de Ichimoku

  • Estrategia cuatro: La señal Ichimoku ten-ki

Un sistema que opere según esta estrategia debería emitir un comentario de señal alcista o bajista en el gráfico, basado en la comparación de las líneas Tenkan Sen y Kijun Sen. Por lo tanto, el sistema comercial deberá comparar constantemente estos dos valores y retornar como comentario en el gráfico los valores de la Tenkan Sen y la Kijun-sen si el valor de la Tenkan Sen es mayor que el valor de la Kijun-sen. Si, por el contrario, la línea Tenkan Sen es más alta, se retornarán una señal bajista y los valores de la línea.

Esquema de la estrategia ten-Ki según Ichimoku

Sistema comercial del indicador Ichimoku

En este artículo, aprenderemos a desarrollar un sistema comercial basado en el indicador Ichimoku. Así, aprenderemos a escribir un sistema comercial basado en estrategias que usan el indicador Ichimoku para determinar la tendencia y la fuerza de la tendencia, así como las señales alcistas y bajistas.

Empezaremos desarrollando un sencillo programa que mostrará un comentario en el gráfico con el valor actual de las líneas Ichimoku. Esta será la base de todas las estrategias futuras.

En nuestro código, insertamos la directiva #include para el archivo Indicators/Trend.mqh. Luego utilizamos la clase CiIchimoku para obtener los valores del indicador Ichimoku.

#include <Indicators/Trend.mqh>
CiIchimoku*Ichimoku;

Usando void OnInit(), llamamos al indicador, y luego creamos variables de tipo double con los valores Tenkan-sen, Kijun-sen, Senkou Span A, Senkou Span B y Chikou Span.

   Ichimoku.Refresh(-1);
   double TenkanVal= Ichimoku.TenkanSen(0);
   double KijunVal= Ichimoku.KijunSen(0);
   double SpanAVal= Ichimoku.SenkouSpanA(-26);
   double SpanBVal= Ichimoku.SenkouSpanB(-26);
   double ChikouVal= Ichimoku.ChinkouSpan(26);

Vamos a mostrar estos valores con un comentario en el gráfico; cada valor se mostará en una línea aparte.

   Comment("Tenkan Sen Value is: ",TenkanVal,"\n",
           "Kijun Sen Value is: ",KijunVal,"\n",
           "Senkou Span A Value is: ", SpanAVal,"\n",
           "Senkou Span B Value is: ",SpanBVal,"\n",
           "Chikou Span Value is: ",ChikouVal);

El código completo de este sistema se verá así:

//+------------------------------------------------------------------+
//|                                       Simple Ichimoku system.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"
#include <Indicators/Trend.mqh>
CiIchimoku*Ichimoku;
//+------------------------------------------------------------------+
void OnInit()
  {
   Ichimoku = new CiIchimoku();
   Ichimoku.Create(_Symbol,PERIOD_CURRENT,9,26,52);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   Ichimoku.Refresh(-1);
   double TenkanVal= Ichimoku.TenkanSen(0);
   double KijunVal= Ichimoku.KijunSen(0);
   double SpanAVal= Ichimoku.SenkouSpanA(-26);
   double SpanBVal= Ichimoku.SenkouSpanB(-26);
   double ChikouVal= Ichimoku.ChinkouSpan(26);

   Comment("Tenkan Sen Value is: ",TenkanVal,"\n",
           "Kijun Sen Value is: ",KijunVal,"\n",
           "Senkou Span A Value is: ", SpanAVal,"\n",
           "Senkou Span B Value is: ",SpanBVal,"\n",
           "Chikou Span Value is: ",ChikouVal);
  }
//+------------------------------------------------------------------+

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

Ichimoku en el Navegador

Clique dos veces en el archivo o arrástrelo y suéltelo en el gráfico, y aparecerá la siguiente ventana:

Ventana de inicio de Ichimoku

El programa aparecerá ahora en el gráfico después de pulsar "OK":

Un sistema sencillo de Ichimoku en el gráfico

Ya la siguiente figura muestra un ejemplo de las señales generadas por este sistema:

Señal del sistema simple de Ichimoku

En la figura anterior, podemos ver que aparece un comentario en el gráfico con los siguientes valores:

  • El valor de Tenkan Sen
  • El valor de Kijun Sen
  • El valor de Senkou Span A
  • El valor de Senkou Span B
  • El valor de Chikou Span
Estos son los valores de todos los elementos del indicador Ichimoku.
  • Estrategia uno: Identificador de tendencia Ichimoku

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, le mostraremos el código completo para crear dicha estrategia:

//+------------------------------------------------------------------+
//|                                    Ichimoku 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"
#include <Indicators/Trend.mqh>
CiIchimoku*Ichimoku;
//+------------------------------------------------------------------+
void OnInit()
  {
   Ichimoku = new CiIchimoku();
   Ichimoku.Create(_Symbol,PERIOD_CURRENT,9,26,52);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   MqlRates PArray[];
   int Data=CopyRates(_Symbol,_Period,0,1,PArray);

   Ichimoku.Refresh(-1);
   double TenkanVal= Ichimoku.TenkanSen(0);
   double KijunVal= Ichimoku.KijunSen(0);
   double SpanAVal= Ichimoku.SenkouSpanA(-26);
   double SpanBVal= Ichimoku.SenkouSpanB(-26);
   double ChikouVal= Ichimoku.ChinkouSpan(26);


   if(PArray[0].close>SpanBVal&&PArray[0].close>SpanAVal)
     {
      Comment("The trend is up","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }

   if(PArray[0].close<SpanBVal&&PArray[0].close<SpanAVal)
     {
      Comment("The trend is down","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }
  }
//+------------------------------------------------------------------+

Qué diferencias han aparecido en este código:

Hemos creado un array de precios usando la función MqlRates para almacenar la información de los mismos.

MqlRates PArray[];

A continuación, hemos rellenado el array de precios utilizando la función CopyRates después de crear una variable entera para los datos: La función CopyRates recupera los datos históricos de MqlRates.

int Data=CopyRates(_Symbol,_Period,0,1,PArray);

Las condiciones para la estrategia de identificación de la tendencia Ichimoku.

En el caso de una tendencia alcista:

   if(PArray[0].close>SpanBVal&&PArray[0].close>SpanAVal)
     {
      Comment("The trend is up","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }

En el caso de una tendencia bajista:

   if(PArray[0].close<SpanBVal&&PArray[0].close<SpanAVal)
     {
      Comment("The trend is down","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }

Después de eso, compilamos el código del asesor. El archivo compilado aparecerá en la ventana del Navegador en el terminal MetaTrader 5 como se muestra a continuación.

Ichimoku en el Navegador 2

Clique dos veces en el archivo o arrástrelo y suéltelo en el gráfico. Después de eso, la ventana del asesor aparecerá de nuevo:

Ventana de la estrategia para identificar la tendencia según Ichimoku

Después de clicar en "OK", el programa aparecerá en el gráfico:

Estrategia para identificar la tendencia de Ichimoku en el gráfico

A continuación, le mostramos un ejemplo de las señales generadas por el sistema al darse una tendencia alcista o bajista.

Señal de tendencia alcista:

Estrategia de identificación de la tendencia según Ichimoku - señal de crecimiento

Aparecerá un comentario en el gráfico con los siguientes valores:

  • The trend is up — la tendencia es alcista
  • El valor del precio de cierre
  • El valor de Tenkan Sen
  • El valor de Kijun Sen
  • El valor de Senkou Span A
  • El valor de Senkou Span B
  • El valor de Chikou Span

Esta estrategia muestra información sobre la tendencia alcista y los valores del precio y los elementos de Ichimoku.

Señal de tendencia bajista:

Estrategia de identificación de la tendencia según Ichimoku - señal de caída

Aparecerá un comentario en el gráfico con los siguientes valores:

  • The trend is down — la tendencia es bajista
  • El valor del precio de cierre
  • El valor de Tenkan Sen
  • El valor de Kijun Sen
  • El valor de Senkou Span A
  • El valor de Senkou Span B
  • El valor de Chikou Span

Esta estrategia muestra información sobre la tendencia alcista y los valores del precio y los elementos de Ichimoku.

  • Estrategia dos: fuerza de la tendencia según el indicador Ichimoku

Con esta estrategia, el sistema debería mostrar un comentario en el gráfico con la fuerza de la tendencia y el tipo de tendencia actual (alcista o bajista). A continuación, veremos cómo escribir el código MQL5 para un sistema basado en esta estrategia.

//+------------------------------------------------------------------+
//|                                      Ichimoku trend strength.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"
#include <Indicators/Trend.mqh>
CiIchimoku*Ichimoku;
//+------------------------------------------------------------------+
void OnInit()
  {
   Ichimoku = new CiIchimoku();
   Ichimoku.Create(_Symbol,PERIOD_CURRENT,9,26,52);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   Ichimoku.Refresh(-1);
   double TenkanVal= Ichimoku.TenkanSen(0);
   double KijunVal= Ichimoku.KijunSen(0);
   double SpanAVal= Ichimoku.SenkouSpanA(-26);
   double SpanAPrevVal= Ichimoku.SenkouSpanA(-25);
   double SpanBVal= Ichimoku.SenkouSpanB(-26);
   double ChikouVal= Ichimoku.ChinkouSpan(26);

   if(SpanAVal>SpanAPrevVal&&SpanAVal>SpanBVal)
     {
      Comment("The trend is up and strong","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Prev. Value is: ", SpanAPrevVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }

   if(SpanAVal<SpanAPrevVal&&SpanAVal<SpanBVal)
     {
      Comment("The trend is down and strong","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Prev. Value is: ", SpanAPrevVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }
  }
//+------------------------------------------------------------------+

Este código se diferencia en cuanto a las condiciones de la estrategia.

En el caso de una fuerte tendencia alcista:

   if(SpanAVal>SpanAPrevVal&&SpanAVal>SpanBVal)
     {
      Comment("The trend is up and strong","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Prev. Value is: ", SpanAPrevVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }

En el caso de una fuerte tendencia bajista:

   if(SpanAVal<SpanAPrevVal&&SpanAVal<SpanBVal)
     {
      Comment("The trend is down and strong","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kijun Sen Value is: ",KijunVal,"\n",
              "Senkou Span A Prev. Value is: ", SpanAPrevVal,"\n",
              "Senkou Span A Value is: ", SpanAVal,"\n",
              "Senkou Span B Value is: ",SpanBVal,"\n",
              "Chikou Span Value is: ",ChikouVal);
     }

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

Ichimoku en el Navegador 3

Clique dos veces para iniciar el sistema, y se abrirá la ventana del asesor:

 Ventana de la estrategia para identificar la fuerza de la tendencia según Ichimoku

Pulsamos OK y el programa aparecerá en el gráfico.

Estrategia para identificar la fuerza de la tendencia según Ichimoku en el gráfico

Ejemplos de señales generadas a partir de esta estrategia. Para una tendencia alcista.

Fuerza de la tendencia según Ichimoku: tendencia alcista fuerte

En la figura anterior, podemos ver que aparece un comentario en el gráfico con los siguientes valores:

  • The trend is up and strong - la tendencia es alcista y fuerte
  • El valor de Tenkan Sen
  • El valor de Kijun Sen
  • El valor Senkou Span A anterior
  • El valor de Senkou Span A
  • El valor de Senkou Span B
  • El valor de Chikou Span

El comentario mostrará que la tendencia es alcista y fuerte. Ejemplos de señales generadas a partir de esta estrategia. Para una tendencia bajista.

 Fuerza de la tendencia según Ichimoku: tendencia bajista fuerte

En la figura anterior, podemos ver que aparece un comentario en el gráfico con los siguientes valores:

  • The trend is down and strong - la tendencia es bajista y fuerte
  • El valor de Tenkan Sen
  • El valor de Kijun Sen
  • El valor Senkou Span A anterior
  • El valor de Senkou Span A
  • El valor de Senkou Span B
  • El valor de Chikou Span

Esta vez, el comentario indica que la tendencia es bajista y fuerte.

  • Estrategia tres: señal price-Ki según Ichimoku

Un sistema que opere con esta estrategia debería emitir un comentario alcista o bajista en el gráfico, basado en el cruce entre el precio y la línea Kijun sen. Aquí tenemos el código completo de este sistema:

//+------------------------------------------------------------------+
//|                                     Ichimoku Price-Ki signal.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"
#include <Indicators/Trend.mqh>
CiIchimoku*Ichimoku;
//+------------------------------------------------------------------+
void OnInit()
  {
   Ichimoku = new CiIchimoku();
   Ichimoku.Create(_Symbol,PERIOD_CURRENT,9,26,52);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   MqlRates PArray[];

   int Data=CopyRates(_Symbol,_Period,0,1,PArray);

   Ichimoku.Refresh(-1);
   double TenkanVal= Ichimoku.TenkanSen(0);
   double KijunVal= Ichimoku.KijunSen(0);
   double SpanAVal= Ichimoku.SenkouSpanA(-26);
   double SpanBVal= Ichimoku.SenkouSpanB(-26);
   double ChikouVal= Ichimoku.ChinkouSpan(26);

   if(PArray[0].close>KijunVal)
     {
      Comment("Bullish signal","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Kijun Sen Value is: ",KijunVal,"\n");
     }

   if(PArray[0].close<KijunVal)
     {
      Comment("Bearish signal","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Kijun Sen Value is: ",KijunVal,"\n");
     }
  }
//+------------------------------------------------------------------+

Diferencias en este código:

Hemos creado y rellenado un array de precios.

   MqlRates PArray[];

   int Data=CopyRates(_Symbol,_Period,0,1,PArray);

 Las condiciones de la estrategia Ichimoku price-Ki en presencia de una señal alcista.

   if(PArray[0].close>KijunVal)
     {
      Comment("Bullish signal","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Kijun Sen Value is: ",KijunVal,"\n");
     }

La condiciones de la estrategia Ichimoku price-Ki en presencia de una señal bajista.

   if(PArray[0].close<KijunVal)
     {
      Comment("Bearish signal","\n",
              "Close Value is: ",PArray[0].close,"\n",
              "Kijun Sen Value is: ",KijunVal,"\n");
     }

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

Ichimoku en el Navegador 5

Arrastramos nuestro programa desde el Navegador al gráfico y lo soltamos. Se abrirá una ventana así:

 Ventana de la señal Ichimoku Price-Ki

Después de clicar en "OK", el programa aparecerá en el gráfico:

Señal price-Ki según Ichimoku en el gráfico

Ejemplos de señales generadas a partir de esta estrategia (con una señal alcista).

Señal alcista según Ichimoku Price-Ki

Como podemos ver en el ejemplo, tenemos un comentario en el gráfico con los siguientes valores:

  • Bullish signal - señal alcista
  • El valor del precio de cierre
  • El valor de Kijun-sen

La señal alcista se genera usando como base el cruce entre el precio y la línea Kijun Sen. Ejemplos de señales generadas a partir de esta estrategia (con una señal bajista).

 Señal bajista según Ichimoku Price-Ki

Como podemos ver en el ejemplo, tenemos un comentario en el gráfico con los siguientes valores:

  • La señal bajista
  • El valor del precio de cierre
  • El valor de Kijun-sen

La señal bajista se genera usando como base el cruce entre el precio y la línea Kijun Sen.

  • Estrategia cuatro: La señal Ichimoku ten-ki

Un sistema basado en esta estrategia debería emitir un comentario alcista o bajista en el gráfico, basado en el cruce de las líneas Tenkan Sen y Kijun sen. Aquí tenemos el código completo de este sistema:

//+------------------------------------------------------------------+
//|                                       Ichimoku ten-Ki signal.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"
#include <Indicators/Trend.mqh>
CiIchimoku*Ichimoku;
//+------------------------------------------------------------------+
void OnInit()
  {
   Ichimoku = new CiIchimoku();
   Ichimoku.Create(_Symbol,PERIOD_CURRENT,9,26,52);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   Ichimoku.Refresh(-1);
   double TenkanVal= Ichimoku.TenkanSen(0);
   double KijunVal= Ichimoku.KijunSen(0);
   double SpanAVal= Ichimoku.SenkouSpanA(-26);
   double SpanBVal= Ichimoku.SenkouSpanB(-26);
   double ChikouVal= Ichimoku.ChinkouSpan(26);

   if(TenkanVal>KijunVal)
     {
      Comment("Bullish signal","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kijun Sen Value is: ",KijunVal,"\n");
     }

   if(TenkanVal<KijunVal)
     {
      Comment("Bearish signal","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kijun Sen Value is: ",KijunVal,"\n");
     }
  }
//+------------------------------------------------------------------+

Este código se diferencia en cuanto a las condiciones de la estrategia.

En el caso de una señal alcista:

   if(TenkanVal>KijunVal)
     {
      Comment("Bullish signal","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kijun Sen Value is: ",KijunVal,"\n");
     }

En caso de una señal bajista:

   if(TenkanVal<KijunVal)
     {
      Comment("Bearish signal","\n",
              "Tenkan Sen Value is: ",TenkanVal,"\n",
              "Kijun Sen Value is: ",KijunVal,"\n");
     }

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

Ichimoku en el Navegador 4

Clicamos dos veces para iniciar, y aparecerá la siguiente ventana:

Ventana de la estrategia Ichimoku ten-Ki signal

Pulsamos OK y el programa aparecerá en el gráfico.

Estrategia de Ichimoku ten-Ki signal en el gráfico

Ejemplos de señales generadas al realizar pruebas basadas en esta estrategia (con una señal alcista):

Estrategia Ichimoku ten-Ki signal - señal alcista

Como podemos ver en el ejemplo, tenemos un comentario en el gráfico con los siguientes valores:

  • Bullish signal - señal alcista
  • El valor de Tenkan Sen
  • El valor de Kijun-sen

Se genera una señal alcista basada en el cruce de las líneas Tenkan Sen y Kijun Sen. Ejemplos de señales generadas al realizar pruebas basadas en esta estrategia (con una señal bajista):

Estrategia Ichimoku ten-Ki signal - señal bajista

   

Como podemos ver en el ejemplo, tenemos un comentario en el gráfico con los siguientes valores:

  • La señal bajista
  • El valor de Tenkan Sen
  • El valor de Kijun-sen

Se genera una señal bajista basada en el cruce de las líneas Tenkan Sen y Kijun Sen.


Conclusión

El indicador Ichimoku puede usarse como un sistema completo que nos permitirá identificar más de una perspectiva en un gráfico: el tipo de tendencia, la fuerza de la tendencia y la capacidad de obtener señales comerciales de un mercado alcista o bajista. Por lo tanto, es una herramienta útil para el comercio que, si usamos correctamente, podrá mejorar nuestros resultados, ayudándonos a tomar las decisiones correctas, ya que podremos identificar múltiples puntos de vista con un solo indicador.

Creo que hemos aprendido mucho sobre este indicador. Es posible que tenga que buscar más información por su cuenta, lo cual está bien, ya que aquí solo hemos cubierto lo básico. Por lo tanto, le recomiendo encarecidamente trabajar más con él si quiere usarlo en el comercio.

En este artículo, hemos analizado el indicador Ichimoku desde diferentes ángulos, aprendiendo qué es, qué mide, cómo se construye y cómo calcularlo. Asimismo, hemos analizado cómo utilizarlo, con la ayuda de estrategias sencillas basadas en el concepto básico que lo sustenta. Además, hemos estudiado las siguientes estrategias:

  • Determinación de la tendencia según Ichimoku: la estrategia nos indica si la tendencia es alcista o bajista.
  • Fuerza de la tendencia Ichimoku: la estrategia nos informa cuando se crea una tendencia fuerte.
  • Señal de cruce entre el precio y la línea Kijun Sen - determinación de una señal alcista y bajista.
  • Señal de cruce de las líneas Tenkan Sen y Kijun Sen - determinación de una señal alcista y bajista.

También hemos creado un plan paso a paso para crear un sistema comercial basado en las estrategias discutidas. Después, hemos escrito sistemas comerciales en MQL5 para cada estrategia analizada para su uso posterior en MetaTrader 5. Esperamos que pueda aplicar lo aprendido e intentar programar por su cuenta, ya que la práctica es un factor importante en cualquier proceso de aprendizaje. Una vez más, resulta esencial que ponga a prueba escrupulosamente el material antes de aplicarlo a una cuenta real. Al fin y al cabo, lo que funciona para otros no tiene por qué funcionar para usted.

El trading algorítmico es una herramienta increíble que mejora nuestra forma de comerciar, ayudándonos a evitar emociones humanas que puedan ser perjudiciales. Ya hemos dicho muchas veces que las emociones juegan un papel importante en el trading y que a menudo son la causa del fracaso. Y si podemos encontrar una herramienta que ejecute automáticamente operaciones basadas en una estrategia ganadora incorporada, tendremos literalmente un tesoro en nuestras manos. También nos ahorrará tiempo, que podremos dedicar a otras cosas útiles mientras el sistema comercial trabaja para nosotros.

Esperamos que el artículo le resulte útil y le ayude a alcanzar sus objetivos comerciales. Si el artículo ha sido de su gusto y lo ha encontrado útil, lea los artículos anteriores de la misma serie para aprender a desarrollar un sistema comercial basado en los indicadores técnicos más populares.

Traducción del inglés realizada por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/en/articles/11081

Aprendiendo a diseñar un sistema de trading con Williams PR Aprendiendo a diseñar un sistema de trading con Williams PR
Aquí tenemos un nuevo artículo de nuestra serie dedicada a la creación de sistemas comerciales basados en indicadores técnicos populares. En dicha serie, escribimos sistemas en el lenguaje MQL5 para su uso en MetaTrader 5. En este artículo, analizaremos el indicador de rango porcentual de Williams (Williams' %R).
Redes neuronales: así de sencillo (Parte 18): Reglas asociativas Redes neuronales: así de sencillo (Parte 18): Reglas asociativas
Como continuación de esta serie, hoy presentamos otro tipo de tarea relacionada con los métodos de aprendizaje no supervisado: la búsqueda de reglas asociativas. Este tipo de tarea se usó por primera vez en el comercio minorista para analizar las cestas de la compra. En este artículo, hablaremos de las posibilidades que ofrece el uso de dichos algoritmos en el trading.
Aprendiendo a diseñar un sistema de trading con la desviación estándar Aprendiendo a diseñar un sistema de trading con la desviación estándar
Le damos la bienvenida a un nuevo artículo de la serie dedicada a la creación de sistemas comerciales basados en los indicadores técnicos más populares y la escritura de los sistemas basados en estos en el lenguaje MQL5 para su posterior uso en MetaTrader 5. En el presente artículo, aprenderemos cómo desarrollar un sistema comercial basado en el indicador de desviación estándar.
Aprendizaje automático y data science (Parte 05): Árboles de decisión usando como ejemplo las condiciones meteorológicas para jugar al tenis Aprendizaje automático y data science (Parte 05): Árboles de decisión usando como ejemplo las condiciones meteorológicas para jugar al tenis
Los árboles de decisión clasifican los datos imitando la forma de pensar de los seres humanos. En este artículo, veremos cómo construir árboles de decisión y usar estos para clasificar y predecir datos. El objetivo principal del algoritmo del árbol de decisión es dividir la muestra en datos con "impurezas" y en datos "limpios" o próximos a los nodos.