
A estratégia de balanço do RSI é uma estratégia de negociação quantitativa que usa o indicador RSI e o sinal de balanço do RSI para decidir se o mercado está sobrevalorizado ou subvalorizado. A estratégia usa o indicador RSI para determinar se o mercado está sobrevalorizado ou subvalorizado e, em combinação com a tendência da linha de equilíbrio, emite uma operação ao mesmo tempo em que o indicador RSI mostra um fenômeno de sobrevenda.
A estratégia baseia-se principalmente na combinação do indicador RSI com a linha média. Em primeiro lugar, calcula-se o valor do RSI de um determinado período e define-se uma linha de sobrevenda e sobrecompra. Em segundo lugar, calcula-se a linha média rápida e a linha média lenta.
A maior vantagem desta estratégia é que o uso do indicador RSI para determinar o fenômeno de sobrecompra e sobrevenda, bem como a direção da tendência da linha média, pode evitar falsas rupturas. Além disso, o uso combinado do RSI e do canal BOLL também pode filtrar o ruído e tornar os sinais de negociação mais precisos.
Os principais riscos que a estratégia pode apresentar são: frequência de operação excessiva, fácil de se arriscar; configuração inadequada dos parâmetros pode reduzir a precisão do sinal. Além disso, pode haver perdas em situações de choque.
Pode-se considerar ajustar os parâmetros do RSI ou os parâmetros do ciclo da linha média para adaptá-los a diferentes períodos; filtrar sinais em combinação com outros indicadores; definir um ponto de parada para controlar o risco; otimizar o gerenciamento de posições em cada transação.
A estratégia de oscilação de binário de linha do RSI é, em geral, uma estratégia de negociação de linha curta mais estável e confiável. A combinação de otimização de parâmetros e controle de risco permite obter uma melhor taxa de retorno. A estratégia é fácil de entender e implementar e é ideal para os iniciantes em aprendizado e aplicação de negociação quantitativa.
/*backtest
start: 2024-01-23 00:00:00
end: 2024-02-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("RSI slowma Ismael", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Definir la longitud del RSI
rsi_length = input(title='RSI Length', defval=14)
//media
Fast = input(title='Fast', defval=7)
slow = input(title='Slow', defval=2)
// Definir los niveles de sobrecompra y sobreventa del RSI
rsi_overbought = input(title='RSI Overbought Level', defval=72)
rsi_oversold = input(title='RSI Oversold Level', defval=29)
// Definir la longitud y la desviación estándar de las Bandas de Bollinger
bb_length = input(title="Bollinger Bands Length", defval=14)
bb_stddev = input(title="Bollinger Bands StdDev", defval=2)
// Calcular RSI
rsi_value = ta.rsi(close, rsi_length)
// Calcular Bandas de Bollinger
bb_upper = ta.sma(rsi_value, bb_length) + bb_stddev* ta.stdev(rsi_value, bb_length)
bb_lower = ta.sma(rsi_value, bb_length) - bb_stddev * ta.stdev(rsi_value, bb_length)
//media movil adelantada
fastMA = ta.sma(rsi_value, Fast)
slowMA = ta.sma(rsi_value, slow)
// Definir la señal de compra y venta
buy_signal = (ta.crossover(rsi_value, slowMA) and rsi_value < bb_lower and rsi_value < rsi_oversold) or (rsi_value < bb_lower and rsi_value < rsi_oversold)
sell_signal = (ta.crossunder(rsi_value, slowMA) and rsi_value > bb_upper and rsi_value > rsi_overbought) or (rsi_value > bb_upper and rsi_value > rsi_overbought)
// Configurar las condiciones de entrada y salida del mercado
if buy_signal
strategy.entry("Buy", strategy.long)
if sell_signal
strategy.close("Buy")
// Configurar el stop loss y el take profit
stop_loss = input.float(title='Stop Loss (%)', step=0.01, defval=3)
take_profit = input.float(title='Take Profit (%)', step=0.01, defval=8)
strategy.exit("Exit Long", "Buy", stop=close - close * stop_loss / 100, limit=close + close * take_profit / 100)
// Configurar la visualización del gráfico
plot(slowMA, title='RSISMA', color=color.rgb(75, 243, 33), linewidth=1)
plot(fastMA, title='RSIFMA', color=color.rgb(75, 243, 33), linewidth=1)
plot(rsi_value, title='RSI', color=color.purple, linewidth=1)
// Marcar las zonas de sobrecompra y sobreventa en el grafico del RSI
hl= hline(rsi_overbought, title='Overbought', color=color.purple, linestyle=hline.style_dotted, linewidth=1)
hll= hline(rsi_oversold, title='Oversold', color=color.purple, linestyle=hline.style_dotted, linewidth=1)
fill(hl,hll, color= color.new(color.purple, 91))
bbfill = plot(bb_upper, title='Bollinger Bands up', color=color.blue, linewidth=1)
bbfill1= plot(bb_lower, title='Bollinger Bands down', color=color.blue, linewidth=1)
fill(bbfill,bbfill1, color= color.new(#2bb5ec, 91))