Como desenvolver um sistema de negociação baseado no indicador RSI
Introdução
Eu acho que muitos dos que estão ligados ao mundo do trading já ouviram a frase “A tendência é a sua amiga”. Isso significa que você deve negociar com a tendência e não deve negociar contra a tendência. Sim, às vezes nós podemos negociar contra a tendência durante as correções e se você não sabe quais são as correções, não se preocupe — eu as explicarei junto com as tendências nas próximas linhas. O que eu quero que você saiba é que mesmo se nós negociarmos contra a tendência, nós temos que cuidar e gerenciar o risco estritamente, pois esses tipos de negócios serão mais arriscados.
Nós vamos falar aqui sobre as tendências que podem existir nos mercados. Eu já os mencionei em diferentes artigos, e aqui está o motivo pelo qual os repito em diferentes áreas com tanta frequência:
- É importante identificar o movimento do mercado, pois nós tomaremos nossas decisões de acordo com ele.
- Repetir pode aprofundar a compreensão e fornecer diferentes "insights", especialmente se algo for mencionado em contextos e maneiras diferentes.
- Pode ser a primeira vez que você está lendo o meu artigo, e por isso gostaria de dar uma visão completa sobre o assunto deste artigo específico.
É necessário identificar a direção ou tendências do mercado. Antes de aprender a fazer isso, nós devemos entender claramente o que cada um deles significa.
Se você olhar para o mercado, verá que pode haver três direções diferentes no mercado, de acordo com o price action ou movimentos de preço: tendência de alta, tendência de baixa e lateralização. Cada uma dessas tendências de mercado tem um estado de controle de acordo com os participantes do mercado.
- Tendência de alta:
Durante a tendência de alta, os compradores controlam o mercado na maior parte do tempo e isso faz os preços atingirem novas máximas. Assim, os preços sobem fazendo novas máximas e mínimas ascendentes.
- Tendência de baixa:
Durante a tendência de baixa, os vendedores controlam o mercado na maioria das vezes e isso faz os preços atingirem novas mínimas. Assim, os preços descem fazendo novas e mínimas e máximas descendentes.
- Lateralização:
Durante as lateralizações, há principalmente um equilíbrio entre compradores e vendedores sem um controle total de nenhuma das partes. É qualquer movimento, exceto uma tendência de alta ou tendência de baixa. Abaixo estão algumas formas desses movimentos laterais
Após identificar esses tipos de tendências, nós devemos saber mais sobre a tendência: se ela é forte ou fraca, o que pode ser descoberto através do conceito de momentum. Momentum é um conceito que pode medir a velocidade da direção ou a tendência do mercado. Este conceito de momentum é muito importante na negociação e nos movimentos do mercado. Existem muitas ferramentas que são baseadas neste conceito. Neste artigo, nós consideraremos uma delas, que é um dos indicadores mais usados — RSI (Relative Strength Index). Nós veremos como usar essa ferramenta útil de maneira fácil e eficaz, criando um sistema de negociação para algumas das estratégias de RSI. Neste artigo, nós consideraremos os seguintes tópicos:
Através desses tópicos, nós aprenderemos muito sobre essa ferramenta útil. Nós veremos o que é o RSI e como ele é calculado. Alguns "insights" e novas ideias em torno do conceito do indicador serão considerados na parte de definição do RSI. Em seguida, nós consideraremos algumas estratégias do RSI que podem ser úteis para a negociação. Na parte do Esquema RSI, nós aprenderemos os esquemas das estratégias RSI mencionadas para estar pronto para a programação e identificar o que o programa deve fazer. Finalmente, nós veremos como escrever um programa baseado em RSI que nos ajudará a negociar com facilidade e eficácia e nos ajudará a melhorar as decisões de negociação.
Ao longo deste e de todos os outros artigos, nós usamos a plataforma de negociação MetaTrader 5 e o Editor de Linguagem MetaQuotes, que está embutido na MetaTrader 5 — todos os códigos do programa serão escritos usando este editor.
Você pode baixar a MetaTrader 5 no seguinte link: https://www.metatrader5.com/pt/download
Para obter mais informações sobre como fazê-lo, consulte meu artigo anterior: Como e por que desenvolver seu próprio sistema de negociação algorítmica
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, vamos passar por este artigo interessante para entender e construir outro novo bloco em nossa jornada de sucesso nas negociações.
Definição do RSI
RSI — Índice de Força Relativa — é um indicador criado por Welles Wilder. O principal objetivo deste indicador é medir a força atual de um instrumento em relação ao seu histórico. Para fazer isso, o indicador compara as mudanças de preço dos dias de alta com os dias de baixa.
O RSI é um indicador de momentum, pois mostra a velocidade do movimento ascendente ou descendente do mercado, ele é um oscilador, pois é limitado, oscilando entre o nível 0 e 100. Ele é um indicador principal, pois pode liderar os preços e mostrar um movimento potencial antes acontece. O RSI é projetado para superar os dois problemas nos indicadores de momentum, que são a capacidade de absorver movimentos bruscos ou erráticos e a capacidade de ser limitado, pois varia de 0 a 100.
O RSI pode ser útil, pois mostra:
- Movimentos potenciais que não podem ser vistos apenas no gráfico.
- Níveis claros de suporte e resistência.
- Sinais de divergência que podem ser uma indicação para reversões, por divergência que pode ser mostrada entre o RSI e o preço.
- A falha oscila acima do nível 70 e abaixo do nível 30, o que avisa possíveis reversões.
O cálculo e construção do indicador RSI é implementado através das seguintes etapas:
- Obtemos os movimentos positivos ou ascendentes de 14 fechamentos
- Obtemos os movimentos negativos ou para baixo de 14 fechamentos
- Calculamos a média (AVG) de 14 de movimentos positivos = Soma dos movimentos positivos / 14
- AVG de 14 movimentos negativos = Soma dos movimentos negativos / 14
- RS = AVG de 14 movimentos positivos / AVG de 14 movimentos negativos
- RSI = 100 - [100 /(1+RS)]
Vamos dar um exemplo para entender como fazer isso.
- Suponha que nós temos 14 dias de fechamento da seguinte forma:
Dias | Preço |
---|---|
1 | 100 |
2 | 105 |
3 | 120 |
4 | 110 |
5 | 100 |
6 | 115 |
7 | 120 |
8 | 130 |
9 | 125 |
10 | 135 |
11 | 140 |
12 | 130 |
13 | 140 |
14 | 145 |
Então, se nós precisarmos calcular o RSI, será o seguinte:
Primeiro, nós vamos calcular o movimento positivo e o movimento negativo subtraindo cada dia do seu anterior:Dias | Preço | Movimentos positivos | Movimentos negativos |
---|---|---|---|
1 | 100 | 0 | 0 |
2 | 105 | 5 | 0 |
3 | 120 | 15 | 0 |
4 | 110 | 0 | 10 |
5 | 100 | 0 | 10 |
6 | 115 | 15 | 0 |
7 | 120 | 5 | 0 |
8 | 130 | 10 | 0 |
9 | 125 | 0 | 5 |
10 | 135 | 10 | 0 |
11 | 140 | 5 | 0 |
12 | 130 | 0 | 10 |
13 | 140 | 10 | 0 |
14 | 145 | 5 | 0 |
- Soma de Movimentos Positivos = 80
- Soma de Movimentos Negativos = 35
- AVG de 14 Movimentos Positivos = Soma dos Movimentos Positivos / 14
- AVG de 14 Movimentos Positivos = 80 / 14 = 5.7
- AVG de 14 Movimentos Negativos = Soma dos Movimentos Negativos / 14
- AVG de 14 Movimentos Negativos = 35 / 14 = 2.5
- Então, nós vamos calcular o RS:
- RS = AVG de 14 Movimentos Positivos / AVG de 14 Movimentos Negativos
- RS = 5.7 / 2.5 = 2.29
- Então, nós vamos calcular o RSI:
- RSI = 100 - [100 / (1 + RS)]
- RSI = 100 - [100 / (1 + 2.29)] = 69.57
- Cálculo do próximo movimento médio:
- AVG seguinte dos Movimentos Positivos = [{(AVG Anterior dos Movimentos Positivos * 13) + Movimentos Positivos de Hoje (se existir)}/14]
- AVG seguinte dos Movimentos Negativos = [{(AVG Anterior dos Movimentos Negativos * 13) + Movimentos Negativos de hoje (se existir)}/14]
- Cálculo do RS:
- RS = AVG seguinte dos Movimentos Positivos / AVG seguinte dos Movimentos Negativos
- Cálculo do RSI:
- RSI = 100 - [ 100 / (1+ RS)]
- O período do RSI
- O tipo de preço com base no qual o indicador será calculado
- A cor da linha do RSI
- O estilo da linha do RSI
- A espessura da linha do RSI
- Nível 0: o menor valor do intervalo do indicador, que limita os valores possíveis do indicador.
- Nível 100: o maior valor do intervalo do indicador, que limita os valores possíveis do indicador.
- Nível 30: área de sobrevenda.
- Nível 70: área de sobrecompra.
- Valor RSI < 50 = Compra
- Valor RSI > 70 = Take Profit
- Valor RSI > 50 = Venda
- Valor RSI < 30 = Take Profit
- Durante as Lateralizações:
- Valor RSI < 30 = Compra
- Valor RSI > 50 = Take Profit
- Valor RSI > 70 = Venda
- Valor RSI < 50 = Take Profit
- Estratégia RSI para uma tendência de alta:
- Estratégia RSI para uma tendência de baixa:
- Estratégia RSI para uma Lateralização:
Então, nós vamos calcular a Média de 14 movimentos positivos e negativos:
Assim, os resultados são os seguintes:
As etapas anteriores calculam o primeiro valor do RSI. As etapas a seguir calculam o RSI após o primeiro cálculo:
Assim, o indicador RSI é calculado usando as etapas acima. No entanto, você não precisará calculá-lo manualmente, e os detalhes do cálculo são fornecidos aqui apenas para ajudá-lo a entender a construção do RSI. Isso pode fornecer informações mais eficazes sobre como usá-lo para obter melhores resultados nas negociações. A plataforma MetaTrader 5 fornece um indicador RSI embutido pronto para uso, para que você não precise calculá-la. Em vez disso, você pode começar a usá-lo imediatamente executando o indicador no gráfico. A imagem a seguir mostra como fazer isso.
Siga alguns passos na plataforma de negociação Meta Trader 5:
Após escolher o Índice de Força Relativa (RSI) na lista de osciladores, a seguinte janela aparecerá para os parâmetros do indicador:
Selecione os parâmetros preferidos e clique em OK. O indicador RSI será exibido no gráfico da seguinte forma:
O indicador RSI é exibido numa janela separada, abaixo do gráfico principal. A janela tem quatro níveis de preços, que denotam o seguinte:
Há outro nível que não é exibido por padrão: é o nível no meio do intervalo, que é igual a 50.
Estratégia RSI
Nesta parte, nós veremos como usar o indicador RSI - Índice de Força Relativa. Para isso, nós usaremos uma estratégia simples, que será diferente de acordo com a direção do mercado.
Nós veremos como o RSI pode ser usado durante a tendência de alta, tendência de baixa e a lateral. O uso específico está diretamente relacionado à área de sobrecompra, faixa intermediária e área de sobrevenda. Primeiro, nós precisamos entender como o RSI se move durante as diferentes tendências ou movimentos, pois nós podemos ver claramente que o RSI se move de maneira diferente com cada tendência ou movimento. Em seguida, nós usaremos uma estratégia simples que pode ser usada durante cada uma das tendências — o objetivo principal é aprender a usá-la e fornecer novos "insights" e abrir nossos olhos para novas ideias que podem ser úteis para a nossa negociação. Nesta parte, nós veremos como o RSI reage a cada tendência ou tipo de movimento. No entanto, observe que as estratégias são fornecidas apenas para fins informativos, para mostrar como o RSI pode ser aplicado para analisar os dados de mercado. Você sempre deve testar todas as estratégias que deseja usar em sua negociação, pois algumas estratégias podem não ser adequadas especialmente para o seu estilo de negociação, especialmente quando se trata de estratégias educacionais.
Nesse caso, na maioria das vezes, os valores do RSI se movem ou se movem entre a faixa intermediária e o nível 70 (nível de sobrecompra).
A estratégia de negociação para a tendência de alta é:
Durante a tendência de alta, o RSI se move na maior parte do tempo entre a faixa intermediária e o nível 30 (nível de sobrevenda).
A estratégia de negociação será a seguinte:
O RSI passa a maior parte do tempo entre os níveis 30 e 70 (nível de sobrevenda).
A estratégia de negociação será a seguinte:
Esquema RSI
Este tópico mostra as instruções que devem ser dadas ao computador ao negociar uma estratégia baseada no RSI.
Nós já consideramos 4 estratégias que devem ser implementadas como sistemas de negociação: comprar numa tendência de alta, vender numa tendência de baixa, comprar e vender numa lateralização. Os esquemas a seguir mostram as instruções para cada uma das estratégias.
Eu acho que eles são claros o suficiente. Agora que nós preparamos os esquemas para cada estratégia que deve ser implementada num sistema de negociação, nós podemos passar a escrever um programa. Vamos passar para a próxima parte deste artigo e criar o código do sistema de negociação.
Sistema de negociação RSI
Agora vamos ver como escrever o código de um sistema de negociação com base nas estratégias de negociação RSI consideradas acima. Primeiro, abrimos a plataforma de negociação MetaTrader 5, depois abrimos o IDE (Editor de Linguagem MetaQuotes) para escrever os códigos, pressionando F4 ou seguindo os passos mostrados nas imagens a seguir:
Ou você pode clicar no botão da IDE na barra de ferramentas da MetaTrader 5:
A seguinte janela aparecerá no IDE MetaEditor recém-aberto:
Crie um novo arquivo, no qual você escreverá o código do sistema de negociação:
Selecione a primeira opção para criar um novo arquivo do Expert Advisor. Se você quiser saber mais sobre outras opções, você pode ler meus artigos anteriores: Como e por que desenvolver seu sistema de negociação algorítmica
Primeiro, eu gostaria de compartilhar um Expert Advisor simples baseado em RSI para comentar os valores do RSI no gráfico para entender como desenvolver um sistema simples e puro do RSI:
//+------------------------------------------------------------------+ //| Simple RSI 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" //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //Creating array for prices double RSIArray[]; //Identying RSI properties int RSIDef = iRSI(_Symbol, _Period, 14, PRICE_CLOSE); //Sorting prices array ArraySetAsSeries(RSIArray,true); //Identifying EA CopyBuffer(RSIDef,0,0,1,RSIArray); //Calculating EA double RSIValue = NormalizeDouble(RSIArray[0],2); //comment with RSI value on the chart Comment("RSI Value is ",RSIValue); } //+------------------------------------------------------------------+
Aqui está como nós podemos executar o programa criado:
Dê um duplo clique no arquivo ou arraste-o e solte no gráfico, logo em seguida aparecerá a seguinte janela:
Clique em Ok e o programa será iniciado no gráfico:
- Estratégia RSI para uma tendência de alta:
Aqui está o código:
//+------------------------------------------------------------------+ //| RSI - 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 array for prices double RSIArray[]; //Identying RSI properties int RSIDef = iRSI(_Symbol, _Period, 14, PRICE_CLOSE); //Sorting prices array ArraySetAsSeries(RSIArray,true); //Identifying EA CopyBuffer(RSIDef,0,0,1,RSIArray); //Calculating EA double RSIValue = NormalizeDouble(RSIArray[0],2); //Creating signal according to RSI if(RSIValue<50) Comment ("Uptrend - BUY"); if(RSIValue>70) Comment ("Uptrend - TAKE PROFIT"); } //+------------------------------------------------------------------+
Executamos este programa no gráfico a partir da janela do Navegador, conforme é mostrado abaixo. Verifique se não há erros ou avisos:
Clique duas vezes ou arraste e solte o arquivo no gráfico, clique em ok na janela do programa e o programa será iniciado no gráfico:
Os sinais do programa serão os seguintes:
- Sinal de compra:
- Sinal de Take Profit:
- Estratégia RSI para uma tendência de baixa:
O código é:
//+------------------------------------------------------------------+ //| RSI - 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 array for prices double RSIArray[]; //Identying RSI properties int RSIDef = iRSI(_Symbol, _Period, 14, PRICE_CLOSE); //Sorting prices array ArraySetAsSeries(RSIArray,true); //Identifying EA CopyBuffer(RSIDef,0,0,1,RSIArray); //Calculating EA double RSIValue = NormalizeDouble(RSIArray[0],2); //Creating signal according to RSI if(RSIValue>50) Comment ("Downtrend - SHORT"); if(RSIValue<30) Comment ("Downtrend - TAKE PROFIT"); } //+------------------------------------------------------------------+
Executamos este programa no gráfico a partir da janela do Navegador, conforme é mostrado abaixo. Verifique se não há erros ou avisos:
Clique duas vezes ou arraste e solte o arquivo no gráfico, clique em ok na janela do programa e o programa será iniciado no gráfico:
O programa em execução irá gerar sinais conforme mostrado a seguir:
- Sinal de venda:
- Sinal de Take Profit:
- Estratégia RSI para uma Lateralização:
E a seguir se encontra o código desta estratégia. Eu vou dividir a estratégia em dois códigos e programas separados para um melhor entendimento: um será para o sinal de Compra e seu take profit e o outro será para o sinal de Venda e seu take profit e ambos são durante as lateralizações:
- Sinal de compra
//+------------------------------------------------------------------+ //| RSI - Sideways 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" //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //Creating array for prices double RSIArray[]; //Identying RSI properties int RSIDef = iRSI(_Symbol, _Period, 14, PRICE_CLOSE); //Sorting prices array ArraySetAsSeries(RSIArray,true); //Identifying EA CopyBuffer(RSIDef,0,0,1,RSIArray); //Calculating EA double RSIValue = NormalizeDouble(RSIArray[0],2); //Creating signal according to RSI if(RSIValue<30) Comment ("Sideways - BUY"); if(RSIValue>50) Comment ("Sideways - TAKE PROFIT"); } //+------------------------------------------------------------------+
Executamos este programa no gráfico a partir da janela do Navegador, conforme é mostrado abaixo. Verifique se não há erros ou avisos:
Clique duas vezes ou arraste e solte o arquivo no gráfico, clique em ok na janela do programa e o programa será iniciado no gráfico:
Após a execução o sinal do programa será o mesmo que você pode ver na figura a seguir:
- Sinal de compra:
- Sinal de Take Profit:
- Sinal de venda
//+------------------------------------------------------------------+ //| RSI - Sideways 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" //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //Creating array for prices double RSIArray[]; //Identying RSI properties int RSIDef = iRSI(_Symbol, _Period, 14, PRICE_CLOSE); //Sorting prices array ArraySetAsSeries(RSIArray,true); //Identifying EA CopyBuffer(RSIDef,0,0,1,RSIArray); //Calculating EA double RSIValue = NormalizeDouble(RSIArray[0],2); //Creating signal according to RSI if(RSIValue>70) Comment ("Sideways - SHORT"); if(RSIValue<50) Comment ("Sideways - TAKE PROFIT"); } //+------------------------------------------------------------------+
Executamos este programa no gráfico a partir da janela do Navegador, conforme é mostrado abaixo. Verifique se não há erros ou avisos:
Clique duas vezes ou arraste e solte o arquivo no gráfico, clique em ok na janela do programa e o programa será iniciado no gráfico:
O programa em execução irá gerar sinais conforme mostrado a seguir:
- Sinal de venda:
- Sinal de Take Profit:
Isso foi tudo sobre como nós podemos criar e usar estratégias simples baseadas no RSI - Índice de Força Relativa - um dos indicadores mais populares que é comumente usado na negociação. Nós vimos como ele pode ser usado para diferentes tendências ou movimentos do mercado.
E o que eu quero confirmar aqui novamente, este artigo é apenas para fins educacionais e seu principal objetivo é explicar essas ferramentas úteis. Se você precisar usar qualquer coisa escrita neste artigo para a sua negociação, certifique-se de testá-la adequadamente antes de usar, pois pode ser útil para alguém, mas pode não ser útil para você de acordo com a sua estratégia ou plano de negociação.
Conclusão
Neste artigo, eu tentei compartilhar com você uma das ferramentas mais poderosas na negociação e na análise técnica, que é o RSI. Vimos que ele depende do conceito de momentum, que é um dos conceitos mais importantes nos movimentos de mercado e negociação. Eu tentei explicar a construção do RSI e os detalhes do cálculo apenas para você entender como o indicador pode ser usado de maneira adequada, eficaz e benéfica.
Além disso, eu compartilhei uma estratégia simples que pode ser usada na negociação e identifiquei como ela pode ser usada durante os diferentes movimentos e tendências do mercado. Então, agora você sabe como usá-lo durante as tendências de alta, tendências de baixa e lateralizações. Existem muitas estratégias que podem ser usadas de forma eficaz e podem ser úteis na negociação, então espero que você continue lendo e aprendendo sobre o indicador RSI e outros.
Nós também aprendemos como escrever o código de um sistema de negociação com base nessas estratégias. A MQL5 e a programação em geral auxiliam no uso eficaz, preciso e fácil de várias ferramentas úteis de negociação e análise, e nos ajudam a viver nossa vida sem problemas e alcançar uma vida equilibrada.
Eu recomendo que você tente codificar e aplicar o que aprendeu neste artigo. Essa prática pode melhorar a sua compreensão e consciência sobre o que você aprendeu, podendo lhe dar mais insights e novas ideias. Espero que você tenha achado este artigo útil e que algumas das ideias o ajudem a obter melhores resultados em suas negociações.
Traduzido do Inglês pela MetaQuotes Ltd.
Artigo original: https://www.mql5.com/en/articles/10528
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso