Estratégia de tendência de cruzamento de média móvel RSI


Data de criação: 2023-11-28 17:03:56 última modificação: 2023-11-28 17:03:56
cópia: 1 Cliques: 776
1
focar em
1619
Seguidores

Estratégia de tendência de cruzamento de média móvel RSI

Visão geral

O RSI Moving Average Crossover Trend Strategy é uma estratégia que usa o sinal de cruzamento da média média do RSI para determinar a tendência e emitir um sinal de negociação. A estratégia combina o EMA do preço com um sinal de compra somente quando o preço está acima do EMA.

Princípio da estratégia

O indicador central da estratégia é o RSI, e calcula as duas linhas médias EMA e SMA do RSI. Um sinal de compra é emitido somente quando a linha EMA do RSI é superior à linha SMA e o preço é superior à EMA. Quando a linha EMA do RSI é inferior à linha SMA, um sinal de venda é emitido, implementando o acompanhamento da tendência.

O indicador RSI é capaz de refletir efetivamente o fenômeno de sobrecompra e sobrevenda do mercado. A quebra de 70 no indicador RSI é considerada como uma sobrecompra do mercado, e a quebra de 30 é considerada como uma sobrevenda. A estratégia usa duas médias móveis EMA e SMA para descobrir a tendência e o ponto de viragem do indicador RSI.

Quando a EMA do RSI começa a subir, indicando que o mercado mostra sinais de estabilização, o SMA é usado para verificar sua direção; Quando o SMA também começa a subir, indicando que o RSI entrou claramente em uma tendência ascendente, a estratégia emite um sinal de compra, seguindo a tendência, sob a premissa de que o preço está acima da EMA.

Análise de vantagens

É uma estratégia de acompanhamento de tendências que permite efetivamente capturar oportunidades de direção em longas e médias linhas. Em comparação com um único indicador, a estratégia usa EMA e SMA do RSI para formar uma verificação cruzada, reduzindo sinais errados e aumentando a estabilidade.

A estratégia também combina os EMAs de preços para garantir que as compras sejam feitas apenas quando os preços estão em alta, evitando o risco de uma situação de choque, o que aumenta a probabilidade de lucro.

Análise de Riscos

A estratégia baseia-se principalmente no indicador RSI, que também emite um sinal de erro quando o RSI produz um sinal de erro. Além disso, o indicador RSI é mais adequado para julgar o fenômeno de sobrecompra e sobrevenda, e tem um certo atraso para julgar a tendência da linha média e longa.

A estratégia também tem um certo atraso de tempo, especialmente quando a EMA e a SMA do RSI se aproximam do equilíbrio, o que pode causar um atraso no sinal. Há também um risco de perda durante esse período.

Direção de otimização

  1. Pode-se considerar a otimização do RSI, selecionando parâmetros mais adequados para aumentar a eficácia de seu julgamento.

  2. Pode-se considerar a adição de lógica de parada de perdas, a retirada da posição após a perda atingir uma certa amplitude, controlando efetivamente o risco.

  3. É possível testar configurações de parâmetros em diferentes períodos de tempo e otimizar os parâmetros para que a estratégia funcione de forma estável em mais variedades e mais períodos.

Resumir

A estratégia de tendência de cruzamento de linha média do RSI é uma estratégia simples que usa o indicador RSI para determinar a direção da tendência e a verificação de cruzamento. Combinada com a EMA do preço, ela é capaz de agarrar oportunidades de direção em uma tendência ascendente. A estratégia é mais estável e adequada para a linha média e longa, mas também precisa ter cuidado para evitar certos riscos de atraso.

Código-fonte da estratégia
/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Created by Sv3nla 5-Jan-2021
strategy(title="Sv3nla RSI EMA SMA Strat", shorttitle="Sv3nla RSI EMA SMA Strat", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// === BACKTEST RANGE ===
FromMonth = input(defval = 5, title = "From Month", minval = 1)
FromDay   = input(defval = 1, title = "From Day", minval = 1)
FromYear  = input(defval = 2015, title = "From Year", minval = 2015)
ToMonth   = input(defval = 1, title = "To Month", minval = 1)
ToDay     = input(defval = 1, title = "To Day", minval = 1)
ToYear    = input(defval = 9999, title = "To Year", minval = 2022) 
// syminfo.mintick = 0.01$ for BTCUSDT

testPeriod() => true

//INPUTS
rsilen = input(defval = 16, minval=1, title="RSILength")
RSIemaLen = input(defval = 12, minval=1, title="RSI EMA Length")
RSIsmaLen2 = input(defval = 29, minval=1, title="RSI SMA Length2")
length = input(defval = 8, minval=1, title="EMA price Length")

// RSI
RSIsrc = close
RSIup = rma(max(change(RSIsrc), 0), rsilen)
RSIdown = rma(-min(change(RSIsrc), 0), rsilen)
rsi = RSIdown == 0 ? 100 : RSIup == 0 ? 0 : 100 - 100 / (1 + RSIup / RSIdown)
emavalue=ema(rsi,RSIemaLen)
smavalue=sma(rsi,RSIsmaLen2)

//EMA
ema=ema(close,length)

//PLOT
plot(ema(rsi, RSIemaLen), color=color.yellow, linewidth=2, title="EMA", transp=0)
plot(sma(rsi, RSIsmaLen2), color=color.aqua, linewidth=2, title="SMA", transp=0)

//ORDERS
if (testPeriod())
    strategy.entry("long",strategy.long, comment="RSIEMA", when=(emavalue > smavalue and close>ema))
    strategy.close(id="long", when=(emavalue < smavalue))

// Colour background when in a trade and 50 horizontal line
backgroundColour = (strategy.position_size > 0) ? color.green : na    
bgcolor(color=backgroundColour, transp=85)
hline(50, color=color.yellow)