
A estratégia de reversão do RSI é uma estratégia de negociação quantitativa que utiliza o indicador RSI relativamente forte para identificar situações de sobrevenda e sobrevenda, comprando e vendendo no ponto de reversão. A estratégia ganha lucro ao definir o valor de queda do RSI nas zonas de sobrevenda e sobrevenda, fazendo um curto-circuito quando o RSI entra na zona de sobrevenda e fazendo um longo-circuito quando o RSI entra na zona de sobrevenda, para capturar a reversão de preços.
A estratégia baseia-se principalmente nos seguintes princípios:
O RSI pode refletir se o mercado está atualmente em um estado de sobrecompra ou sobrevenda. O RSI mede a intensidade relativa do impulso de alta versus baixa em um período de tempo médio, medindo a intensidade relativa do impulso de alta versus baixa no mercado atual.
Quando o RSI entra na zona de supercompra (geralmente considerado supercomprado quando o RSI é maior que 70), indica que o impulso de vários pontos já é forte, quando o número de comerciantes que possuem posições de otimização será maior, com espaço limitado para continuar a otimização, e o preço pode continuar a cair para reverter o estado de supercompra.
Quando o RSI entra na zona de oversold (geralmente considerado como oversold quando o RSI é menor do que 30), indica que o impulso de cabeça baixa já é forte, quando o número de comerciantes que possuem posições de baixa será maior, com espaço limitado para continuar a cair, e os preços podem continuar a subir para reverter o estado de oversold.
Portanto, pode-se definir o limite de RSI para a zona de sobrecompra de 90 e o limite de zona de sobrevenda de 10 para fechar quando o RSI entra na zona de sobrecompra e fazer mais quando o RSI entra na zona de sobrevenda para capturar a reversão.
A lógica central da estratégia é a seguinte:
Calcular o valor do indicador RSI com o preço de fechamento como a fonte de entrada para o cálculo do RSI, com duração de 2 ciclos.
Quando o RSI ultrapassa 90, indica que entrou na zona de sobrecompra e abriu uma posição; quando o RSI abaixo de 10, indica que entrou na zona de sobrevenda e abriu uma posição adicional.
Para cada posição aberta, configure um ponto de parada de perda. O ponto de parada de perda múltipla é o preço mínimo (low), e o ponto de parada de perda vazio é o preço máximo (high).
Para cada posição aberta, configure um ponto de parada de rastreamento. Se o RSI continuar a entrar em áreas mais vendidas, ajuste o ponto de parada de rastreamento para que a distância de parada seja mais relaxada.
Quando a reversão chegar, o RSI voltará para a zona neutra perto de 50, podendo optar por parar e nivelar a posição.
Se a reversão não ocorrer, abrir uma posição com mais de 3 linhas K e não atingir a condição de stop loss ou stop loss, forçar o equilíbrio da posição, para evitar maiores perdas causadas pela posse excessiva.
A estratégia de inversão do RSI tem as seguintes vantagens:
O indicador RSI pode ser usado para determinar a sobrevenda e a sobrevenda, e pode ser usado para capturar os pontos de reversão do mercado. O RSI pode ser usado para determinar a sobrevenda e a sobrevenda com precisão, e a reversão tem uma maior taxa de sucesso.
A estratégia de reversão de negociação tem a vantagem sistemática de continuar a acompanhar a negociação. Quando surge uma situação de sobrecompra, pode ser feito em tempo hábil para fazer um curto-circuito, e o excesso de venda é feito em mais tempo, para evitar ser coberto.
A estratégia de incluir um mecanismo de stop-loss pode efetivamente controlar a perda de uma única transação. Mesmo que a reversão não seja bem sucedida, o stop-loss pode controlar a perda em um determinado intervalo.
O tracking stop pode ajustar a distância de stop de forma flexível com a continuação do preço, garantindo a eficácia do stop, mas também procurando rastrear mais diferença de preço.
O Stop Loss forçado garante que as transações que não são reversíveis por um longo período de tempo possam ser liquidadas e não trazem perdas por tempo ilimitado.
Os parâmetros do RSI podem ser ajustados para diferentes mercados, aumentando a adaptabilidade da estratégia.
A estratégia também apresenta alguns riscos que devem ser lembrados:
A inversão do RSI é uma estratégia de negociação de indicadores técnicos, cujos resultados de retorno podem ter o risco de se ajustar à curva. A taxa de sucesso da inversão em ações reais pode ser menor do que os resultados de retorno.
Embora o RSI possa ser usado para avaliar o excesso de compra e venda, não é possível prever o momento exato em que a reversão ocorrerá. Existe o risco de que a reversão não ocorra após a adoção da estratégia e os preços continuem a funcionar.
A estratégia de definir o RSI sobre a área de sobrevenda pode ser irracional e, se for definida erroneamente, pode levar a uma reversão perdida ou a uma reversão antes da quebra da noite anterior.
A inversão não chega a um ponto de parada, e a probabilidade de inverter novamente a inversão existe, então o ponto de parada pode não ser transacionado.
O ponto de parada não é razoável, e se for muito perto, o ponto de parada pode ser eliminado, e se for muito longe, o ponto de parada perde o sentido.
As comissões de transação também podem afetar os lucros.
A estratégia de inversão do RSI também pode ser otimizada nos seguintes aspectos:
Teste diferentes parâmetros do RSI para encontrar a combinação ideal de parâmetros, como o comprimento do RSI, o limiar da zona de sobre-compra e o limiar da zona de sobre-venda.
Adicionar mais condições de filtragem para evitar o ruído de falsas reversões, como a combinação de indicadores MACD para determinar áreas de alta probabilidade de reversão.
Otimização de estratégias de stop loss, tais como stop loss de acordo com o ATR, a distância de stop loss de acordo com a taxa de flutuação, etc.
Optimizar a estratégia de stop-loss, configurar o stop-loss móvel, rastrear maiores diferenças de preço, etc.
A adição de um modelo de aprendizagem de máquina para auxiliar o julgamento e aumentar a taxa de sucesso da reversão.
Teste os dados de diferentes mercados e variedades, ajuste os parâmetros para obter o melhor resultado no disco.
Em combinação com o volume de transações, o sinal de reversão só é considerado se o volume de transações for maior.
Em geral, a estratégia de reversão do RSI usa o indicador RSI para identificar o estado de mercado de sobrecompra e sobrevenda, e pode obter bons ganhos sistemáticos. Mas a estratégia também possui certos riscos, e precisa de testes de otimização dos parâmetros RSI e da estratégia de parada de perda, auxiliada por outros indicadores de filtragem para reduzir os erros de negociação. Se a abordagem for correta, a estratégia de reversão do RSI pode ser um módulo de estratégia eficaz no sistema de negociação quantitativa.
/*backtest
start: 2023-11-06 00:00:00
end: 2023-11-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// Copyright (c) 2021-present, RicMos
//study("RSI2 Sell Strategy, overlay=true)
//------------------------------------------USER VARIABLE DEFINITIONS --------------------------------------
var float lots = 0.1
//var float fixed_commission = 0.6 // forex pairs commission value USD per position size two sides
var float fixed_commission = 10 // BTC commission value USD per position size two sides
//var float money = 10000 //forex pairs position size
var float money = 0.3333 //BTC position size
strategy(title="RSI2 Sell Strategy", commission_type=strategy.commission.cash_per_order, calc_on_every_tick =true, commission_value = fixed_commission/2, overlay=true, default_qty_value= lots*100000, initial_capital=1000, currency = "USD", calc_on_order_fills = false)
len = input(2, minval=1, title="RSI Length")
src = input(close, "RSI Source", type = input.source)
upRsi = rma(max(change(src), 0), len)
downRsi = rma(-min(change(src), 0), len)
rsi = downRsi == 0 ? 100 : upRsi == 0 ? 0 : 100 - (100 / (1 + upRsi / downRsi))
var color buyColor = color.blue
var color sellColor = color.red
plotshape(rsi <= 10 ? low : na, title="Arrow Up", style=shape.triangleup, location=location.belowbar, size=size.tiny, color=buyColor)
plotshape(rsi >= 90 ? high : na, title="Arrow Down", style=shape.triangledown, location=location.abovebar, size=size.tiny, color=sellColor)
// long = rsi <= 10
// var float longsl = 0
// var int long_ts_points = 0
// if long
// longsl:= low
// long_ts_points := 200
// if rsi >= 70
// long_ts_points := 100
// else if rsi >= 80
// long_ts_points := 80
// plot (longsl)
// var int barsPassed = 0
// barsPassed := barssince(long)
// if long
// strategy.entry("long", long = strategy.long, qty = 10000, stop = high)
// strategy.exit("slLo", from_entry="long", stop = longsl-0.0002, trail_points = long_ts_points )
// //strategy.close("long", when = rsi[1]>=50 and rsi < 50 , comment = "rsi under 50" )
// strategy.cancel_all(barsPassed > 3 and not long)
short = rsi >= 90
var float shortsl = 0
var int short_ts_points = 0
//var bool stClose = 0
if short
shortsl:= high
short_ts_points := 200
if rsi <= 30
short_ts_points := 100
//stClose :=1
else if rsi <= 20
short_ts_points := 80
//else
//stClose := 0
plot (shortsl)
var int barsPassedSh = 0
barsPassedSh := barssince(short)
if short
strategy.entry("short", long = strategy.short, qty = money, stop = low)
strategy.exit("slSh", from_entry="short", stop = shortsl, trail_points = short_ts_points, trail_offset =20 )
//strategy.close("short", comment="rsi<30", when = stClose)
//strategy.close("long", when = rsi[1]>=50 and rsi < 50 , comment = "rsi under 50" )
strategy.cancel_all(barsPassedSh > 3 and not short)