English Русский 中文 Español Deutsch 日本語 한국어 Français Italiano Türkçe
Como desenvolver um sistema de negociação baseado no indicador CCI

Como desenvolver um sistema de negociação baseado no indicador CCI

MetaTrader 5Negociação | 8 julho 2022, 09:38
638 0
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Introdução

Este é um novo artigo de nossa série em que aprendemos como desenvolver sistemas de negociação com base em estratégias simples usando os indicadores técnicos mais usados. Desta vez nós vamos discutir o indicador Commodity Channel Index (CCI). Como sempre, eu tentarei explicar os fundamentos do tópico para ajudá-lo a entender a ideia e o seu uso. Em última análise, essa maneira pode fornecer insights e novas ideias que você pode usar em sua negociação.

Neste artigo, nós projetaremos um sistema de negociação baseado no indicador CCI. Tópicos a serem abordados:

Nós começaremos com informações detalhadas sobre o que é o indicador Commodity Channel Index (CCI), o que ele mede, e como nós podemos calculá-lo. Quando nós entendermos os fundamentos e as raízes do que nós estamos fazendo, nós poderemos usar as ferramentas com mais eficiência e encontrar mais ideias e insights sobre isso. É isso que nós vamos discutir no tópico "Definição do CCI". Em seguida, nós trabalharemos em uma estratégia simples que pode ser usada com o CCI durante diferentes tendências ou condições de mercado — é isso que nós aprenderemos na parte "Estratégia CCI". Em seguida, nós aprenderemos como nós podemos projetar um sistema de negociação com base nessa estratégia, planejando o que nós precisamos projetar e o que queremos que o computador faça — parte "modelo do sistema de negociação CCI". Em seguida, nós aprenderemos como projetar o que nós planejamos pelo modelo do sistema de negociação — parte "sistema de negociação CCI".

Nós usaremos a plataforma de negociação MetaTrader 5 e o Editor de Linguagem MetaQuotes neste artigo. Você pode baixar a MetaTrader 5 neste link: https://www.metatrader5.com/pt/download

Depois de baixar e instalar a MetaTrader 5, você verá a plataforma como na imagem a seguir:

Plataforma MT5

Em seguida, você poderá abrir o Editor de Linguagem MetaQuotes pressionando F4, enquanto a plataforma de negociação estiver aberta, ou selecionando o menu Ferramentas na plataforma e clicando em Editor de Linguagem MetaQuotes:

 Abertura da MQL

Ou pressione o botão IDE na barra de ferramentas da MetaTrader 5:

Botão IDE da MT5

Aqui eu preciso mencionar o benefício da programação na negociação, pois ela pode nos ajudar a ser disciplinados. A disciplina é um fator importante para o nosso sucesso na negociação, porque as emoções podem ser prejudiciais à negociação: a decisão certa deve ser tomada de acordo com o plano de negociação vencedor, mas acontece com a maioria dos traders que eles não podem tomar a ação ou decisão certa por causa do medo, ganância ou outras emoções.

Os recursos de programação vêm a nosso favor já que podemos programar nosso plano de negociação de acordo com nossas condições e executá-lo. O programa fará o que nós precisamos de acordo com as nossas regras sem envolver emoções que possam afetar a nossa negociação, o que significa que a programação nos ajudará a ser disciplinados. É aqui que a MQL5 é útil, pois nos ajuda a programar nossas condições e planos de negociação de uma maneira que ela possa ser executada automaticamente na plataforma de negociação. Estes programas podem variar de muito simples à complexos, dependendo do nosso plano de negociação.

Ressalva: Todo o conteúdo deste artigo é feito apenas para fins educacionais, somente. Portanto, você será responsável por qualquer ação que tomar com base no conteúdo deste artigo, pois o conteúdo deste artigo não garante nenhum tipo de resultado.

Agora, nós estamos prontos para iniciar o nosso artigo para construir um novo bloco em nossa jornada de aprendizado. Então, vamos fazer isso... 


Definição do CCI

Nesta parte, nós conheceremos mais detalhadamente o indicador Commodity Channel Index (CCI): o que ele mede, como ele é calculado e como usá-lo. 

O indicador Commodity Channel index (CCI) criado por Donald Lambert é um indicador de momentum que mede o preço atual em relação a uma média de preço de um determinado período de tempo. Quando Lambert criou este indicador, o objetivo inicial era medir movimentos cíclicos em commodities, mas também pode medir outros instrumentos financeiros. O CCI pode ser usado para identificar a força e as reversões da tendência e este é um resultado normal de acordo com a sua natureza como indicador de momentum.

De acordo com o cálculo do CCI e o que ele mede, quando o CCI está alto significa que os preços estão muito acima da sua média e vice-versa, quando o CCI está baixo significa que os preços estão muito abaixo da sua média.

O CCI é calculado nas seguintes etapas:

  • Obtemos o Preço Típico (TP):

TP = (Máxima + Mínima + Fechamento)/3

  • Obtemos a Média Móvel Simples do TP:

SMA de TP = Soma de TP/n

  • Obtemos o Desvio Médio:

Desvio médio = Soma de Abs(TP-SMA)/n

  • Obtemos o CCI:

CCI = (TP-SMA doTP)/(0.015*Desvio Médio)

Agora, vamos dar um exemplo para aplicar este cálculo:

Suponha que nós temos os seguintes dados para um instrumento por um período de 14 dias:

Dias Máxima Mínima Encerramento
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

Veja como nós podemos calcular o CCI usando esses dados:

  • Primeiro nós vamos calcular o Preço Típico (TP):

TP = (Máxima + Mínima + Fechamento)/3

Assim, após o cálculo do Preço Típico, veremos o seguinte:

Exemplo CCI1

  • Então, nós precisamos calcular a Média Móvel Simples (SMA) do TP calculado:

SMA de TP = Soma de TP/n

O resultado é o seguinte:

Exemplo CCI2

  • Então, nós vamos calcular a diferença entre TP e SMA em valores absolutos para calcular o desvio médio:

Abs (TP-SMA)

Aqui nós teremos o seguinte:

Exemplo CCI3

  • Agora, nós precisamos calcular o desvio médio:

Desvio médio = Soma de Abs(TP-SMA)/n

Exemplo CCI4

  • Agora, é hora de calcular o CCI:
CCI = (TP-SMA do TP)/(0.015*Desvio Médio)

CCI = (196.67-141.19)/(0.015*22.86)

CCI = 55.48/0.3429

CCI = 161.80

Atualmente, nós não precisamos calcular os indicadores manualmente porque a MetaTrader 5 oferece indicadores integrados prontos para uso. Você pode usá-lo imediatamente selecionando o indicador CCI na plataforma, conforme mostrado na figura a seguir:

Inserção do CCI

Após selecionar o CCI, a seguinte janela será exibida:

 Janela do CCI

A janela anterior do indicador mostra os seus parâmetros:

  • 1: para determinar o período do indicador.
  • 2: para definir o tipo de preço que será usado no cálculo do indicador, aqui nós escolheremos o Preço Típico.
  • 3: para definir o estilo do indicador: cor do CCI, tipo da linha do CCI e espessura da linha do CCI.

Depois de especificar todos os parâmetros, pressionamos Ok e o indicador aparecerá no gráfico:

Indicador CCI no gráfico

O CCI é um oscilador que oscila em torno e entre 100 e -100


Estratégia do CCI

Nesta parte, nós falaremos sobre as duas estratégias simples que podem ser usadas com o CCI. Uma das estratégias pode ser usada de acordo com a tendência ou direção do mercado (tendência de alta, tendência de baixa e lateralização). O outro é um simples cruzamento entre o valor CCI com zero e 100 ou -100. Antes de falarmos sobre essas estratégias, eu preciso mencionar que existem muitas estratégias que podem ser usadas com o CCI. Você deve testar cada estratégia por conta própria em uma conta de demonstração para ver se é útil ou não em sua negociação antes de usá-la em uma conta real com dinheiro real.

Então, as estratégias são as seguintes.

