Aprendiendo a diseñar un sistema comercial basado en CCI

21 junio 2022, 10:02
Mohamed Abdelmaaboud
1
372

Introducción

Hoy veremos un nuevo artículo de nuestra serie dedicada al diseño de sistemas comerciales basados en estrategias simples usando los indicadores técnicos más utilizados. Esta vez analizaremos el indicador del Índice del Canal de Mercaderías (CCI). Como siempre, intentaremos explicar los fundamentos del tema para ayudarlo a usted a comprender la idea y su uso. En última instancia, esto podrá ofrecerle información y nuevas ideas que podrá utilizar en su trading.

En este artículo, diseñaremos un sistema comercial basado en CCI. Temas a analizar:

Comenzaremos dando información detallada sobre Commodity Channel Index (CCI), qué mide y cómo podemos calcularlo. Cuando entendamos los fundamentos de lo que estamos haciendo, podremos usar las herramientas de manera más eficiente y encontrar más ideas al respecto. Esto es lo que vamos a ver en el tema "Definición de CCI". Luego, trabajaremos en una estrategia simple que se podrá usar con CCI durante diferentes tendencias o condiciones del mercado; esto es lo que aprenderemos en la parte "Estrategia de CCI". A continuación, aprenderemos cómo podemos diseñar un sistema comercial basado en esta estrategia planificando lo que necesitamos diseñar y lo que queremos que haga la computadora: esa será la parte "Modelo de sistema comercial de CCI". Después, aprenderemos cómo diseñar lo que planeamos según el modelo del sistema comercial, en la parte "Sistema comercial de CCI".

En este artículo, usaremos la plataforma comercial MetaTrader 5 y el editor MetaQuotes Language Editor. Podrá descargar MetaTrader 5 desde este enlace:https://www.metatrader5.com/es/download

Una vez que descargue e instale MetaTrader 5, verá el terminal como en la siguiente imagen:

Terminal MT5

Luego, podrá abrir el editor MetaQuotes Language presionando F4 mientras el terminal comercial está abierto o seleccionando el menú Herramientas en el terminal y luego clicando en MetaQuotes Language Editor:

 Abriendo MQL

O bien presionando el botón IDE en la barra de herramientas de MetaTrader 5:

Botón IDE de MT5

Aquí debemos mencionar las ventajas de la programación en el trading, ya que podrían ayudarnos a ser disciplinados. La disciplina es un factor importante para nuestro éxito comercial, porque las emociones pueden resultar perjudiciales para el comercio: las decisiones correctas deben tomarse según un plan comercial ganador, pero la mayoría de los tráders no pueden tomar la decisión correcta por miedo, codicia u otras emociones.

Las funciones programáticas nos vienen muy bien, ya que podemos programar nuestro plan comercial según nuestras condiciones y luego ejecutarlo. El programa hará lo que necesitemos ciñéndose a nuestras reglas sin involucrar emociones que puedan afectar nuestro trading, lo cual significará que la programación nos ayudará a ser disciplinados. Aquí es donde MQL5 resulta útil, pues nos ayuda a programar nuestras condiciones y planes comerciales de forma que puedan ejecutarse automáticamente en el terminal comercial. Estos programas pueden ser desde muy simples hasta muy complejos, dependiendo de nuestro plan comercial.

Descargo de responsabilidad: El contenido de este artículo tiene fines exclusivamente educativos. Por consiguiente, usted se hará responsable de cualquier acción que realice según el contenido de este artículo, ya que el presente artículo no garantiza ningún tipo de resultado.

Ahora, ya estamos listos para comenzar a construir un nuevo bloque en nuestro aprendizaje. Bien, comencemos... 


Definición de CCI

En esta parte, veremos el indicador Commodity Channel Index (CCI) con más detalle: qué mide, cómo se calcula y cómo usarlo. 

El indicador CCI, creado por Donald Lambert, es un indicador de impulso que mide el precio actual en relación con el precio promedio de un periodo temporal determinado. Cuando Lambert creó este indicador, el objetivo inicial era medir los movimientos cíclicos de las materias primas, pero también puede medir otros instrumentos financieros. El CCI se puede usar para detectar la fuerza de la tendencia y sus reversiones, y este es un resultado normal según su naturaleza como indicador de impulso.

Según el cálculo del CCI y lo que mide, cuando el CCI es alto, significará que los precios están muy por encima de su promedio y viceversa, cuando el CCI es bajo, significará que los precios están muy por debajo de su promedio.

