Esta estratégia é um sistema de negociação que combina o índice de força relativa (RSI) com a média móvel (MA). O mecanismo principal utiliza o RSI para capturar as mudanças do ímpeto do preço, incorporando uma média móvel de 90 dias como um filtro de tendência, rastreando efetivamente as tendências do mercado.
A estratégia baseia-se em vários componentes essenciais:
Os sinais de compra são acionados quando o RSI cruza acima de 70, enquanto os sinais de venda são gerados quando o RSI cai abaixo de 62.
Recomendações de controlo de riscos:
Optimização do sistema de sinalização:
Optimização de Gestão de Posição:
Optimização do controlo de riscos:
Optimização do sistema de backtesting:
A estratégia constrói um sistema de negociação relativamente completo, combinando o indicador de impulso do RSI com o filtro de tendência do MA. Seus pontos fortes estão na forte adaptabilidade e no controle abrangente do risco, mas deve ser dada atenção à sensibilidade dos parâmetros e às mudanças do ambiente de mercado. Através das direções de otimização sugeridas, a estratégia tem espaço significativo para melhoria para melhorar ainda mais sua estabilidade e lucratividade.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Simple RSI Strategy - Adjustable Levels with Lookback Limit and 30-Day MA", overlay=true) // Parameters rsi_length = input.int(12, title="RSI Length", minval=1) // RSI period rsi_overbought = input.int(70, title="RSI Overbought Level", minval=1, maxval=100) // Overbought level rsi_oversold = input.int(62, title="RSI Oversold Level", minval=1, maxval=100) // Oversold level ma_length = input.int(90, title="Moving Average Length", minval=1) // Moving Average period // Calculate lookback period (2000 days) lookback_period = 2500 start_date = timestamp(year(timenow), month(timenow), dayofmonth(timenow) - lookback_period) // RSI Calculation rsi_value = ta.rsi(close, rsi_length) // 30-Day Moving Average Calculation ma_value = ta.sma(close, ma_length) // Buy Condition: Buy when RSI is above the overbought level long_condition = rsi_value > rsi_overbought // Sell Condition: Sell when RSI drops below the oversold level sell_condition = rsi_value < rsi_oversold // Check if current time is within the lookback period in_lookback_period = (time >= start_date) // Execute Buy with 100% equity if within lookback period if (long_condition and strategy.position_size == 0 and in_lookback_period) strategy.entry("Buy", strategy.long, qty=strategy.equity / close) if (sell_condition and strategy.position_size > 0) strategy.close("Buy") // Plot RSI on a separate chart for visualization hline(rsi_overbought, "Overbought", color=color.red) hline(rsi_oversold, "Oversold", color=color.green) plot(rsi_value, title="RSI", color=color.blue) // Plot the 30-Day Moving Average on the chart plot(ma_value, title="30-Day MA", color=color.orange, linewidth=2)