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

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

MetaTrader 5Negociação | 24 junho 2022, 08:54
875 0
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Introdução

No meu artigo anterior, eu escrevi sobre um dos indicadores mais populares — Bandas de Bollinger — que nos permite negociar pelas bandas. Este artigo está disponível no seguinte link: Como desenvolver um sistema de negociação baseado nas Bandas de Bollinger

Como eu mencionei neste artigo sobre as Bandas de Bollinger, o conceito de negociação da banda tem uma variedade de métodos existentes que nós podemos usar. Cada método tem uma abordagem diferente de acordo com o seu cálculo e sua estratégia, mas o conceito em comum é de que nós negociamos as bandas.

Agora, eu compartilharei outro método dentro do conceito de negociação de banda — o indicador Envelopes. O indicador é representado por duas bandas que cercam o preço e sua média móvel. Neste artigo, nós consideraremos mais alguns detalhes, incluindo os seguintes tópicos:

Através destes tópicos, eu tentarei explicar o indicador de forma a permitir uma compreensão profunda do indicador. As informações devem auxiliar no desenvolvimento de um melhor plano ou estratégia de negociação que possa gerar melhores resultados. Então, através do tópico Definição de Envelopes, eu vou compartilhar com vocês mais detalhes sobre o conceito do indicador Envelopes. Nós consideraremos o seu cálculo para uma melhor compreensão do conceito. Então, nós tentaremos desenvolver estratégias que melhorarão nossos resultados de negociação.

Na parte da Estratégia de Envelopes, eu vou compartilhar com vocês algumas estratégias básicas simples que podem ser usadas a nosso favor como exemplos de como nós podemos usá-la e isso pode abrir nossos olhos para mais estratégias para obtermos resultados muito melhores. Então, na parte 'Plano do sistema de estratégia de negociação de envelopes', que considero um tópico muito interessante, eu compartilharei com você um plano de como criar um sistema de negociação usando as estratégias do indicador Envelopes. Mais tarde, na parte 'Sistema de negociação de envelopes', eu compartilharei com você as maneiras de projetar um sistema de negociação baseado nas estratégias do indicador de envelopes na linguagem MQL5, que pode ser usada ainda na MetaTrader 5.

Espero que este artigo seja útil para você e que você encontre alguns insights que o ajudarão a desenvolver seu próprio sistema de negociação ou a melhorar seus resultados de negociação.

Importante! Todos os códigos neste artigo são escritos em MQL5. Esses códigos podem ser executados na MetaTrader 5. Portanto, você precisará ter a MetaTrader 5 para executar as aplicações. Se você ainda não possui a plataforma MetaTrader 5, poderá baixá-la no seguinte link: https://www.metatrader5.com/pt/download

Depois de baixá-la, a imagem a seguir mostrará a janela da MetaTrader 5:

Plataforma MT5

Para abrir o Editor de Linguagens MetaQuotes (MetaEditor) para escrever códigos, a imagem a seguir mostra como fazer isso:

Abrindo o MetaEditor 1

Outro método para abri-lo:

Abrindo o MetaEditor 2

Ou você pode pressionar F4 enquanto a janela da MetaTrader 5 estiver aberta.

Em seguida, a seguinte janela será aberta:

Janela do MetaEditor

Veja como abrir um novo arquivo:

Janela do MetaEditor


MetaEditor - Novo Arquivo


  1. Abra um novo arquivo para escrever um Expert Advisor
  2. Abra um novo arquivo para escrever um indicador personalizado
  3. Abra um novo arquivo para escrever um script

Para mais informações, você pode ler meu artigo anterior: Como e por que desenvolver seu próprio sistema de negociação algorítmica

Ressalva: 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, vamos começar nossa jornada para estudar o indicador Envelopes para ver como ele pode ser benéfico para as nossas negociações.


Definição de Envelopes

O indicador Envelopes é um dos métodos de negociação de bandas e, como mencionei anteriormente, existem muitos métodos de negociação de bandas como as Bandas de Bollinger, Canais, Envelopes e outros.