El CCI se calcula con los siguientes pasos:

  • Obtenemos el precio típico (TP):

TP = (High + Low + Close)/3

  • Obtenemos la media móvil simple del TP:

SMA de TP = Suma de TP/n

  • Obtenemos la desviación media:

Desviación media = Suma de Abs(TP-SMA)/n

  • Obtenemos el CCI:

CCI = (TP-SMA de TP)/(0,015*desviación media)

Ahora, vamos a tomar un ejemplo para aplicar este cálculo:

Supongamos que tenemos los siguientes datos para un instrumento durante un periodo de 14 días:

Días High Low Close
1 100 90 110
2 130 100 120
3 140 110 130
4 130 100 120
5 120 95 110
6 140 120 130
7 160 130 150
8 170 150 160
9 155 130 140
10 140 120 130
11 160 140 150
12   180 160 170
13   190 170 190
14   200 180 210

Así es como podemos calcular el CCI usando estos datos:

  • Primero calculamos el precio típico (TP):

TP = (High + Low + Close)/3

Bien, después de calcular el precio típico, veremos lo siguiente:

Ejemplo CCI1

  • Luego, necesitaremos calcular la media móvil simple (SMA) del TP calculado:

SMA de TP = Suma de TP/n

El resultado será el siguiente:

Ejemplo CCI2

  • A continuación, calcularemos la diferencia entre TP y SMA en valores absolutos para calcular la desviación media:

Abs (TP-SMA)

Aquí lo tenemos:

Ejemplo CCI3

  • Ahora, necesitaremos calcular la desviación media:

Desviación media = Suma de Abs (TP-SMA)/n

Ejemplo CCI4

  • Ahora es el momento de calcular el CCI:
CCI = (TP-SMA de TP)/(0,015*Desviación media)

CCI = (196,67-141,19)/(0,015*22,86)

CCI = 55,48/0,3429

CCI = 161,80

En la actualidad, no necesitamos calcular los indicadores manualmente porque MetaTrader 5 ofrece indicadores integrados listos para usar. Podemos usarlos directamente seleccionando el indicador CCI en la plataforma como se muestra en la siguiente imagen:

Insertar CCI

Después de seleccionar CCI, aparecerá la siguiente ventana:

 Ventana de CCI

La ventana anterior del indicador muestra sus parámetros:

  • 1: para determinar el periodo del indicador.
  • 2: para establecer el tipo de precio usado en el cálculo del indicador; aquí elegiremos el precio típico.
  • 3: para configurar el estilo del indicador: Color de CCI, tipo de línea de CCI y grosor de línea de CCI.

Después de indicar todos los parámetros, presionamos Ok y el indicador aparecerá en el gráfico:

Indicador CCI en el gráfico

CCI es un oscilador que fluctúa alrededor y entre 100 y -100


Estrategia de CCI

En esta parte, hablaremos sobre dos estrategias simples que se pueden usar con CCI. Una de las estrategias se puede usar según la tendencia o dirección del mercado (tendencia alcista, tendencia bajista y lateral). La otra supone el cruce simple entre el valor CCI con cero y 100 o -100. Antes de hablar sobre estas estrategias, deberemos mencionar que hay muchas estrategias que se pueden usar con CCI. Deberemos probar cada estrategia nosotros mismos en una cuenta demo para ver si resulta útil o no en nuestras operaciones antes de usarla en una cuenta real.

Entonces, las estrategias serán las siguientes.

