Esta é uma estratégia de seguimento de tendências que combina médias móveis de dois períodos (21-dia e 55-dia), indicador de impulso do RSI e análise de volume. A estratégia analisa informações de mercado a partir de três dimensões - preço, impulso e volume - enquanto confirma a direção da tendência e filtra sinais de negociação através de indicadores de RSI e volume para melhorar a precisão da negociação. A estratégia requer que o preço atravesse a média móvel de curto prazo, o RSI cruze acima de sua média e aumente o volume para confirmar a validade da tendência.
A estratégia utiliza um mecanismo de filtragem tripla:
As condições de compra exigem todos os seguintes elementos:
As condições de venda exigem qualquer uma das seguintes condições:
Esta é uma estratégia de seguimento de tendências que utiliza de forma abrangente os três elementos essenciais da análise técnica (preço, volume, impulso). Através de múltiplos mecanismos de filtragem, a estratégia garante a confiabilidade do sinal, mantendo as capacidades de controle de risco. Embora tenha algumas limitações inerentes, através de otimização e melhoria contínua, a estratégia tem o potencial de alcançar retornos estáveis na negociação real. A estratégia pode funcionar particularmente bem em mercados com tendências claras e liquidez suficiente.
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-04 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("21/55 MA with RSI Crossover", overlay=true) // Inputs for moving averages ma21_length = input.int(21, title="21-day Moving Average Length", minval=1) ma55_length = input.int(55, title="55-day Moving Average Length", minval=1) // RSI settings rsi_length = input.int(13, title="RSI Length", minval=1) rsi_avg_length = input.int(13, title="RSI Average Length", minval=1) // Moving averages ma21 = ta.sma(close, ma21_length) ma55 = ta.sma(close, ma55_length) // Volume settings vol_ma_length = input.int(21, title="Volume MA Length", minval=1) // Volume moving average vol_ma = ta.sma(volume, vol_ma_length) // RSI calculation rsi = ta.rsi(close, rsi_length) rsi_avg = ta.sma(rsi, rsi_avg_length) // Buy condition // buy_condition = close > ma21 and ta.crossover(rsi, rsi_avg) and volume > vol_ma buy_condition = close > ma21 and rsi > rsi_avg and volume > vol_ma // Sell condition // sell_condition = close < ma55 or ta.crossunder(rsi, rsi_avg) sell_condition = ta.crossunder(close, ma55) or ta.crossunder(rsi, rsi_avg) // Execute trades if (buy_condition) strategy.entry("Buy", strategy.long, comment="Buy Signal") if (sell_condition) strategy.close("Buy", comment="Sell Signal") // Plot moving averages for reference plot(ma21, color=color.blue, title="21-day MA") plot(ma55, color=color.red, title="55-day MA") // Plot RSI and RSI average for reference rsi_plot = input.bool(true, title="Show RSI?", inline="rsi") plot(rsi_plot ? rsi : na, color=color.green, title="RSI") plot(rsi_plot ? rsi_avg : na, color=color.orange, title="RSI Average")