Simplificando, nós podemos dizer que o indicador Envelopes são duas bandas que cercam a média móvel por uma certa porcentagem fixa e normalmente cercam os preços. Esses envelopes podem ser usados para filtrar movimentos de tendência e negociar durante as laterais.

Às vezes, durante as tendências, nós enfrentamos alguns movimentos na direção oposta, como falsos rompimentos ou violinadas. Tais movimentos podem gerar um sinal falso positivo, após o qual a situação retorna ao cenário oposto. Por exemplo, se os preços cruzarem a média móvel para cima, isso serve como um sinal de um movimento ascendente. Em seguida, eles voltam e cruzam a média móvel para baixo, ou seja, o oposto do cruzamento ascendente anterior. A propósito, você pode ler mais sobre as Médias Móveis, sobre como usá-las e criar um sistema de negociação baseado nelas, você pode ler o meu artigo anterior: Como desenvolver sistemas baseados em Médias Móveis

MA cruza um falso rompimento

Na figura acima, depois que o preço cruza a Média Móvel de cima, ele volta e sobe novamente.

Às vezes também, nós temos o mercado lateralizado onde há um equilíbrio entre compradores e vendedores ou não há uma tendência óbvia e precisamos nos beneficiar desse movimento.

Nesses casos, o indicador Envelopes pode ser útil para nós, pois pode ser um filtro para movimentos durante as tendências. Se o preço cruzar a Média Móvel para cima, nós esperamos que o preço ultrapasse a banda superior do indicador Envelopes.

MA cruza sem envelopes


Como você pode ver na figura acima para o mesmo movimento que mencionamos anteriormente, o preço cruzou a Média Móvel para cima, mas não cruzou a banda superior do indicador Envelopes. Portanto, nós não podemos agir de acordo com esse cruzamento, só então nós descobrimos que os preços caíram novamente.

E aqui eu preciso mencionar algo interessante sobre a Análise Técnica, pois ela possui muitos métodos e estratégias que podem ser combinados de forma a gerar melhores resultados.

Como o que eu mencionei anteriormente, o indicador Envelopes são duas bandas que cercam os preços, portanto, as bandas mais largas fornecem uma probabilidade menor de serem tocadas e as bandas estreitas fornecem uma probabilidade maior de serem tocadas.

Agora, como o indicador Envelopes pode ser calculado? O indicador envelopes são definidos numa certa porcentagem da média móvel. Essa porcentagem depende da ação do preço, do tempo gráfico e da estratégia do usuário.

Para calcular o indicador Envelopes:

  1. Calcular a Média Móvel
  2. O % do Envelopes = Média Móvel * %
  3. Banda superior do Envelopes = Média Móvel + um determinado % da Média Móvel
  4. Banda inferior do Envelopes = Média Móvel - um determinado % da Média Móvel

Vejamos um exemplo de como fazer isso.

Se nós tivermos os seguintes dados para os preços de 14 dias:

Exemplo de cálculo

Cálculo do Env

  • Calculamos o % de envelopes de acordo com suas preferências

Cálculo do Env 2

  • Calculamos a banda superior do Envelopes

Cálculo do Env 3

  • Calculamos a faixa inferior do envelopes

Cálculo do Env 4

Este cálculo será realizado a cada tick, então os valores da banda superior serão plotados acima dos preços e os valores da banda inferior serão plotados abaixo dos preços.

Mas hoje nós não faremos isso manualmente, pois nós o temos calculado e embutido na plataforma e tudo o que precisamos fazer para escolhê-lo e será plotado em nosso gráfico e as fotos a seguir são sobre como fazer isso:

Inserção do indicador


Inserção do indicador 1


Parâmetros do indicador


A figura acima mostra os parâmetros do Envelopes:

  1. Para determinar o período da Média Móvel.
  2. % do Envelopes.
  3. Tipo de preço (fechamento, preço médio, preço típico, etc.)
  4. Valor a ser deslocado para o indicador Envelopes no gráfico.
  5. Tipo de Média Móvel.
  6. Cor da faixa superior do Envelopes.
  7. Estilo de linha da banda superior do Envelopes.
  8. Cor da faixa inferior do Envelopes.
  9. Estilo de linha da banda inferior do Envelopes.

