Estratégia de negociação de criptomoedas com retrocesso baseada no crossover entre o RSI estocástico e a EMA

Autora:ChaoZhang, Data: 2024-03-08 16:44:51
Tags:

img

Estratégia geral

Esta estratégia combina o RSI estocástico e o EMA para detectar tendências e verificar sinais de negociação. Quando o preço retrocede acima da EMA20 para entre a EMA9 e a EMA14, e o RSI estocástico está abaixo do nível de sobrevenda, um sinal longo é gerado; quando o preço retrocede abaixo da EMA20 para entre a EMA9 e a EMA14, e o RSI estocástico está acima do nível de sobrecompra, um sinal curto é gerado.

Princípios de estratégia

  1. Utilize a função ta.ema para calcular 3 EMAs com períodos diferentes, a saber, EMA9, EMA14 e EMA20, para determinar a tendência do preço.
  2. Utilize a função ta.rsi para calcular o indicador RSI, em seguida, use a função ta.stoch para converter o RSI para o indicador RSI estocástico para determinar se o preço está sobrecomprado ou sobrevendido.
  3. Quando o preço de encerramento > EMA20 e o preço de encerramento < EMA9 e EMA14, e o RSI estocástico < nível de sobrevenda, é desencadeado um sinal longo e executada uma operação de compra.
  4. Quando o preço de fechamento < EMA20 e o preço de fechamento > EMA9 e EMA14, e o RSI estocástico > ultrapassarem o nível de compra, desencadeia-se um sinal curto e é executada uma operação de venda.

A ideia central desta estratégia é usar o RSI estocástico para determinar se o retração de preços na tendência principal (representada pela EMA20) atingiu uma área de sobrecompra ou sobrevenda apropriada, enquanto usa a EMA rápida e a EMA média para verificar a força do retração. Se o preço atravessar a EMA rápida e a EMA média, o retração pode terminar e a tendência pode se inverter, o que não é adequado para entrar em uma posição. Somente quando o preço se retraça entre a EMA9 e a EMA14 é considerado para entrar em uma posição na direção da tendência. Este método de verificação multi-condicional pode efetivamente melhorar a qualidade do sinal e reduzir julgamentos errados.

Vantagens da estratégia

  1. Combina indicadores de tendência (EMA) e indicadores de oscilador (RSI) para compreender melhor a tendência e o momento de sobrecompra/supervenda.
  2. Adota o RSI estocástico, que tem duas vantagens em comparação com o indicador RSI original: uma é o aumento da suavidade do indicador e a outra é evitar que o indicador se apegar a valores extremos por um longo tempo.
  3. A verificação multicondicional pode filtrar eficazmente muitos sinais falsos e melhorar a fiabilidade dos sinais.
  4. A lógica do código é clara e simples, fácil de entender e modificar, e pode ser usada como um modelo para os iniciantes aprenderem.

Riscos estratégicos

  1. Não é adequado para mercados laterais, porque as EMAs se cruzam frequentemente, o que pode produzir muitos sinais falsos.
  2. Se a tendência for muito forte e o preço subir ou cair unilateralmente, esta estratégia perderá muitas oportunidades porque o retrocesso é muito raso.
  3. A selecção dos parâmetros da EMA tem um grande impacto na estratégia e deve ser ajustada separadamente para diferentes variedades e períodos.
  4. Os parâmetros do RSI estocástico também precisam ser ajustados de acordo com a situação real, e os valores padrão atuais podem não funcionar bem em algumas variedades.

Orientações de otimização

  1. Considerar a introdução do indicador ATR para ajustar dinamicamente os níveis de sobrecompra e sobrevenda para se adaptarem aos diferentes níveis de volatilidade.
  2. Adicionar mais EMAs com períodos diferentes para descrever com mais precisão a posição das retrações de preços.
  3. A taxa de prejuízo e a taxa de prejuízo devem também ser consideradas, utilizando uma taxa de prejuízo em percentagem ou uma taxa de prejuízo ATR, e uma taxa de prejuízo posterior para proteger os lucros.
  4. Os padrões de velas, tais como barras de alfinetes e padrões de engulfamento, podem ser usados para ajudar a julgar inversões de tendência como condições suplementares para melhorar a precisão.

Resumo

Esta estratégia usa o RSI estocástico combinado com a verificação multicondicional da EMA para controlar efetivamente o risco enquanto capta retracements de tendência. A ideia geral é simples e fácil de entender, adequada para iniciantes aprenderem e usarem. No entanto, a própria estratégia também tem algumas limitações, como mau desempenho em mercados laterais, compreensão insuficiente dos movimentos de tendência, etc., que precisam ser ajustados de forma flexível de acordo com a situação real. No futuro, também pode ser considerada a otimização e melhoria da estratégia a partir de aspectos como parâmetros dinâmicos, mais verificação de indicadores e gerenciamento de dinheiro para obter retornos mais robustos. Em geral, esta estratégia pode servir como um modelo básico que pode ser modificado e expandido, e é um bom ponto de partida e aprendizado.


/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Crypto-EMA_Pullback=-", overlay=true,initial_capital = 10000000,default_qty_type=strategy.percent_of_equity, default_qty_value=10.0, pyramiding = 10)

// Inputs
lengthRsi = input(14, title="RSI Length")
k = input(3, title="Stoch %K")
d = input(3, title="Stoch %D")
lengthStoch = input(14, title="Stochastic RSI Length")
overSold = input(25, title="Oversold Level")
overBought = input(85, title="Overbought Level")
emaFastLength = input(9, title="Fast EMA Length")
emaMediumLength = input(14, title="Medium EMA Length")
emaSlowLength = input(20, title="Slow EMA Length")

// Calculating EMAs
emaFast = ta.ema(close, emaFastLength)
emaMedium = ta.ema(close, emaMediumLength)
emaSlow = ta.ema(close, emaSlowLength)

// Calculating the RSI and Stoch RSI
rsi = ta.rsi(close, lengthRsi)
stochRsiK = ta.sma(ta.stoch(rsi, rsi, rsi, lengthStoch), k)
stochRsiD = ta.sma(stochRsiK, d)

// Entry Conditions
bullishCondition = close > emaSlow and close < emaFast and close < emaMedium and stochRsiK < overSold
bearishCondition = close < emaSlow and close > emaFast and close > emaMedium and stochRsiK > overBought

// Strategy Execution
if (bullishCondition)
    strategy.entry("Long", strategy.long)

if (bearishCondition)
    strategy.entry("Short", strategy.short)

// Plotting
plot(emaFast, color=color.blue, title="Fast EMA")
plot(emaMedium, color=color.orange, title="Medium EMA")
plot(emaSlow, color=color.red, title="Slow EMA")
hline(overSold, "Oversold", color=color.green)
hline(overBought, "Overbought", color=color.red)


Mais.