O Índice de Força Relativa (RSI) é um dos indicadores técnicos mais populares e eficazes no mundo do trading.

Criado por J. Welles Wilder, o RSI é uma ferramenta valiosa para identificar a força de uma tendência e os pontos de sobrecompra e sobrevenda em um ativo.

Vamos entender mais sobre esse indicador RSI, discutiremos sua aplicação na negociação e criaremos um robô de negociação em MQL5 que utiliza o RSI como base para suas decisões.

rsi indicador

Compreendendo o Indicador RSI

O RSI é um oscilador que varia entre 0 e 100 e é calculado com base nas variações recentes dos preços de um ativo. Ele é frequentemente usado para:

  • Identificar condições de sobrecompra e sobrevenda.
  • Confirmar tendências de preços.
  • Gerar sinais de compra e venda.

 

Estratégia de Negociação com o RSI

A estratégia que implementaremos é simples:

  • Compra: Quando o RSI cruza acima de um determinado limite (geralmente 70) vindo de baixo.
  • Venda: Quando o RSI cruza abaixo de um determinado limite (geralmente 30) vindo de cima.

rsi

Criando um Robô em MQL5

Agora, vamos criar um Expert Advisor (EA) em MQL5 que utiliza o indicador RSI para tomar decisões de negociação. A estratégia é baseada nas condições mencionadas acima.

mql5
//+------------------------------------------------------------------+
//|                                           RSI Trading Robot      |
//|                                    Copyright 2023, Forum Boa Dica|
//|                                       http://forumboadica.com.br |
//+------------------------------------------------------------------+
#property copyright "Forum Boa Dica"
#property link      "http://forumboadica.com.br"
#property version   "1.00"
#property description "RSI Trading Expert Advisor"
#property strict

input int RsiPeriod = 14;  // Período do RSI
input int Overbought = 70; // Limite de Sobrecompra
input int Oversold = 30;   // Limite de Sobrevenda
input double LotSize = 0.1; // Tamanho do Lote de Negociação

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   // Inicializa o EA
   Print("EA Iniciado");

   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   double rsi = iRSI(Symbol(), 0, RsiPeriod, PRICE_CLOSE, 0);
   
   // Verifica os sinais de compra e venda
   if (rsi > Overbought)
     {
      Print("Sinal de Venda: RSI cruzou abaixo de", Overbought);
      int ticket = OrderSend(Symbol(), OP_SELL, LotSize, MarketInfo(Symbol(), MODE_BID), Slippage, 0, 0, "", 0, clrNONE);
     }
   else if (rsi < Oversold)
     {
      Print("Sinal de Compra: RSI cruzou acima de", Oversold);
      int ticket = OrderSend(Symbol(), OP_BUY, LotSize, MarketInfo(Symbol(), MODE_ASK), Slippage, 0, 0, "", 0, clrNONE);
     }
  }
//+------------------------------------------------------------------+

 

Este Expert Advisor calcula o RSI com base no período definido e verifica se o RSI cruzou acima do limite de sobrecompra (compra) ou abaixo do limite de sobrevenda (venda).

Lembre-se de que esta é uma estratégia simples e deve ser testada em uma conta de demonstração antes de ser usada em uma conta de negociação real.

 

Com este EA, você tem um ponto de partida para explorar estratégias mais avançadas envolvendo o RSI e outras ferramentas de análise técnica.

Certifique-se de entender completamente como funciona o código antes de usá-lo no mercado real.