E após determinar todos os parâmetros, o indicador aparecerá no gráfico, assim como mostrado na figura a seguir:

Indicador no gráfico



Estratégia de Envelopes

Nesta parte, eu vou compartilhar com vocês algumas estratégias do indicador Envelopes. Essas estratégias são usadas de acordo com a condição do mercado ou direção do mercado.

Como todos nós sabemos, no mercado há uma tendência de alta, uma tendência de baixa e direções laterais. De acordo com a direção específica do mercado, nós usaremos uma estratégia específica que nos permitirá nos beneficiar desse movimento de mercado.

É possível combinar o indicador Envelopes com outras ferramentas e criar uma estratégia baseada nessa combinação. Os resultados de tal uso combinado podem ser melhores do que usar apenas uma ferramenta. Assim, você pode combinar o indicador Envelopes com outra ferramenta como padrão de ação de preço, por exemplo: pegue um sinal do indicador Envelopes e pegue outro sinal ou sinal de confirmação de um padrão de preço. Opcionalmente, é possível utilizar outro indicador de análise técnica. Eu acho que esta é uma abordagem incrível na negociação de análise técnica para combinar mais de um conceito de forma a obter melhores resultados e melhorar suas decisões.

De acordo com isso, nós dividiremos nossas estratégias em estratégias que podem ser usadas durante o movimento de tendência e outras que podem ser usadas durante os movimentos laterais. 

    Durante os mercados de tendências
      • Estratégia 1: Tendência de alta

        Durante os mercados de tendência de alta, os preços se movem na tendência de alta, fazendo novas máximas e mínimas ascendentes. Agora, nós precisamos saber como os preços e o indicador Envelopes vão agir durante a tendência de alta.

        Como este indicador é uma porcentagem da média móvel que é uma média para um período de preços, durante a tendência de alta os preços se moverão acima da banda superior do indicador Envelopes. Então, nossa estratégia aqui durante a tendência de alta será a seguinte:

        Nós receberemos um sinal de compra quando os preços cruzarem a banda superior do indicador envelopes para cima e, em seguida, nós obteremos lucro quando os preços cruzarem a banda inferior do indicador envelopes para baixo.

        • Preços > Banda superior = Compra
        • Preços < Banda inferior = Take profit

        Estratégia 1 - Tendência de alta

        • Estratégia 2: Tendência de baixa

        Durante os mercados de tendência de baixa, os preços se movem na tendência de baixa, fazendo novas máximas e mínimas descendentes. Agora, nós precisamos saber como os preços e o indicador Envelopes vão agir durante a tendência de baixa.

        Durante a tendência de baixa, os preços se moverão abaixo da banda inferior do indicador Envelopes. Então, nossa estratégia aqui durante a tendência de baixa será a seguinte:

        Nós receberemos um sinal de venda quando os preços cruzarem a banda inferior do indicador Envelopes para baixo e, em seguida, obteremos lucro quando os preços cruzarem a banda superior do indicador Envelopes para cima.

        • Preços < Banda inferior = Venda
        • Preços > Banda superior = Take profit

        Estratégia 2 - Tendência de baixa


        • Estratégia 3: Lateralização:

        Durante os mercados laterais, os preços se movem em algumas das formações laterais, fazendo as mesmas máximas e mínimas. Ou há um equilíbrio entre compradores e vendedores sem que uma parte controle a outra e, esta, de forma simples varia entre dois níveis. Isto mostra o equilíbrio. Isso não significa que não existam outras formas para a lateralização, mas é bom saber que o movimento lateral é qualquer movimento ou forma, exceto tendência de alta e tendência de baixa. Agora, nós precisamos saber como os preços e o indicador Envelopes vão agir durante os momentos laterais.

        Durante a lateralização, os preços se moverão entre a banda inferior e a banda superior do indicador Envelopes. Então, nossa estratégia aqui durante as lateralizações será a seguinte:

        Nós receberemos um sinal de compra quando os preços tocarem a banda inferior do indicador Envelopes e, em seguida, obteremos lucro quando os preços tocarem a banda superior do indicador Envelopes. Nós receberemos um sinal de venda quando os preços tocarem a banda superior do indicador Envelopes e, em seguida, obteremos lucro quando os preços tocarem a banda inferior do indicador Envelopes.

        • Preços = Banda inferior = Compra
        • Preços = Banda superior = Take profit
        • Preços = Banda superior = Venda
        • Preços = Banda inferior = Take profit

        Estratégia 3 - Lateralização

        Observe que essas estratégias são fornecidas aqui apenas para ajudá-lo a entender como o indicador pode ser usado. Isso requer melhoria e desenvolvimento adicional para uso adequado. Certifique-se de sempre testar minuciosamente todas as estratégias que você lê ou aprende. Nunca os use sem testar e verificar os seus resultados, especialmente se foi feito para fins educacionais.


        Plano do sistema de estratégia de negociação de Envelopes

        Nesta parte interessante, nós projetaremos nossas estratégias mencionadas como um plano para determinar o que queremos fazer exatamente e o que queremos que o programa faça. Então, vamos fazer isso.

          Durante os mercados de tendências
            • Estratégia 1: Tendência de alta
                • Preços > Banda superior = Compra
                • Preços < Banda inferior = Take profit

              Assim, o plano para esta estratégia será a seguinte:

              Plano de estratégia de tendência de alta


                • Estratégia 2: Tendência de baixa:
                    • Preços < Banda inferior = Venda
                    • Preços > Banda superior = Take profit

                  Assim, o plano para esta estratégia será a seguinte:

                  Plano de estratégia de tendência de baixa

                    Durante as Lateralizações,
                      • Estratégia 3: Lateralização:
                          • Preços = Banda inferior = Compra
                          • Preços = Banda superior = Take profit
                          • Preços = Banda superior = Venda
                          • Preços = Banda inferior = Take profit
                        Assim, o plano para esta estratégia será a seguinte:

                        Plano de estratégia lateralizada



                        Sistema de negociação de Envelopes

                        Nesta parte, eu compartilharei com você como você pode codificar essas estratégias usando a MQL5, na forma de programas EA (Expert Advisors). Isso pode ajudar alguém a melhorar a sua negociação e identificar sinais de forma automática e fácil. Agora, eu vou compartilhar com você como codificar um EA de Envelopes básico e dar instruções ao nosso programa para comentar os valores superiores e inferiores do indicador de envelopes no gráfico.

                        Vamos projetar um programa que nos permita ver os valores das bandas superior e inferior do indicador Envelopes como comentários no gráfico:

                        //+------------------------------------------------------------------+
                        //|                                          Simple Envelopes EA.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"
                        
                        //+------------------------------------------------------------------+
                        //| Expert tick function                                             |
                        //+------------------------------------------------------------------+
                        void OnTick()
                          {
                           //Creating an array for price info
                           MqlRates PriceInfo[];
                           
                           //Sorting it from current data to old data
                           ArraySetAsSeries(PriceInfo, true);
                           
                           //Copy prices data to array
                           int Data = CopyRates(Symbol(), Period (), 0, Bars(Symbol(), Period()), PriceInfo);
                           
                           //Creating two arrays for prices of upper and lower band
                           double UpperBandArray[];
                           double LowerBandArray[];
                           
                           //Identify Envelopes indicator
                           int EnvelopesIdentify = iEnvelopes(_Symbol,_Period,14,0,MODE_SMA,PRICE_CLOSE,0.100);
                           
                           //Copying prices data to arrays
                           CopyBuffer(EnvelopesIdentify,0,0,1,UpperBandArray);
                           CopyBuffer(EnvelopesIdentify,1,0,1,LowerBandArray);
                           
                           //Calculation for the current data
                           double UpperBandValue=NormalizeDouble(UpperBandArray[0],6);
                           double LowerBandValue=NormalizeDouble(LowerBandArray[0],6);
                           
                           //Comments on the chart with values of Band of Envelopes
                           Comment("Envelopes Upper Band =",UpperBandValue,"\n" "Envelopes Lower Band =",LowerBandValue,"\n");
                           
                          }
                        //+------------------------------------------------------------------+
                        

                        O código na MetaTrader 5 pode ser executado conforme mostrado nas imagens a seguir:

                        Inserção do EA simples de Envelopes

                        Arraste e solte o arquivo no gráfico ou clique duas vezes no arquivo, então o código será executado e a janela a seguir será aberta.

                        1

                        Depois disso, o programa aparecerá no gráfico:

                        11

                        Após a execução do código na plataforma de negociação MetaTrader 5, veremos o seguinte gráfico e sinais nele:

                        EA simples do Envelopes


                        Nós temos duas bandas do indicador Envelopes — Banda Inferior e Banda Superior — e nós podemos ver seus valores no gráfico.

                        Agora, nós vamos codificar nossas três estratégias mencionadas, a estratégia um é sobre comprar e obter lucro durante a tendência de alta, a estratégia dois é sobre vender e obter lucro durante a tendência de baixa, então a estratégia três é sobre a lateralização, que consiste em comprar na banda inferior e obter lucro na banda superior e então vender na banda superior e lucrar na banda inferior. 

                          Durante os mercados de tendências
                            • Estratégia 1: Tendência de alta:
                                • Preços > Banda superior = Compra
                                • Preços < Banda inferior = Take profit

                              O código a seguir é para desenvolver o programa para executar essa estratégia:

                              //+------------------------------------------------------------------+
                              //|                                   Envelopes uptrend 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"
                              
                              //+------------------------------------------------------------------+
                              //| Expert tick function                                             |
                              //+------------------------------------------------------------------+
                              void OnTick()
                                {
                                 //Creating an array for price info
                                 MqlRates PriceInfo[];
                                 
                                 //Sorting it from current data to old data
                                 ArraySetAsSeries(PriceInfo, true);
                                 
                                 //Copy prices data to array
                                 int Data = CopyRates(Symbol(), Period (), 0, Bars(Symbol(), Period()), PriceInfo);
                                 
                                 //Creating two arrays for prices of upper and lower band
                                 double UpperBandArray[];
                                 double LowerBandArray[];
                                 
                                 //Identify Envelopes indicator
                                 int EnvelopesIdentify = iEnvelopes(_Symbol,_Period,14,0,MODE_SMA,PRICE_CLOSE,0.100);
                                 
                                 //Copying prices data to arrays
                                 CopyBuffer(EnvelopesIdentify,0,0,1,UpperBandArray);
                                 CopyBuffer(EnvelopesIdentify,1,0,1,LowerBandArray);
                                 
                                 //Calculation for the current data
                                 double UpperBandValue=NormalizeDouble(UpperBandArray[0],6);
                                 double LowerBandValue=NormalizeDouble(LowerBandArray[0],6);
                                 
                                 //Comment Buy signal on the chart or no signal
                                 if (PriceInfo[0].close > UpperBandValue)
                                 Comment("Envelopes Buy Signal");
                                 
                                 if (PriceInfo[0].close < LowerBandValue)
                                 Comment("Envelopes Take Profit or Stop Loss");
                                 
                                }
                              //+------------------------------------------------------------------+
                              

                              O código da MetaTrader pode ser executado conforme mostrado nas imagens a seguir:

                              Inserção da Estratégia de Tendência de Alta do Envelopes


                              Arraste e solte o arquivo no gráfico ou clique duas vezes no arquivo, então o código será executado e a janela a seguir será aberta.

                              2

                              Depois disso, o programa é anexado ao gráfico:

                              22

                              Após a execução do código na plataforma de negociação MetaTrader 5, veremos o seguinte gráfico e sinais nele:

                              Estratégia de Tendência de Alta do Envelopes - Sinal de Compra

                              Como podemos ver no gráfico anterior, o programa nos dá um sinal de compra quando os preços cruzam acima da banda superior durante a tendência de alta.

                              Estratégia de Tendência de Alta do Envelopes - Take Profit

                              Como nós podemos ver no gráfico anterior, o programa nos dá um sinal de lucro quando os preços cruzam abaixo da banda inferior.

                                • Estratégia 2: Tendência de baixa
                                    • Preços < Banda inferior = Venda
                                    • Preços > Banda superior = Take profit

                                  O código a seguir é para desenvolver o programa para executar essa estratégia:

                                  //+------------------------------------------------------------------+
                                  //|                                 Envelopes Downtrend 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"
                                  
                                  //+------------------------------------------------------------------+
                                  //| Expert tick function                                             |
                                  //+------------------------------------------------------------------+
                                  void OnTick()
                                    {
                                     //Creating an array for price info
                                     MqlRates PriceInfo[];
                                     
                                     //Sorting it from current data to old data
                                     ArraySetAsSeries(PriceInfo, true);
                                     
                                     //Copy prices data to array
                                     int Data = CopyRates(Symbol(), Period (), 0, Bars(Symbol(), Period()), PriceInfo);
                                     
                                     //Creating two arrays for prices of upper and lower band
                                     double UpperBandArray[];
                                     double LowerBandArray[];
                                     
                                     //Identify Envelopes indicator
                                     int EnvelopesIdentify = iEnvelopes(_Symbol,_Period,14,0,MODE_SMA,PRICE_CLOSE,0.100);
                                     
                                     //Copying prices data to arrays
                                     CopyBuffer(EnvelopesIdentify,0,0,1,UpperBandArray);
                                     CopyBuffer(EnvelopesIdentify,1,0,1,LowerBandArray);
                                     
                                     //Calculation for the current data
                                     double UpperBandValue=NormalizeDouble(UpperBandArray[0],6);
                                     double LowerBandValue=NormalizeDouble(LowerBandArray[0],6);
                                     
                                     //Comment Buy signal on the chart or no signal
                                     if (PriceInfo[0].close < LowerBandValue)
                                     Comment("Envelopes Short Signal");
                                     
                                     if (PriceInfo[0].close > UpperBandValue)
                                     Comment("Envelopes Take Profit or Stop Loss");
                                     
                                    }
                                  //+------------------------------------------------------------------+

                                  Nós podemos executar o código da MetaTrader 5 como nós podemos ver nas imagens a seguir:

                                  Inserção da Estratégia de Tendência de Baixa do Envelopes


                                  Nós podemos arrastar e soltar o arquivo no gráfico ou clicar duas vezes no arquivo, então o código será executado e a janela a seguir será aberta.

                                  3

                                  Depois disso, nós vemos o programa anexado ao gráfico:

                                  33

                                  Estratégia de Tendência de Baixa do Envelopes - Sinal de Venda

                                  Como nós podemos ver no gráfico anterior, o programa nos dá um sinal de venda quando os preços cruzam abaixo da banda inferior durante a tendência de baixa.

                                  Estratégia de Tendência de Baixa do Envelopes - Take Profit

                                  Como nós podemos ver no gráfico anterior, o programa nos dá um sinal de lucro quando os preços cruzam acima da banda superior durante a tendência de baixa.

                                    • Estratégia 3: Lateralização
                                  • Preços = Banda inferior = Compra
                                  • Preços = Banda superior = Take profit
                                  O código a seguir é para desenvolver o programa para executar essa estratégia:
                                  //+------------------------------------------------------------------+
                                  //|                              Envelopes Sideways Buy 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"
                                  
                                  //+------------------------------------------------------------------+
                                  //| Expert tick function                                             |
                                  //+------------------------------------------------------------------+
                                  void OnTick()
                                    {
                                     //Creating an array for price info
                                     MqlRates PriceInfo[];
                                     
                                     //Sorting it from current data to old data
                                     ArraySetAsSeries(PriceInfo, true);
                                     
                                     //Copy prices data to array
                                     int Data = CopyRates(Symbol(), Period (), 0, Bars(Symbol(), Period()), PriceInfo);
                                     
                                     //Creating two arrays for prices of upper and lower band
                                     double UpperBandArray[];
                                     double LowerBandArray[];
                                     
                                     //Identify Envelopes indicator
                                     int EnvelopesIdentify = iEnvelopes(_Symbol,_Period,14,0,MODE_SMA,PRICE_CLOSE,0.150);
                                     
                                     //Copying prices data to arrays
                                     CopyBuffer(EnvelopesIdentify,0,0,1,UpperBandArray);
                                     CopyBuffer(EnvelopesIdentify,1,0,1,LowerBandArray);
                                     
                                     //Calculation for the current data
                                     double UpperBandValue=NormalizeDouble(UpperBandArray[0],6);
                                     double LowerBandValue=NormalizeDouble(LowerBandArray[0],6);
                                     
                                     //Comment Buy signal on the chart or no signal
                                     if (PriceInfo[0].close <= LowerBandValue)
                                     Comment("Envelopes Buy Signal");
                                     
                                     if (PriceInfo[0].close >= UpperBandValue)
                                     Comment("Envelopes Take Profit");
                                     
                                     if (PriceInfo[0].close > LowerBandValue
                                     &&  PriceInfo[0].close < UpperBandValue)
                                     Comment("No Signal"); 
                                    }
                                  //+------------------------------------------------------------------+
                                  
                                  O código na MetaTrader 5 pode ser executado conforme mostrado nas imagens a seguir:

                                  Inserção da Estratégia de Compra em Movimento Lateral do Envelopes


                                  Arraste e solte o arquivo no gráfico ou clique duas vezes no arquivo, então o código será executado e a janela a seguir será aberta.

                                  4

                                  Depois disso, o programa aparecerá no gráfico:

                                  44

                                  Estratégia de Compra do Movimento Lateral do Envelopes - Sem sinal

                                  Após a execução do código na plataforma de negociação MetaTrader 5, veremos o seguinte gráfico e sinais nele:

                                  Estratégia de Compra em Movimento Lateral do envelopes - Sinal de Compra

                                  Como nós podemos ver no gráfico anterior, o programa nos dá um sinal de compra à medida que os preços tocam a banda inferior durante as lateralizações.


                                  Estratégia de Compra do Movimento Lateral do Envelopes - Take Profit

                                  Como nós podemos ver no gráfico anterior, o programa nos dá um sinal de lucro à medida que os preços tocam a banda superior durante os movimentos laterais.

                                  • Preços = Banda superior = Venda
                                  • Preços = Banda inferior = Take profit

                                  O código a seguir é para desenvolver o programa para executar essa estratégia:

                                  //+------------------------------------------------------------------+
                                  //|                            Envelopes Sideways Short 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"
                                  
                                  //+------------------------------------------------------------------+
                                  //| Expert tick function                                             |
                                  //+------------------------------------------------------------------+
                                  void OnTick()
                                    {
                                     //Creating an array for price info
                                     MqlRates PriceInfo[];
                                     
                                     //Sorting it from current data to old data
                                     ArraySetAsSeries(PriceInfo, true);
                                     
                                     //Copy prices data to array
                                     int Data = CopyRates(Symbol(), Period (), 0, Bars(Symbol(), Period()), PriceInfo);
                                     
                                     //Creating two arrays for prices of upper and lower band
                                     double UpperBandArray[];
                                     double LowerBandArray[];
                                     
                                     //Identify Envelopes indicator
                                     int EnvelopesIdentify = iEnvelopes(_Symbol,_Period,14,0,MODE_SMA,PRICE_CLOSE,0.150);
                                     
                                     //Copying prices data to arrays
                                     CopyBuffer(EnvelopesIdentify,0,0,1,UpperBandArray);
                                     CopyBuffer(EnvelopesIdentify,1,0,1,LowerBandArray);
                                     
                                     //Calculation for the current data
                                     double UpperBandValue=NormalizeDouble(UpperBandArray[0],6);
                                     double LowerBandValue=NormalizeDouble(LowerBandArray[0],6);
                                     
                                     //Comment Buy signal on the chart or no signal
                                     if (PriceInfo[0].close >= UpperBandValue)
                                     Comment("Envelopes Short Signal");
                                     
                                     if (PriceInfo[0].close <= LowerBandValue)
                                     Comment("Envelopes Take Profit");
                                    
                                     if (PriceInfo[0].close > LowerBandValue
                                     &&  PriceInfo[0].close < UpperBandValue)
                                     Comment("No Signal"); 
                                     
                                    }
                                  //+------------------------------------------------------------------+
                                  
                                  O código na MetaTrader 5 pode ser executado conforme mostrado nas imagens a seguir:

                                  Inserção da Estratégia de Venda com Movimento Lateral do Envelopes


                                  Arraste e solte o arquivo no gráfico ou clique duas vezes no arquivo, então o código será executado e a janela a seguir será aberta.

                                  5

                                  Depois disso, o programa aparecerá no gráfico:

                                  55

                                  Estratégia de Venda com Movimento Lateral do Envelopes

                                  Como nós podemos ver no gráfico anterior, o programa nos dá "Sem Sinal" à medida que os preços se movem entre a banda superior e a banda inferior durante as lateralizações.


                                  Estratégia de Venda com Movimento Lateral do Envelopes - Sinal de Venda

                                  Como nós podemos ver no gráfico anterior, o programa nos dá um sinal de venda, pois os preços tocam a banda superior durante as laterais.

                                  Estratégia de Venda com Movimento Lateral do Envelopes - Take Profit

                                  Como nós podemos ver no gráfico anterior, o programa nos dá um sinal de lucro à medida que os preços tocam a banda inferior durante as lateralizações.


                                  Conclusão

                                  Neste artigo, nós consideramos o conceito de bandas de negociação através do indicador Envelopes. Nós também consideramos os benefícios das bandas de negociação e as maneiras pelas quais o indicador Envelopes pode ser usado durante as tendências e movimentos laterais.

                                  Nós também vimos como o indicador Envelopes é calculado, já que entender o interior do que estamos usando é sempre bom. Envelopes é um dos indicadores que podem nos dar novos "insights" e ideias sobre como podemos melhorar nossos resultados de negociação e nossas decisões.

                                  Além disso, nós consideramos uma estratégia simples, que permite usar o indicador em diferentes condições de mercado: tendência de alta, tendência de baixa ou lateral. Nós também vimos aqui como projetar um modelo de sistema de negociação para nos ajudar a entender e poder codificar essas estratégias facilmente.

                                  Além disso, o artigo apresenta o código na linguagem MQL5, relacionado à implementação das estratégias baseadas no Envelopes. E quero mencionar novamente que o objetivo principal deste artigo é aprender como a codificação pode ser útil e útil para nós na negociação e como ela pode nos ajudar a negociar com facilidade e eficácia.

                                  Eu recomendaria que você escrevesse seus próprios códigos e os executasse para melhorar a sua compreensão sobre o tópico. Espero que você tenha achado este artigo útil para você e a sua negociação.


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

                                  Gráficos na biblioteca DoEasy (Parte 97): Processando o movimento dos objetos-forma independentemente Gráficos na biblioteca DoEasy (Parte 97): Processando o movimento dos objetos-forma independentemente
                                  No artigo de hoje, veremos como gerar o movimento independente de qualquer objeto-forma por meio do mouse, além disso, complementaremos a biblioteca com mensagens de erro e com as novas propriedades de negócios que foram introduzidas anteriormente no terminal e em MQL5.
                                  Conselhos de um programador profissional (Parte III): Registro de Logs. Conectando-se ao sistema Seq de coleta e análise de logs Conselhos de um programador profissional (Parte III): Registro de Logs. Conectando-se ao sistema Seq de coleta e análise de logs
                                  Implementação da classe Logger para unificar e estruturar as mensagens que são impressas no log da guia Experts na caixa de ferramentas. Conexão com o sistema Seq de coleta e análise de logs. Monitoramento de mensagens de log online.
                                  O que você pode fazer com as Médias Móveis O que você pode fazer com as Médias Móveis
                                  O artigo considera vários métodos de aplicação do indicador Média Móvel. Cada método que envolve uma análise de curva é acompanhado por indicadores que visualizam a ideia. Na maioria dos casos, as ideias mostradas aqui pertencem a seus autores respeitados. Minha única tarefa era reuni-los para permitir que você veja as principais abordagens e, esperançosamente, tome decisões de negociação mais razoáveis. Nível de proficiência em MQL5 — básico.
                                  Analisando as razões pelas quais alguns EAs fracassam Analisando as razões pelas quais alguns EAs fracassam
                                  Neste artigo, analisaremos dados de moedas e tentaremos entender com isso por que os Expert Advisors podem mostrar bons resultados em alguns intervalos e, ao mesmo tempo, ter um desempenho ruim em outros.