Esta estratégia combina a estratégia de reversão do ponto de pivô com o indicador Relative Strength Index (RSI) para detectar potenciais oportunidades de reversão da tendência nos níveis de pivô, verificando os sinais RSI.
A estratégia primeiro calcula os principais níveis de suporte e resistência olhando para a esquerda e direita sobre um número de barras para encontrar o pivô mais alto e o pivô mais baixo. Quando um nível de pivô é estabelecido, ele verifica ainda mais se o RSI atende às condições de sobrecompra ou sobrevenda. Especificamente, se o RSI estiver abaixo da linha de sobrevenda na resistência, é considerado sobrevendo para entrada longa. Se o RSI estiver acima da linha de sobrecompra no suporte, é considerado sobrecomprado para entrada curta. Isso permite o uso do filtro RSI para identificar falhas de ruptura e melhor tempo de entrada nos pontos de reversão da tendência.
Os códigos são os seguintes:
As principais vantagens desta estratégia são:
Confirmação de tendência: o RSI filtra falhas e evita entradas erradas durante retrações temporárias.
Controle de riscos: as paradas são colocadas perto de suportes e resistências-chave para uma melhor gestão de riscos.
Versatilidade: aplicável a diferentes produtos e prazos.
Simplicidade: Indicadores e parâmetros mínimos para facilitar a sua aplicação.
Eficiência dos dados: Só são necessários dados OHLC e não são sensíveis à qualidade dos dados.
Os riscos potenciais são:
Risco de falha do pivô: níveis-chave podem ser quebrados durante grandes oscilações do mercado, causando falha da estratégia.
Risco de divergência do RSI: o RSI pode divergir e tornar-se ineficaz para sobrecompra/supervenda em mercados agitados. Os parâmetros do RSI podem ser ajustados e filtros adicionais adicionados para validar os sinais do RSI.
Risco de Stop Loss: As paradas podem ser atingidas durante tendências fortes que levam a perdas aumentadas.
Risco de retirada: A estratégia é executada em cada tique e pode enfrentar retirada durante reversões desfavoráveis.
A estratégia pode ser melhorada em vários aspectos:
Otimizar o cálculo do pivô testando diferentes períodos de retrospecção esquerda/direita e adicionando filtros para melhorar a precisão.
Otimizar os parâmetros do RSI para uma melhor detecção de sobrecompra/supervenda.
Adicione filtros adicionais para evitar problemas em mercados agitados, como indicadores de volatilidade.
Optimize as paradas para equilibrar os lucros e os riscos.
Empregar paradas estatísticas baseadas na análise de dados históricos para determinar os intervalos de paragem.
Adicionar confirmação de vários prazos para melhorar a taxa de vitória usando vários períodos.
A estratégia Go With The Trend RSI combina pontos de pivô e RSI para identificar potenciais pontos de virada da tendência e encontrar entradas ideais. Em comparação com o uso de técnicas únicas como pivô ou RSI sozinho, esta estratégia melhora a robustez e consistência.
/*backtest start: 2023-09-30 00:00:00 end: 2023-10-07 00:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Pivot Point Reversal + RSI Strategy", shorttitle = 'PP + RSI Strategy', overlay=true) //////////// // Inputs // leftBars = input(3, title = 'PP - Left Bars') rightBars = input(3, title = 'PP - Right Bars') rsi_length = input(14, title = "RSI - Length") rsi_long = input(70, title = "RSI - Overbought level") rsi_short = input(30, title = "RSI - Overold level") ////////////////// // Calculations // // Pivot Points swh = pivothigh(leftBars, rightBars) swl = pivotlow(leftBars, rightBars) // Pivot High swh_cond = not na(swh) hprice = 0.0 hprice := swh_cond ? swh : hprice[1] le = false le := swh_cond ? true : (le[1] and high > hprice ? false : le[1]) // Pivot Low swl_cond = not na(swl) lprice = 0.0 lprice := swl_cond ? swl : lprice[1] se = false se := swl_cond ? true : (se[1] and low < lprice ? false : se[1]) // RSI rsi = rsi(close, 14) ////////////// // STRATEGY // if (le and rsi[rightBars] < rsi_long ) strategy.entry("PivRevLE", strategy.long, comment = "PivRSI Long", stop = hprice + syminfo.mintick) if (se and rsi[rightBars] > rsi_short) strategy.entry("PivRevSE", strategy.short, comment = "PivRSI Short", stop = lprice - syminfo.mintick)