Esta estratégia é projetada com base no indicador RSI de regressão linear. Ela gera sinais de compra e venda calculando o cruzamento entre o RSI de regressão linear e a EMA. A estratégia também fornece duas opções para a lógica de compra que podem ser selecionadas conforme necessário.
A estratégia primeiro calcula uma regressão linear de 200 períodos, em seguida, calcula um RSI de 21 períodos com base no resultado da regressão linear. Depois disso, uma EMA de 50 períodos é calculada. Quando o RSI cruza acima da EMA, um sinal de compra é gerado. Quando o RSI cruza abaixo da EMA, um sinal de venda é acionado para fechar a posição.
A estratégia oferece dois tipos de lógica de compra:
A lógica de compra adequada pode ser selecionada com base nas condições do mercado.
Esta estratégia combina os pontos fortes do RSI de regressão linear e do EMA, que efetivamente filtra algum ruído de preços e gera sinais de negociação mais confiáveis.
O RSI de regressão linear capta melhor a tendência e o EMA ajuda a identificar pontos de virada.
A estratégia fornece duas lógicas de compra opcionais para maior flexibilidade para se adaptar a diferentes estágios do mercado.
O principal risco desta estratégia reside na possível alteração da relação entre o RSI e a EMA, o que pode conduzir a sinais comerciais incorretos.
Além disso, a natureza atrasada do RSI e da EMA como indicadores pode também causar certos atrasos nas entradas e saídas, não conseguindo captar perfeitamente os pontos de virada.
Para mitigar os riscos, parâmetros como os comprimentos do RSI e da EMA podem ser otimizados para uma melhor coordenação entre os dois.
A estratégia pode ser melhorada pelos seguintes aspectos:
Esta estratégia projeta uma estratégia de reversão média baseada em RSI e EMA de regressão linear, identificando oportunidades de reversão dentro de intervalos olhando para cruzes RSI-EMA. Também fornece duas lógicas de compra opcionais para flexibilidade para se adaptar a mercados variados.
/*backtest start: 2023-01-17 00:00:00 end: 2024-01-23 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Linear RSI") startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0) end = timestamp(input(9999, "End Year"), input(1, "Month"), input(1, "Day"), 0, 0) _testPeriod() => true //inputs length = input(defval=200, minval=1, title="LR length") length2 = input(defval=21, minval=1, title="RSI length") ema_fast = input(defval=50, minval=1, title="EMA") lag = 0 overBought = input(50) overSold = input(50) //rsi src = close Lr = linreg(src, length, lag) rsi = rsi(Lr, length2) ema = ema(rsi, ema_fast) plot(rsi, color = rsi > overBought ? color.green : rsi < overSold ? color.red : color.silver) plot(overBought, color=color.purple) plot(overSold, color=color.purple) plot(ema, color=color.blue) first_type = input(true, title="Use first logic?") second_type = input(false, title="Use second logic?") long_condition = (first_type ? crossover(rsi, ema) and _testPeriod() : false) or (second_type ? rsi > ema and rsi > overBought and _testPeriod() : false) strategy.entry('BUY', strategy.long, when=long_condition) short_condition = crossunder(rsi, ema) strategy.close('BUY', when=short_condition)