Esta estratégia é um sistema de negociação de reversão de faixa dinâmica baseado no indicador RSI, capturando pontos de virada do mercado através de zonas de sobrecompra/supervenda ajustáveis combinadas com parâmetros de sensibilidade de convergência/divergência. A estratégia emprega um número fixo de contratos para negociação e opera dentro de um prazo específico de backtesting. O núcleo deste modelo consiste em identificar condições de supercompra e supervenda do mercado através de mudanças dinâmicas do RSI e executar negociações de reversão no momento apropriado.
A estratégia utiliza um RSI de 14 períodos como seu indicador principal, definindo 80 e 30 como níveis de referência de sobrecompra e sobrevenda. Ao introduzir um parâmetro de sensibilidade de convergência / divergência (definido em 3.0), ele adiciona capacidade de ajuste dinâmico à estratégia tradicional do RSI. As posições longas são estabelecidas quando o RSI ultrapassa o nível de sobrecompra e fechadas quando o RSI cai abaixo do nível de sobrevenda. Da mesma forma, as posições longas são estabelecidas quando o RSI cai abaixo do nível de sobrevenda e fechadas quando o RSI ultrapassa o nível de sobrecompra.
Esta é uma estratégia de inversão de faixa dinâmica baseada no indicador RSI, alcançando um sistema de negociação relativamente completo através de configurações de parâmetros flexíveis e regras de negociação claras. As principais vantagens da estratégia estão em sua capacidade de ajuste dinâmico e controle de risco claro, enquanto é necessário prestar atenção aos riscos potenciais em mercados agitados e em tendência. Através de medidas de otimização, como ajuste de volatilidade e filtragem de tendências, a estratégia tem espaço para melhoria adicional.
/*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("RSI Options Strategy", overlay=true) // RSI settings rsiLength = input(14, title="RSI Length") rsiOverbought = input(80, title="Overbought Level") rsiOversold = input(30, title="Oversold Level") rsiSource = input(close, title="RSI Source") rsi = ta.rsi(rsiSource, rsiLength) // Convergence/Divergence Input convergenceLevel = input(3.0, title="Convergence/Divergence Sensitivity") // Order size (5 contracts) contracts = 10 // Date Range for Backtesting startDate = timestamp("2024-09-10 00:00") endDate = timestamp("2024-11-09 23:59") // Limit trades to the backtesting period inDateRange = true // RSI buy/sell conditions with convergence/divergence sensitivity buySignalOverbought = ta.crossover(rsi, rsiOverbought - convergenceLevel) sellSignalOversold = ta.crossunder(rsi, rsiOversold + convergenceLevel) buySignalOversold = ta.crossunder(rsi, rsiOversold - convergenceLevel) sellSignalOverbought = ta.crossover(rsi, rsiOverbought + convergenceLevel) // Execute trades only within the specified date range if (inDateRange) // Buy when RSI crosses above 80 (overbought) if (buySignalOverbought) strategy.entry("Buy Overbought", strategy.long, qty=contracts) // Sell when RSI crosses below 30 (oversold) if (sellSignalOversold) strategy.close("Buy Overbought") // Buy when RSI crosses below 30 (oversold) if (buySignalOversold) strategy.entry("Buy Oversold", strategy.long, qty=contracts) // Sell when RSI crosses above 80 (overbought) if (sellSignalOverbought) strategy.close("Buy Oversold") // Plot the RSI for visualization plot(rsi, color=color.blue, title="RSI") hline(rsiOverbought, "Overbought", color=color.red) hline(rsiOversold, "Oversold", color=color.green)