RSI Estratégia de Retracement de Fibonacci

Autora:ChaoZhang, Data: 2023-12-29 14:51:43
Tags:

img

Resumo

A estratégia de RSI Fibonacci Retracement gera sinais de negociação baseados no cruzamento entre o indicador RSI e os níveis de retracementos de Fibonacci definidos, tomando posições quando ocorrem reversões em áreas de sobrecompra e sobrevenda.

Princípio

Esta estratégia é implementada com base no cruzamento entre o indicador RSI e os níveis de retração de Fibonacci. Primeiro, calcule o valor do indicador RSI, em seguida, defina os níveis de retração de Fibonacci (38,2%, 50%, 61,8%). Quando o indicador RSI cruza acima do nível de Fibonacci, um sinal de compra é gerado. Quando cruza abaixo, um sinal de venda é gerado.

O indicador RSI é usado para julgar se o mercado está sobrecomprado ou sobrevendido. RSI acima de 70 indica uma área sobrecomprada e abaixo de 30 indica uma área sobrevendida. Quando o RSI cai da área sobrecomprada para a zona de retração de Fibonacci, é um sinal de reversão para ir longo. Quando o RSI sobe da área sobrevendida para a zona de retração de Fibonacci, é um sinal de reversão para ir curto.

Os níveis de retração de Fibonacci nesta estratégia servem principalmente como referência, formando sinais de negociação com o RSI.

Vantagens

  1. Usar o RSI para identificar formações de sobrecompra e sobrevenda, combinado com a área de retração de Fibonacci para capturar oportunidades de reversão, pode filtrar algum ruído.

  2. A tendência de seguir a natureza, pode capturar tendências de médio a longo prazo.

  3. Pode adaptar-se a diferentes situações de mercado ajustando a área de retração de Fibonacci.

Riscos

  1. As posições longas ou curtas podem durar muito tempo, exigindo um apoio de capital suficiente.

  2. O processo de retracement pode exibir altas e baixas de sondagem novamente, exigindo stop loss para controlar os riscos.

  3. A configuração inadequada dos parâmetros pode conduzir a uma negociação excessiva ou a uma exploração insuficiente das oportunidades de reversão.

Orientações de otimização

  1. Considere a incorporação de outros indicadores para filtrar o tempo de entrada, como MACD, Bandas de Bollinger para julgar a direção da tendência.

  2. Os parâmetros como os períodos do RSI e os níveis de retração de Fibonacci podem ser otimizados.

  3. Configure um stop loss dinâmico para bloquear os lucros.

Resumo

A estratégia de RSI Fibonacci Retracement tem boa estabilidade em geral como uma estratégia de tendência seguinte. Em comparação com as estratégias de RSI individuais, adicionar a área de retracement de Fibonacci pode efetivamente filtrar alguns negócios barulhentos. Por otimização de parâmetros, ele pode se adaptar a diferentes instrumentos de negociação em vários mercados. Em conclusão, esta é uma idéia de estratégia confiável e fácil de otimizar.


/*backtest
start: 2022-12-22 00:00:00
end: 2023-12-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// (c) ReduX_o, 2019. All rights reserved.
//
// How to trade:
// The indicator is more reliable in longer time frames
// Choose a fibonacci level as reference 
// Buy when the RSI line turns green
// Sell when the RSI line turns red



//@version=4
strategy("RSI Fibonacci Levels", overlay=false, initial_capital=2000, currency=currency.USD, commission_value=0.1, slippage=0, commission_type=strategy.commission.percent, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100)


len = input(14, minval=1, title="Rsi Periods")
f1 = input(title="Fibonacci Level", defval="38.2", options=["38.2", "50", "61.8"])

// === BACKTEST RANGE ===
FromYear = input(defval=2010, title="From Year", minval=2010)
FromMonth = input(defval=1, title="From Month", minval=1)

ToYear = input(defval=2020, title="To Year", minval=2010)
ToMonth = input(defval=1, title="To Month", minval=1)


src = hl2
fi= (f1 == "38.2") ? 38.2 : (f1 == "50")? 50 : 61.8


up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)


//***************************************************
rcolor = rsi >= fi ? color.lime : color.red

plot(rsi, title="RSI", color=rcolor, transp=0)
band1 = hline(78.6, color=color.red, linestyle= hline.style_solid,  editable= false)
band0 = hline(23.6, color=color.lime, linestyle= hline.style_solid, editable= false)
band2 = hline(61.8, color=color.gray, editable= false)
band3 = hline(50, color=color.black, editable= false)
band4 = hline(38.2, color=color.gray, editable= false)
band5 = hline(fi, color=color.blue, linestyle= hline.style_solid, editable= false)

strategy.entry("LE", strategy.long, comment="L", when=rsi >= fi )
strategy.entry("SE", strategy.short, comment="S", when=rsi < fi )




Mais.