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.
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.
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)