Primeira estratégia: Usar o CCI de acordo com a tendência do mercado

    • Durante a tendência de alta:

      A tendência de alta é a direção do mercado durante a qual os preços criam novas máximas e mínimas ascendentes, o que significa que há um controle dos compradores à medida que os preços sobem. Nesta condição de mercado, nós podemos usar o CCI como um provedor de sinal para gerar um sinal de compra quando a linha do CCI ultrapassar o nível 100. Então, CCI > 100. Então, nós podemos usar outra ferramenta eficaz, como price action, por exemplo, para obter lucro.

      CCI > 100 = compra

      O sinal de take profit (lucro) pode ser usado a partir de outra ferramenta que pode ser mais útil, como o price action, rompendo abaixo da mínima anterior
        • Durante a tendência de baixa:

          A tendência de baixa é a tendência que é o oposto da tendência de alta: os preços criam novas mínimas e máximas descendentes, o que significa que há um controle dos vendedores e os preços caem. Nesse mercado, o CCI também pode ser usado para gerar sinais: um sinal de venda aparece quando a linha do CCI rompe abaixo do nível -100. Price action pode ser usado para obter lucros.

          CCI < -100 = venda

          O sinal de take profit (lucro) pode ser obtido de outra ferramenta que pode ser mais útil, como o price action, rompendo acima da máxima anterior
            • Durante as lateralizações:

              Durante os movimentos laterais, nós podemos descobrir que há um equilíbrio entre compradores e vendedores para que ninguém prevaleça visualmente no mercado. É qualquer situação, exceto uma tendência de alta ou tendência de baixa.

              Durante as lateralizações nós podemos usar o CCI para gerar os sinais. Quando a linha do CCI romper abaixo do nível -100, este será um sinal de compra e quando a linha CCI romper acima de 100, isso será um take profit. Ou quando a linha do CCI romper acima de 100, este será um sinal de venda e quando a linha do CCI romper abaixo de -100, isso será um take profit.

              CCI < -100 = compra
              CCI > 100 = take profit
              CCI > 100 = venda

              CCI < -100 = take profit

                Segunda estratégia: Sinais de cruzamento no nível zero:

                  Neste artigo, nós podemos usar o CCI de uma maneira diferente, pois nós podemos tomar a ação de entrar no mercado de acordo com o cruzamento no nível zero e obter lucros de acordo com o cruzamento nos valores 100 e -100 conforme nosso tipo de posição (compra ou venda).

                    • Para o sinal de compra:

                      Veja o valor do CCI subir para o nível zero. Quando o valor do CCI ultrapassar o nível zero, este será um sinal de compra e nós podemos obter lucro quando o valor do CCI ultrapassar 100.

                      CCI > 0 = Compra
                      CCI > 100 = take profit 

                        • Para o sinal de venda:

                          Veja o valor do CCI subir para o nível zero. Quando o valor do CCI rompe abaixo do nível zero, este será um sinal de venda e podemos nós lucrar quando o valor do CCI romper abaixo de -100.

                          CCI < 0 = Compra
                          CCI < 100 = take profit 

                          Modelo do sistema de negociação do CCI

                          Agora, nós chegamos à parte mais interessante deste artigo, pois nós precisamos programar essas estratégias mencionadas para automatizar os sinais ao observar o CCI manualmente.

                          Então, nós precisamos agora codificar essas estratégias mencionadas e informar ao computador o que fazer de acordo com o que nós precisamos exatamente. Nós começaremos desenvolvendo passo a passo um plano para isso.

                            Primeira estratégia: Usar o CCI de acordo com a tendência do mercado:
                              • Durante a tendência de alta:

                                Nós precisamos que o programa verifique o valor do CCI a cada tick e faça algo de acordo com o valor do CCI.

                                Se o CCI estiver acima de 100, compra, caso contrário, não faça nada.

                                Plano de tendência de alta do CCI

                                  • Durante a tendência de baixa:

                                    Verificamos o valor do CCI a cada tick e tomamos uma ação de acordo com esse valor.

                                    Se o valor do CCI for inferior a -100, venda, caso contrário, não faça nada.

                                    Plano de tendência de baixa do CCI

                                      • Durante as lateralizações:

                                        Durante as lateralizações, nós precisamos que o programa verifique o valor do CCI e faça algo de acordo com isso.

                                        Se o valor do CCI estiver abaixo de -100, recebemos um sinal de compra ou de take profit. Se o CCI não está abaixo de -100, verificamos se o CCI está acima de -100 e abaixo de 100; não devemos fazer nada (esperar), caso contrário, geramos uma venda caso o CCI esteja acima de 100. Verificamos se o CCI está abaixo de -100, para gerar um take profit, caso contrário, se o valor do CCI estiver abaixo de 100 e acima de -100 não devemos fazer nada (esperar).

                                        Planta lateral do CCI

                                          Segunda estratégia: Sinais de cruzamento no nível zero:
                                            • Para o sinal de compra:

                                              Verificamos a cada tick o valor do CCI e o nível zero. Quando o valor do CCI for maior que zero, geramos um sinal de compra no gráfico e quando o valor do CCI ficar acima de 100, geramos um sinal de take profit no gráfico.

                                              Estratégia de cruzamento do CCI no nível zero - sinal de compra

                                                • Para o sinal de venda:
                                                  Verificamos o valor do CCI e o nível zero a cada tick e quando o valor do CCI estiver abaixo do nível zero, geramos um sinal de venda no gráfico e, quando o valor do CCI estiver abaixo de -100, geramos um sinal de take profit.

                                                  Estratégia de cruzamento do CCI no nível zero - sinal de venda

                                                  Sistema de negociação do CCI

                                                  Agora, nós precisamos escrever a estratégia mencionada em código para o computador fazer o que nós precisamos.

                                                  Primeiro, nós precisamos codificar um programa simples que mostre os valores do CCI no gráfico. A programação consiste nos seguintes passos:

                                                  1. Criar uma matriz de preços.
                                                  2. Classificar a matriz de preços a partir dos dados atuais.
                                                  3. Definir as propriedades do CCI.
                                                  4. Classificar os resultados.
                                                  5. Obter o valor dos dados atuais.
                                                  6. Traçar os valores do CCI e mostrar esses valores no gráfico.

                                                  Veja a seguir como codificar as etapas anteriores para criar um programa que pode permitir que o computador exiba os valores do CCI no gráfico automaticamente:

                                                  //+------------------------------------------------------------------+
                                                  //|                                            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);
                                                    }
                                                  //+------------------------------------------------------------------+

                                                  Após isso, nós podemos encontrar este programa (Simple CCI System) no Navegador, selecioná-lo e executá-lo na plataforma de negociação:

                                                  Navegador com o CCI atualizado

                                                  O programa (Simple CCI System) pode ser aberto com o duplo clique do mouse ou arrastando-o e soltando-o no gráfico. Após isso, a seguinte janela será aberta:

                                                  Janela do Simple CCI System

                                                  Após habilitar a opção "Permitir a Negociação Automatizada" e pressionar ok, o programa (EA) Simple CCI System será anexado ao gráfico e o valor do CCI será visualizado no gráfico:

                                                  Simple CCI System anexado 

                                                  Agora, nós vamos aprender como codificar as duas estratégias mencionadas:

                                                  • Primeira estratégia: Usar o CCI de acordo com a tendência do mercado:
                                                    • Durante a tendência de alta:

                                                  CCI > 100 = compra


                                                  Nós faremos os seguintes passos:

                                                  1. Criar uma matriz para os preços.
                                                  2. Classificar a matriz de preços a partir dos dados atuais.
                                                  3. Definir as propriedades do CCI.
                                                  4. Classificar os resultados.
                                                  5. Obter o valor dos dados atuais.
                                                  6. Configuração da condição dos sinais do CCI durante a tendência de alta.

                                                  Veja como codificar essas etapas:

                                                  //+------------------------------------------------------------------+
                                                  //|                                         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 ");
                                                     
                                                    }
                                                  //+------------------------------------------------------------------+
                                                  

                                                  Após isso, nós podemos encontrar o programa Uptrend CCI Strategy no Navegador:

                                                  Uptrend strategy CCI no Navegador

                                                  Abrimos novamente o programa CCI Uptrend Strategy clicando duas vezes ou arrastando-o e soltando-o no gráfico. A seguinte janela será aberta:

                                                  Janela do Uptrend CCI strategy

                                                  Após habilitar "Permitir a Negociação Automatizada" e pressionar ok, o programa (EA) - Uptrend CCI Strategy - será anexado ao gráfico:

                                                  Uptrend CCI strategy anexada

                                                  Os sinais da Estratégia do CCI para a tendência de alta serão exibidos de acordo com esta estratégia:

                                                  Uptrend CCI Strategy - Sinal de Compra

                                                  • Durante a tendência de baixa:

                                                  CCI < -100 = venda

                                                  Nós codificaremos os seguintes passos:

                                                  1. Criar uma matriz para os preços.
                                                  2. Classificar a matriz de preços a partir dos dados atuais.
                                                  3. Definir as propriedades do CCI.
                                                  4. Classificar os resultados.
                                                  5. Obter o valor dos dados atuais.
                                                  6. Configuração da condição dos sinais do CCI durante a tendência de baixa.

                                                  Abaixo está o código do programa que pode ser iniciado na plataforma de negociação e executar o que nós precisamos de maneira automática:

                                                  //+------------------------------------------------------------------+
                                                  //|                                       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 ");
                                                    }
                                                  //+------------------------------------------------------------------+
                                                  

                                                  Encontramos o programa Downtrend CCI Strategy no Navegador:

                                                  Downtrend strategy CCI no navegador

                                                  Abrimos o programa Downtrend CCI Strategy clicando duas vezes ou arrastando-o e soltando-o no gráfico. A seguinte janela será aberta:

                                                  Janela Downtrend CCI strategy

                                                  Habilitamos "Permitir Negociação Automatizada" e pressionamos ok, o programa (EA) - Downtrend CCI Strategy - será anexado ao gráfico:

                                                  Downtrend CCI strategy anexado

                                                  Os sinais do programa Downtrend CCI Strategy aparecem de acordo com esta estratégia da mesma forma como a imagem a seguir:

                                                  Downtrend CCI Strategy - Sinal de Venda

                                                  • Durante as lateralizações:
                                                    • Para sinais de compra:

                                                  CCI < -100 = compra

                                                  CCI > 100 = take profit

                                                  Passos:

                                                  1. Criar uma matriz para os preços.
                                                  2. Classificar a matriz de preços a partir dos dados atuais.
                                                  3. Definir as propriedades do CCI.
                                                  4. Classificar os resultados.
                                                  5. Obter o valor dos dados atuais.
                                                  6. Configuração da condição do sinal de compra do CCI durante as lateralizações.

                                                  Codificamos estas etapas para criar um programa que possa fazer o que nós precisamos:

                                                  //+------------------------------------------------------------------+
                                                  //|                                  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");
                                                    }
                                                  //+------------------------------------------------------------------+

                                                  Encontramos o programa Sideways CCI Strategy - Buy no Navegador:

                                                   Sideways buy strategy CCI no navegador

                                                  Abra-o clicando duas vezes ou arrastando-o e soltando-o. A seguinte janela será aberta:


                                                  Janela do Sideways CCI buy strategy

                                                  Habilitamos "Permitir Negociação Automatizada" e pressionamos ok, o programa (EA) -Sideways CCI Strategy - Buy -será anexado ao gráfico:

                                                  Sideways CCI buy strategy anexado

                                                  Então, nós podemos encontrar os sinais que aparecem de acordo com a estratégia Sideways CCI Strategy - Buy:

                                                  Sideways CCI - Compra

                                                  O sinal de take profit está em CCI > 100 = take profit. Exemplo:

                                                  Sideways CCI - Buy - TP

                                                    • Para sinais de venda:

                                                  CCI > 100 = venda

                                                  CCI < -100 = take profit

                                                  Nós vamos codificar isso através das seguintes etapas:

                                                  1. Criar uma matriz para os preços.
                                                  2. Classificar a matriz de preços a partir dos dados atuais.
                                                  3. Definir as propriedades do CCI.
                                                  4. Classificar os resultados.
                                                  5. Obter o valor dos dados atuais.
                                                  6. Configuração da condição do sinal de venda do CCI durante as lateralizações.

                                                  Segue como é codificar essas etapas para criar o programa Sideways CCI Strategy - 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()
                                                    {
                                                  
                                                     dou   //Creating an array of pricesble 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");
                                                    }
                                                  //+------------------------------------------------------------------+

                                                  Após isso, o programa Sideways CCI Strategy - Short pode ser encontrado no Navegador:

                                                  Sideways short strategy CCI no navegador

                                                  Abrimos o Sideways CCI Strategy - Short clicando duas vezes ou arrastando-o e soltando-o no gráfico. A seguinte janela será aberta:

                                                  Janela do Sideways CCI short strategy

                                                  Após habilitar "Permitir a Negociação Automatizada" e pressionar ok, o programa (EA) -Sideways CCI Strategy - Short - será anexado ao gráfico e será o mesmo que o seguinte:

                                                  Sideways CCI short strategy anexado

                                                  Os sinais aparecerão de acordo com esta estratégia Sideways CCI Strategy - Short:

                                                  Sideways CCI - Venda

                                                  Nós podemos receber o sinal de take profit quando CCI < -100 = take profit:

                                                  Sideways CCI - Short - TP

                                                  • Segunda estratégia: Sinais de cruzamento no nível zero:
                                                    • Para o sinal de compra:

                                                  CCI > 0 = Compra
                                                  CCI > 100 = take profit 

                                                  Nós vamos codificar isso através das seguintes etapas:

                                                  1. Criar uma matriz para os preços.
                                                  2. Classificar a matriz de preços a partir dos dados atuais.
                                                  3. Definir as propriedades do CCI.
                                                  4. Classificar os resultados.
                                                  5. Obter o valor dos dados atuais.
                                                  6. Configuração da condição do valor do CCI e do nível zero para o cruzamento.

                                                  Passos para criar o programa Zero crossover CCI Strategy - Buy:

                                                  //+------------------------------------------------------------------+
                                                  //|                            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");
                                                    }
                                                  //+------------------------------------------------------------------+
                                                  

                                                  Encontramos o programaZero crossover CCI Strategy - Buy no Navegador:

                                                  Zero crossover buy strategy CCI no navegador

                                                  Abrimos este programa clicando duas vezes ou arrastando-o e soltando-o ele no gráfico. A seguinte janela será aberta:

                                                  Janela do Zero crossover CCI strategy - Buy


                                                  Após habilitar "Permitir a Negociação Automatizada" e pressionar ok, o programa (EA) - Zero crossover CCI Strategy - Buy - será anexado ao gráfico:

                                                  Zero crossover CCI strategy - Buy anexado

                                                  Os sinais aparecerão de acordo com a estratégia Zero crossover CCI Strategy - Buy:

                                                  Zero crossover CCI strategy - Buy

                                                  Nós podemos receber o sinal de take profit quando o CCI > 100 = take profit, a imagem a seguir é um exemplo disso:

                                                  Zero crossover CCI strategy - Buy - TP

                                                    • Para o sinal de venda:

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

                                                  Nós vamos codificar isso através das seguintes etapas:

                                                  1. Criar uma matriz para os preços.
                                                  2. Classificar a matriz de preços a partir dos dados atuais.
                                                  3. Definir as propriedades do CCI.
                                                  4. Classificar os resultados.
                                                  5. Obter o valor dos dados atuais.
                                                  6. Configuração da condição do valor do CCI e do nível zero para o cruzamento.

                                                  Passos para criar o programa Zero crossover CCI Strategy - 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");
                                                    }
                                                  //+------------------------------------------------------------------+
                                                  

                                                  Após isso, encontramos o programaZero crossover CCI Strategy - Short no Navegador:

                                                  Zero crossover short strategy CCI no navegador

                                                  Abrimos o programa Zero crossover CCI Strategy - Short clicando duas vezes nele ou arrastando-o e soltando-o no gráfico. A seguinte janela será aberta:

                                                  Janela do Zero crossover CCI strategy - Short

                                                  Após habilitar "Permitir a Negociação Automatizada" e pressionar ok, o programa (EA) - Zero crossover CCI Strategy - Short - será anexado ao gráfico:

                                                  Zero crossover CCI strategy - Short anexado

                                                  Os sinais aparecerão de acordo com esta estratégia -Zero crossover CCI Strategy - Short:

                                                  Zero crossover CCI strategy - Short

                                                  Nós podemos receber o sinal de take profit quando CCI < -100 = take profit, a imagem a seguir é um exemplo para isso:

                                                  Zero crossover CCI strategy - Short - TP

                                                  Conclusão

                                                  O indicador Commodities Channel Index - CCI - é outra ferramenta que pode ser usada a nosso favor para ser benéfica para a nossa negociação e obter melhores resultados após testar todas as estratégias do CCI e otimizá-la no caso de ser lucrativa após o teste. Você pode considerar que este artigo é uma introdução a uma nova ferramenta que pode ser usada em sua negociação, caso ela seja adequada ao seu plano e estilo de negociação. 

                                                  Neste artigo, nós vimos o que é o indicador CCI, o que ele significa, o que mede e como nós podemos calculá-lo. Vimos um exemplo para aprofundar nosso conhecimento e conscientização sobre essa ferramenta, que pode ser um motivo para abrir os nossos olhos para mais insights e novas ideias.

                                                  Então, nós conhecemos estratégias simples que podem ser usadas pelo CCI em diferentes condições de mercado (tendência de alta, tendência de baixa e lateralização) e a estratégia de cruzamento no nível zero. Como eu mencionei, existem muitas estratégias que podem ser usadas pelo CCI e que você pode aprender mais para saber quais delas podem ser úteis para sua negociação, mas eu acredito que quando você conhece o básico de algo, seu uso será mais eficaz.

                                                  Então, nós sabíamos como projetar um plano para essa estratégia que pode ser útil para escrever nosso programa para projetar um sistema de negociação por CCI. Então, nós sabíamos como codificar essa estratégia em MQL5 e como anexar e executar esse sistema de negociação em nossa plataforma de negociação MetaTrader 5 para gerar sinais automáticos e, então, saber como os sinais podem ser gerados em nossos gráficos.

                                                  O que eu preciso confirmar agora é que você deve testar qualquer nova estratégia antes de usá-la ao vivo em sua conta real. Eu espero que você ache este artigo útil para você e sua negociação por meio de informações incluídas ou abrindo seus olhos para novas ideias ou insights que podem ser usados em sua negociação.


                                                  Traduzido do Inglês pela MetaQuotes Ltd.
                                                  Artigo original: https://www.mql5.com/en/articles/10592

                                                  Desenvolvendo um EA de negociação do zero (Parte 23): Um novo sistema de ordens (VI) Desenvolvendo um EA de negociação do zero (Parte 23): Um novo sistema de ordens (VI)
                                                  Deixando o sistema de ordens mais fluido. Aqui irei mostrar como e onde mudar no código para se ter algo mais fluído, onde você pode modificar os limites da posição muito mais rapidamente.
                                                  Desenvolvendo um EA de negociação do zero (Parte 22): Um novo sistema de ordens (V) Desenvolvendo um EA de negociação do zero (Parte 22): Um novo sistema de ordens (V)
                                                  Vamos continuar o desenvolvimento do novo sistema de ordens. Não é nada fácil implementar um sistema novo, muitas vezes nos deparamos com questões que dificultam muito os próximos passos, nestes casos temos que parar, e reanalisar a direção que esta sendo tomada.
                                                  Ciência de Dados e Aprendizado de Máquina (Parte 02): Regressão Logística Ciência de Dados e Aprendizado de Máquina (Parte 02): Regressão Logística
                                                  A classificação de dados é uma coisa crucial para um algotrader e um programador. Neste artigo, nós vamos nos concentrar em um dos algoritmos de classificação logística que provavelmente podem nos ajudar a identificar os Sims ou Nãos, as Altas e Baixas, Compras e Vendas.
                                                  Ciência de Dados e Aprendizado de Máquina (Parte 01): Regressão Linear Ciência de Dados e Aprendizado de Máquina (Parte 01): Regressão Linear
                                                  É hora de nós, como traders, treinarmos nossos sistemas e a nós mesmos para tomar decisões com base no que o número diz. Não aos nossos olhos, e o que nossas entranhas nos fazem acreditar, é para onde o mundo está indo, então vamos nos mover perpendicularmente à direção da onda.