Primera estrategia: Uso de CCI según la tendencia del mercado

    • Durante una tendencia alcista:

      La tendencia alcista es la dirección del mercado durante la cual los precios crean mínimos y máximos más altos, lo que significa que existe un control por parte de los compradores a medida que los precios suben. En esta condición de mercado, podemos usar CCI como proveedor de señales para generar una señal de compra cuando la línea de CCI supere el nivel 100. Así, CCI > 100. Entonces podremos usar otra herramienta efectiva como la acción del precio, por ejemplo, para obtener beneficios.

      CCI > 100 = buy

      La señal de Take Profit se puede usar desde otra herramienta que puede resultar más útil, como la acción del precio al romper por debajo del mínimo anterior
        • Durante una tendencia bajista:

          La tendencia bajista es la tendencia opuesta a la tendencia alcista: los precios crean máximos más bajos y mínimos más bajos, lo cual significa que los vendedores tienen el control y los precios bajan. En dicho mercado, CCI también se puede usar para generar señales: aparecerá una señal en corto cuando la línea CCI se rompa por debajo del nivel -100. La acción del precio se puede usar para obtener beneficios.

          CCI < -100 = short

          La señal de take profit se puede tomar de otra herramienta que pueda resultar más útil, como la acción del precio al romper por encima del máximo anterior
            • Durante el movimiento lateral:

              Durante los movimientos laterales, podemos encontrar que existe un equilibrio entre compradores y vendedores, por lo que nadie prevalece visualmente en el mercado. Se trata de cualquier situación salvo las tendencias alcista y bajista.

              Durante el movimiento lateral, podemos usar CCI para generar señales. Cuando la línea de CCI se rompa por debajo del nivel -100, será una señal de compra y cuando la línea de CCI se rompa por encima de 100, será una señal de take profit. O bien cuando la línea CCI supere los 100, será una señal corta y cuando la línea CCI supere los -100, será una señal de take profit.

              CCI < -100 = buy
              CCI > 100 = take profit
              CCI > 100 = short

              CCI < -100 = take profit

                Segunda estrategia: Señales de cruce de cero:

                  En este artículo, podemos usar CCI de una manera diferente, ya que podemos entrar en el mercado según el cruce con el nivel cero y tomar las ganancias según el cruce con los valores 100 y -100 según nuestro tipo de posición (compra o en corto).

                    • Para la señal de compra:

                      Mire el valor de CCI en vivo hasta el nivel cero. Cuando el valor de CCI supere el nivel cero, nos dará una señal de compra y podremos obtener las ganancias cuando el valor de CCI supere el nivel 100.

                      CCI > 0 = Buy
                      CCI > 100 = take profit 

                        • Para la señal en corto:

                          Mire el valor de CCI en vivo hasta el nivel cero. Cuando el valor de CCI caiga por debajo del nivel cero, recibiremos una señal corta y podremos obtener ganancias cuando el valor de CCI caiga por debajo de -100.

                          CCI < 0 = Buy
                          CCI < 100 = take profit 

                          Plan de sistema comercial de CCI

                          Ahora, llegamos a la parte más interesante de este artículo, pues necesitamos programar las estrategias mencionadas para automatizar las señales al aplicar el CCI manualmente.

                          Bien, ahora necesitamos codificar estas estrategias e informar a la computadora sobre qué hacer según lo que necesitemos exactamente. Comenzaremos diseñando paso a paso un plan para ello.

                            Primera estrategia: Uso de CCI según la tendencia del mercado:
                              • Durante una tendencia alcista:

                                Necesitamos que el programa compruebe el valor de CCI en cada tick y haga algo según el valor de CCI.

                                Si el CCI es superior a 100, indicará la necesidad de comprar y si no, no indicará nada.

                                Plan de tendencia alcista de CCI

                                  • Durante una tendencia bajista:

                                    Comprobamos el valor de CCI en cada tick y realizamos una acción según este valor.

                                    Si el valor de CCI es inferior a -100, se nos ofrecerá una señal corta y, si no, no se indicará nada.

                                    Plan de tendencia bajista de CCI

                                      • Durante el movimiento lateral:

                                        Durante los movimientos laterales, necesitaremos que el programa compruebe el valor de CCI y luego haga algo según esto.

                                        Si el valor de CCI es inferior a -100, recibiremos una señal de compra, o bien una señal de take profit. Si el CCI no es inferior a -100, comprobamos si el CCI es superior a -100 e inferior a 100; no hacemos nada (esperamos). Si tampoco hay CCI allí, verificamos si el CCI está por encima de 100. Damos una señal corta y luego comprobamos si el CCI está por debajo de -100; damos una señal de take profit, y si no, verificamos si el valor de CCI está por debajo de 100 y por encima de -100; no hacemos nada (esperamos).

                                        Plan lateral de CCI

                                          Segunda estrategia: Señales de cruce de cero:
                                            • Para la señal de compra:

                                              Verificamos cada valor CCI del tick y el nivel cero. Cuando el valor de CCI es superior a cero, generamos una señal de compra en el gráfico, y cuando el valor de CCI supera el nivel 100, mostramos una señal de take profit en el gráfico.

                                              Estrategia CCI de cruce del cero - plan de compra

                                                • Para la señal en corto:
                                                  Verificamos cada valor CCI del tick y el nivel cero y cuando el valor CCI esté por debajo del nivel cero, mostraremos una señal corta en el gráfico; cuando el valor CCI esté por debajo de -100, ofreceremos una señal de take profit.

                                                  Estrategia CCI de cruce del cero - plan en corto

                                                  Sistema comercial de CCI

                                                  Ahora, necesitaremos escribir la estrategia mencionada en forma de código para que la computadora haga lo que necesitamos.

                                                  Primero, necesitamos codificar un programa simple que muestre en el gráfico los valores de CCI. La programación contendrá los siguientes pasos:

                                                  1. Creación de una matriz de precios.
                                                  2. Clasificación de la matriz de precios a partir de los datos actuales.
                                                  3. Definición de las propiedades de CCI.
                                                  4. Clasificación de los resultados.
                                                  5. Obtención del valor de los datos actuales.
                                                  6. Dibujado de los valores de CCI y muestra de dichos valores en el gráfico.

                                                  A continuación, mostraremos cómo codificar los pasos anteriores para crear un programa que permita a la computadora mostrar los valores de CCI en el gráfico de forma automática:

                                                  //+------------------------------------------------------------------+
                                                  //|                                            Simple CCI 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"
                                                  //+------------------------------------------------------------------+
                                                  void OnTick()
                                                    {
                                                     //Creating an array of prices
                                                     double ArrayOfPrices[];
                                                     
                                                     //Sorting price array from current data
                                                     ArraySetAsSeries(ArrayOfPrices,true);
                                                     
                                                     //CCI properties Definition
                                                     int CCIDef = iCCI(_Symbol,_Period,14,PRICE_CLOSE);
                                                     
                                                     //Storing results
                                                     CopyBuffer(CCIDef,0,0,3,ArrayOfPrices);
                                                     
                                                     //Getting value of current data
                                                     double CCIValue = (ArrayOfPrices[0]);
                                                     
                                                     //Charting CCI values
                                                     Comment ("CCI Value = ",CCIValue);
                                                    }
                                                  //+------------------------------------------------------------------+

                                                  Después de eso, podremos encontrar este programa (Simple CCI System) en el Navegador, seleccionarlo y ejecutarlo en la plataforma comercial:

                                                  Navegador CCI actualizado

                                                  El programa (Simple CCI System) se puede abrir clicando dos veces o arrastrándolo y soltándolo en el gráfico. Después de ello, se abrirá la siguiente ventana:

                                                  Ventana de Ventana de Simple CCI System

                                                  Después de habilitar la opción "Permitir Trading Algorítmico" y presionar ok, el programa (EA) Simple CCI System se adjuntará al gráfico y el valor de CCI se visualizará en el mismo:

                                                  Adjuntando Simple CCI System 

                                                  Ahora, vamos a aprender a codificar las dos estrategias mencionadas:

                                                  • Primera estrategia: Uso de CCI según la tendencia del mercado:
                                                    • Durante una tendencia alcista:

                                                  CCI > 100 = buy


                                                  Se deberán realizar los siguientes pasos:

                                                  1. Creación de una matriz para los precios.
                                                  2. Clasificación de la matriz de precios a partir de los datos actuales.
                                                  3. Definición de las propiedades de CCI.
                                                  4. Clasificación de los resultados.
                                                  5. Obtención del valor de los datos actuales.
                                                  6. Condición del establecimiento de las señales de CCI durante una tendencia alcista.

                                                  Aquí podemos ver cómo codificar estos pasos:

                                                  //+------------------------------------------------------------------+
                                                  //|                                         Uptrend CCI Strategy.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()
                                                    {
                                                     //Creating an array of prices
                                                     double ArrayOfPrices[];
                                                     
                                                     //Sorting price array from current data
                                                     ArraySetAsSeries(ArrayOfPrices,true);
                                                     
                                                     //CCI properties Definition
                                                     int CCIDef = iCCI(_Symbol,_Period,14,PRICE_CLOSE);
                                                     
                                                     //Storing results
                                                     CopyBuffer(CCIDef,0,0,3,ArrayOfPrices);
                                                     
                                                     //Getting value of current data
                                                     double CCIValue = (ArrayOfPrices[0]);
                                                     
                                                     //CCI signals for uptrend
                                                     if(CCIValue> 100)
                                                     Comment ("UPTREND CCI - BUY SIGNAL ");
                                                     
                                                    }
                                                  //+------------------------------------------------------------------+
                                                  

                                                  Después de eso, encontraremos este programa de estrategia alcista de CCI en el Navegador:

                                                  Navegador de estrategia de tendencia alcista CCI

                                                  Volvemos a abrir este programa de estrategia alcista de CCI haciendo doble clic o arrastrándolo y soltándolo en el gráfico. Se abrirá la siguiente ventana:

                                                  Ventana de estrategia de tendencia alcista CCI

                                                  Después de habilitar "Permitir Trading Algorítmico" y presionar Aceptar, el programa (EA) - Estrategia de tendencia alcista CCI se adjuntará al gráfico:

                                                  Adjuntar estrategia de tendencia alcista CCI

                                                  Las señales de la estrategia alcista CCI se mostrarán según esta estrategia:

                                                  Estrategia de tendencia alcista CCI - Señal de compra

                                                  • Durante una tendencia bajista:

                                                  CCI < -100 = short

                                                  Vamos a codificar los siguientes pasos:

                                                  1. Creación de una matriz para los precios.
                                                  2. Clasificación de la matriz de precios a partir de los datos actuales.
                                                  3. Definición de las propiedades de CCI.
                                                  4. Clasificación de los resultados.
                                                  5. Obtención del valor de los datos actuales.
                                                  6. Condición de establecimiento de señales de CCI durante la tendencia bajista.

                                                  A continuación, mostramos el código del programa que se puede iniciar en la plataforma comercial, y ejecutar automáticamente lo que necesitemos:

                                                  //+------------------------------------------------------------------+
                                                  //|                                       Downtrend CCI Strategy.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()
                                                    {
                                                     //Creating an array of prices
                                                     double ArrayOfPrices[];
                                                     
                                                     //Sorting price array from current data
                                                     ArraySetAsSeries(ArrayOfPrices,true);
                                                     
                                                     //CCI properties Definition
                                                     int CCIDef = iCCI(_Symbol,_Period,14,PRICE_CLOSE);
                                                     
                                                     //Storing results
                                                     CopyBuffer(CCIDef,0,0,3,ArrayOfPrices);
                                                     
                                                     //Getting value of current data
                                                     double CCIValue = (ArrayOfPrices[0]);
                                                     
                                                     //CCI signals
                                                     if(CCIValue< -100)
                                                     Comment ("DOWNTREND CCI - SHORT SIGNAL ");
                                                    }
                                                  //+------------------------------------------------------------------+
                                                  

                                                  Echemos un vistazo a este programa Estrategia de tendencia bajista CCI en el Navegador:

                                                  Navegador de estrategia de tendencia bajista CCI

                                                  Abrimos este programa Estrategia de tendencia bajista CCI haciendo doble clic o arrastrándolo y soltándolo en el gráfico. Se abrirá la siguiente ventana:

                                                  Ventana de estrategia de tendencia bajista CCI

                                                  Habilitamos "Permitir Trading Algorítmico" y presionamos Aceptar; el programa (EA) - Estrategia de tendencia bajista CCI se adjuntará al gráfico:

                                                  Adjuntar estrategia de tendencia bajista CCI

                                                  Las señales del programa de estrategia de tendencia bajista CCI aparecerán según esta estrategia igual que en la siguiente imagen:

                                                  Estrategia de tendencia bajista CCI - Señal corta

                                                  • Durante el movimiento lateral:
                                                    • Para las señales de compra:

                                                  CCI < -100 = buy

                                                  CCI > 100 = take profit

                                                  Pasos:

                                                  1. Creación de una matriz para los precios.
                                                  2. Clasificación de la matriz de precios a partir de los datos actuales.
                                                  3. Definición de las propiedades de CCI.
                                                  4. Clasificación de los resultados.
                                                  5. Obtención del valor de los datos actuales.
                                                  6. Condición de establecimiento de la señal de compra de CCI durante el movimiento lateral.

                                                  Vamos a codificar estos pasos para crear un programa que pueda hacer lo que necesitamos:

                                                  //+------------------------------------------------------------------+
                                                  //|                                  Sideways CCI Strategy - Buy.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()
                                                    {
                                                     //Creating an array of prices
                                                     double ArrayOfPrices[];
                                                     
                                                     //Sorting price array from current data
                                                     ArraySetAsSeries(ArrayOfPrices,true);
                                                     
                                                     //CCI properties Definition
                                                     int CCIDef = iCCI(_Symbol,_Period,14,PRICE_CLOSE);
                                                     
                                                     //Storing results
                                                     CopyBuffer(CCIDef,0,0,3,ArrayOfPrices);
                                                     
                                                     //Getting value of current data
                                                     double CCIValue = (ArrayOfPrices[0]);
                                                     
                                                     //CCI signals
                                                     if(CCIValue< -100)
                                                     Comment ("SIDEWAYS CCI - BUY SIGNAL ");
                                                     
                                                     if(CCIValue> 100)
                                                     Comment ("SIDEWAYS CCI - TAKE PROFIT");
                                                    }
                                                  //+------------------------------------------------------------------+

                                                  Veamos este programa Estrategia lateral CCI - Compra, en el Navegador:

                                                   Navegador de estrategia lateral CCI - Compra

                                                  Lo abrimos haciendo doble clic o arrastrándolo y soltándolo. Se abrirá la siguiente ventana:


                                                  Ventana de estrategia lateral CCI - Compra

                                                  Habilitamos "Permitir el Trading Algorítmico" y presionamos Aceptar, el programa (EA) - Estrategia lateral CCI- Compra se adjuntará al gráfico:

                                                  Adjuntar estrategia lateral CCI - Compra

                                                  Así, podremos encontrar las señales que aparezcan según esta Estrategia lateral CCI - Compra:

                                                  Estrategia lateral CCI - Compra

                                                  La señal de take profit será en CCI > 100 = take profit. Ejemplo:

                                                  Estrategia lateral CCI - Compra - TP

                                                    • Para las señales cortas:

                                                  CCI > 100 = short

                                                  CCI < -100 = take profit

                                                  Vamos a codificar esto usando los siguientes pasos:

                                                  1. Creación de una matriz para los precios.
                                                  2. Clasificación de la matriz de precios a partir de los datos actuales.
                                                  3. Definición de las propiedades de CCI.
                                                  4. Clasificación de los resultados.
                                                  5. Obtención del valor de los datos actuales.
                                                  6. Condición de establecimiento de la señal CCI corta durante el movimiento lateral.

                                                  Lo siguiente será codificar estos pasos para crear el programa Estrategia lateral CCI - Short:

                                                  //+------------------------------------------------------------------+
                                                  //|                                Sideways CCI Strategy - Short.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()
                                                    {
                                                     //Creating an array of prices
                                                     double ArrayOfPrices[];
                                                     
                                                     //Sorting price array from current data
                                                     ArraySetAsSeries(ArrayOfPrices,true);
                                                     
                                                     //CCI properties Definition
                                                     int CCIDef = iCCI(_Symbol,_Period,14,PRICE_CLOSE);
                                                     
                                                     //Storing results
                                                     CopyBuffer(CCIDef,0,0,3,ArrayOfPrices);
                                                     
                                                     //Getting value of current data
                                                     double CCIValue = (ArrayOfPrices[0]);
                                                     
                                                     //CCI signals
                                                     if(CCIValue> 100)
                                                     Comment ("SIDEWAYS CCI - SHORT SIGNAL ");
                                                     
                                                     if(CCIValue< -100)
                                                     Comment ("SIDEWAYS CCI - TAKE PROFIT");
                                                    }
                                                  //+------------------------------------------------------------------+

                                                  Después de ello, el programa Estrategia lateral CCI - Short se podrá encontrar en el Navegador:

                                                  Navegador de Estrategia lateral CCI - Short

                                                  Abrimos la Estrategia lateral CCI - Short clicando dos veces o arrastrando y soltando en el gráfico. Se abrirá la siguiente ventana:

                                                  Ventana de estrategia lateral CCI - short

                                                  Después de habilitar "Permitir el trading algorítmico" y presionar ok, el programa (EA) - Estrategia lateral CCI - Short se adjuntará al gráfico y se verá así:

                                                  Adjuntar estrategia lateral CCI - Short

                                                  Las señales aparecerán según la Estrategia lateral CCI - Short:

                                                  Lateral CCI - Short

                                                  El take profit se da cuando CCI <-100 = take profit:

                                                  Lateral CCI - Short - TP

                                                  • Segunda estrategia: Señales de cruce del nivel cero:
                                                    • Para la señal de compra:

                                                  CCI > 0 = Buy
                                                  CCI > 100 = take profit 

                                                  Vamos a codificar esto usando los siguientes pasos:

                                                  1. Creación de una matriz para los precios.
                                                  2. Clasificación de la matriz de precios a partir de los datos actuales.
                                                  3. Definición de las propiedades de CCI.
                                                  4. Clasificación de los resultados.
                                                  5. Obtención del valor de los datos actuales.
                                                  6. Condición de establecimiento para el valor CCI y el cruce del nivel cero.

                                                  Pasos para crear el programa Estrategia de cruce del nivel cero de CCI - Compra:

                                                  //+------------------------------------------------------------------+
                                                  //|                            Zero crossover CCI Strategy - Buy.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()
                                                    {
                                                     //Creating an array of prices
                                                     double ArrayOfPrices[];
                                                     
                                                     //Sorting price array from current data
                                                     ArraySetAsSeries(ArrayOfPrices,true);
                                                     
                                                     //CCI properties Definition
                                                     int CCIDef = iCCI(_Symbol,_Period,14,PRICE_CLOSE);
                                                     
                                                     //Storing results
                                                     CopyBuffer(CCIDef,0,0,3,ArrayOfPrices);
                                                    
                                                     //Getting value of current data
                                                     double CCIValue = (ArrayOfPrices[0]);
                                                     
                                                     //CCI signals
                                                     if(CCIValue > 0)
                                                     Comment ("Zero crossover CCI - BUY SIGNAL ");
                                                     
                                                     if(CCIValue > 100)
                                                     Comment ("Zero crossover CCI - TAKE PROFIT");
                                                    }
                                                  //+------------------------------------------------------------------+
                                                  

                                                  Veamos el programa Estrategia de cruce del nivel cero de CCI - Compraen el Navegador:

                                                  Navegador de la estrategia de cruce del nivel cero de CCI - Compra

                                                  Abrimos este programa haciendo doble clic o arrastrando y soltando en el gráfico. Se abrirá la siguiente ventana:

                                                  Estrategia de cruce del nivel cero de CCI - Ventana de compra


                                                  Después de habilitar "Permitir el Trading Algorítmico" y presionar Aceptar, el programa (EA) - Estrategia de cruce del nivel cero de CCI - Compra se adjuntará al gráfico:

                                                  Adjuntar estrategia de cruce del nivel cero de CCI - Compra

                                                  Las señales aparecerán según la estrategia de cruce del nivel cero de CCI - Compra:

                                                  Estrategia de cruce del nivel cero de CCI - Compra

                                                  El take profit se dará cuando CCI > 100 = take profit y la siguiente imagen es un ejemplo de ello:

                                                  Estrategia de cruce del nivel cero de CCI - Compra - TP

                                                    • Para la señal en corto:

                                                  CCI < 0 = Buy
                                                  CCI < -100 = take profit 

                                                  Vamos a codificar esto usando los siguientes pasos:

                                                  1. Creación de una matriz para los precios.
                                                  2. Clasificación de la matriz de precios a partir de los datos actuales.
                                                  3. Definición de las propiedades de CCI.
                                                  4. Clasificación de los resultados.
                                                  5. Obtención del valor de los datos actuales.
                                                  6. Condición de establecimiento para el valor CCI y el cruce del nivel cero.

                                                  Pasos para codificar el programa Estrategia de cruce del nivel cero de CCI - Short:

                                                  //+------------------------------------------------------------------+
                                                  //|                          Zero crossover CCI Strategy - Short.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()
                                                    {
                                                     //Creating an array of prices
                                                     double ArrayOfPrices[];
                                                     
                                                     //Sorting price array from current data
                                                     ArraySetAsSeries(ArrayOfPrices,true);
                                                     
                                                     //CCI properties Definition
                                                     int CCIDef = iCCI(_Symbol,_Period,14,PRICE_CLOSE);
                                                     
                                                     //Storing results
                                                     CopyBuffer(CCIDef,0,0,3,ArrayOfPrices);
                                                     
                                                     //Getting value of current data
                                                     double CCIValue = (ArrayOfPrices[0]);
                                                     
                                                     //CCI signals
                                                     if(CCIValue < 0)
                                                     Comment ("Zero crossover CCI - SHORT SIGNAL ");
                                                     
                                                     if(CCIValue < -100)
                                                     Comment ("Zero crossover CCI - TAKE PROFIT");
                                                    }
                                                  //+------------------------------------------------------------------+
                                                  

                                                  Después de eso, podemos ver este programa Estrategia de cruce del nivel cero de CCI - Shorten el Navegador:

                                                  Navegador de estrategia de cruce del nivel cero de CCI

                                                  Abrimos este programa estrategia de cruce del nivel cero de CCI - Short haciendo doble clic en él o arrastrándolo y soltándolo en el gráfico. Se abrirá la siguiente ventana:

                                                  Estrategia de cruce del nivel cero de CCI - Ventana de short

                                                  Después de habilitar "Permitir trading algorítmico" y presionar Aceptar, el programa (EA) - Estrategia de cruce del nivel cero de CCI - Short se adjuntará al gráfico:

                                                  Estrategia de cruce del nivel cero de CCI - Conexión corta

                                                  Las señales aparecerán según la Estrategia de cruce del nivel cero de CCI - Short:

                                                  Estrategia de cruce del nivel cero de CCI - Short

                                                  El take profit se dará cuando CCI < -100 = take profit y la siguiente imagen es un ejemplo de ello:

                                                  Estrategia de cruce del nivel cero de CCI - Short - TP

                                                  Conclusión

                                                  El indicador Commodities Channel Index (CCI) es otra herramienta que podemos usar en nuestro trading para obtener mejores resultados después de probar cada estrategia de CCI y optimizarla si resulta rentable tras las pruebas. Este artículo puede considerarse una introducción a una nueva herramienta comercial que podemos usar según nuestro plan y estilo de negociación. 

                                                  En este artículo, hemos visto qué es el indicador CCI, qué muestra y qué mide, y también cómo podemos calcularlo. Asimismo, hemos visto un ejemplo que nos permite profundizar en nuestros conocimientos sobre esta herramienta, lo cual puede abrirnos los ojos a más conocimientos y a nuevas ideas.

                                                  Después, hemos visto estrategias simples que CCI puede usar durante diferentes condiciones de mercado (tendencia alcista, bajista y lateral) y una estrategia de cruce del nivel cero. Como hemos mencionado, CCI puede usar muchas estrategias: podemos explorar más este tema para saber cuál de ellas resulta útil para nuestro comercio; no obstante, si nos familiarizamos con sus conceptos básicos, su uso resultará más efectivo.

                                                  Además, hemos aprendido a diseñar un modelo para esta estrategia que puede resultar útil para escribir un programa propio con el que diseñar un sistema comercial basado en CCI. Luego, hemos visto cómo codificar esta estrategia con MQL5 y cómo adjuntar y ejecutar este sistema comercial en nuestra plataforma comercial Meta Trader 5 para generar señales automáticamente. También hemos analizado cómo podemos generar señales en nuestros gráficos.

                                                  Ahora, el lector necesita asegurarse de probar cualquier estrategia nueva antes de usarla en vivo en su cuenta real. Esperamos que encuentre este artículo útil, y que su trading usando la información obtenida (o ideas propias asociadas a ella) pueda reportarle éxitos comerciales.

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

                                                  Andres Ngi
                                                  Andres Ngi | 22 jul. 2022 en 04:34
                                                  esta genial!
                                                  Aprendizaje automático y Data Science (Parte 02): Regresión logística Aprendizaje automático y Data Science (Parte 02): Regresión logística
                                                  La clasificación de los datos es un punto crucial para los tráders algorítmicos y los programadores. En este artículo, nos centraremos en uno de los algoritmos logísticos de clasificación que podría ayudarnos a identificar los síes o los noes, las subidas y bajadas, las compras y las ventas.
                                                  DoEasy. Elementos de control (Parte 3): Creando controles vinculados DoEasy. Elementos de control (Parte 3): Creando controles vinculados
                                                  En este artículo veremos la creación de controles subordinados vinculados a un control básico y creados directamente a partir de la funcionalidad del control básico. Además de la tarea mencionada, tocaremos también el objeto de sombra de un elemento gráfico, ya que todavía existen algunos errores lógicos no resueltos a la hora de utilizarlo con cualquiera de los objetos que permiten tener una sombra.
                                                  Cómo avanzar en el aprendizaje automático Cómo avanzar en el aprendizaje automático
                                                  Aquí tenemos una selección de materiales que resultarán útiles para que los tráders mejoren sus conocimientos sobre el trading algorítmico. La época de los algoritmos simples es cosa del pasado: ahora es difícil alcanzar el éxito sin utilizar el aprendizaje automático y las redes neuronales.
                                                  DoEasy. Elementos de control (Parte 2): Continuamos trabajando con la clase CPanel DoEasy. Elementos de control (Parte 2): Continuamos trabajando con la clase CPanel
                                                  En este artículo, eliminaremos algunos errores que surgen al trabajar con los elementos gráficos y continuaremos desarrollando el control CPanel. Estos métodos servirán para establecer por defecto los parámetros de fuente usados para todos los objetos de texto en el panel, que a su vez podrán ser colocados en él en el futuro.