Estratégia de Crossover de Média Móvel RSI


Data de criação: 2023-11-07 15:35:58 última modificação: 2023-11-07 15:35:58
cópia: 0 Cliques: 1004
1
focar em
1617
Seguidores

Estratégia de Crossover de Média Móvel RSI

Visão geral

A estratégia de cruzamento de linha média do RSI é uma estratégia aplicada à negociação de criptomoedas. A estratégia aplica a média móvel ao indicador RSI e emite sinais de compra e venda com base no cruzamento do RSI com sua média móvel.

Princípio da estratégia

A estratégia primeiro calcula o RSI. O RSI é baseado na variação de alta e baixa em um determinado período de tempo, refletindo a força e a fraqueza dos preços. O RSI maior que 70 é uma zona de supera compra e menor que 30 é uma zona de supera venda.

Em seguida, a estratégia aplica uma média móvel com base no indicador RSI. A média móvel pode filtrar os movimentos aleatórios e determinar a direção da tendência.

Quando o RSI cruza sua média móvel, é considerado um sinal de compra; quando o RSI cruza sua média móvel, é considerado um sinal de venda. Negocie com base nesses dois sinais.

No código, primeiro calculamos o indicador RSI para o período de comprimento. Em seguida, calculamos a média móvel para o período de 10 RSI.

Além disso, o código também traça um gráfico linear de rsi, ma, e um gráfico em coluna de rsi-ma. Traça uma linha divisória de rsi=70, rsi=30 e, ao comprar e vender, marque a correspondente seta de sinal no gráfico.

Análise de vantagens estratégicas

  • O indicador RSI pode ser usado para determinar sobrecompra e sobrevenda, e as médias móveis podem ser usadas para filtrar oscilações aleatórias.
  • O cruzamento de linha média RSI é uma estratégia de negociação mais avançada que pode filtrar alguns sinais falsos.
  • O código da estratégia é simples, claro e fácil de entender. A função de mapeamento está completa e os sinais de negociação podem ser observados claramente.
  • A estratégia é mais eficaz para criptomoedas com tendências mais evidentes.

Análise de risco estratégico

  • O RSI e as médias móveis usam um parâmetro de ciclo inadequado, o que pode levar a um excesso de sinais errados.
  • O cruzamento de indicadores não é suficiente para evitar a fraude. É necessário combinar a análise de tendências.
  • As taxas de transação podem ter um impacto sobre os lucros.
  • O mercado de criptomoedas é muito volátil e é preciso estar atento ao risco de paralisação.

De acordo com o risco, você pode ajustar os parâmetros para otimizar o efeito do indicador, reduzir adequadamente a posição, definir a linha de parada e colaborar com a análise de tendências para filtrar os sinais.

Direção de otimização da estratégia

  • A melhor combinação de RSI e linha média que pode ser estudada sob diferentes parâmetros de período
  • Pode aumentar a posição quando a tendência é forte e diminuir a posição quando a tendência não é clara
  • Pode-se definir um stop loss dinâmico para acompanhar a tendência
  • Outros indicadores podem ser explorados em combinação com o RSI para formar novos sinais de negociação
  • Modelos de aprendizado de máquina baseados nessa estratégia podem ser explorados para aumentar a chance de vitória da estratégia

Resumir

A estratégia de cruzamento de equilíbrio RSI combina os benefícios do indicador de tendência e do indicador de filtragem, é relativamente madura e confiável. A lógica da estratégia é simples e fácil de entender, a implementação do código é completa e, em geral, é uma boa estratégia de negociação de criptomoedas.

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

//@version=4
strategy("RSI w MA Strategy", shorttitle="RSI w MA Strategy", overlay=false, initial_capital=10000, currency='USD',process_orders_on_close=true)

//TIME FRAME AND BACKGROUND CONTROL/////////////////////////////////////////////
testStartYear = input(2019, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(01, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)
testStopYear = input(2022, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(1, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and time >= testPeriodStart and time <= testPeriodStop ? 
   color.teal : na
//bgcolor(testPeriodBackgroundColor, transp=50)
testPeriod() => true
////////////////////////////////////////////////////////////////////////////////

src = close, len = input(27, minval=1, title="Length")
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))
window = input(10, "RSI MA Window")
ma = sma(rsi,window)
plot(rsi, color=color.orange)
colorr= ma > rsi ? color.red : color.green
plot(ma,color=colorr)
band1 = hline(70)
band0 = hline(30)
fill(band1, band0, color=color.purple, transp=90)
diff = rsi - ma

plot(diff,style= plot.style_columns,transp=50,color = colorr)

plotshape(crossunder(rsi,ma)?rsi:na,title="top",style=shape.triangledown,location=location.absolute,size=size.tiny,color=color.red,transp=0)
plotshape(crossover(rsi,ma)?rsi:na,title="bottom",style=shape.triangleup,location=location.absolute,size=size.tiny,color=color.lime,transp=0)

buySignal = crossover(rsi,ma)
sellSignal = crossunder(rsi,ma)

//TRADE CONTROL/////////////////////////////////////////////////////////////////
if testPeriod()
    if buySignal
        strategy.close("Short", qty_percent = 100, comment = "Close Short")
        strategy.entry("Long", strategy.long, qty=.1)

    if sellSignal
        strategy.close("Long", qty_percent = 100, comment = "Close Long")
        strategy.entry("Short", strategy.short, qty=.1)

////////////////////////////////////////////////////////////////////////////////