Esta estratégia é um sistema de negociação quantitativo que combina os indicadores Moving Average Convergence Divergence (MACD) e Relative Strength Index (RSI).
O indicador MACD calcula a diferença entre as médias móveis rápidas (12 períodos) e lentas (26-períodos), comparando-as com uma linha de sinal (9 períodos) para determinar a direção da tendência.
Os sinais de compra são gerados quando a linha MACD cruza acima da linha de sinal e o RSI está abaixo de 70 (nível de sobrecompra). Os sinais de venda são gerados quando a linha MACD cruza abaixo da linha de sinal e o RSI está acima de 30 (nível de sobrevenda). Este mecanismo de confirmação dupla efetivamente filtra sinais falsos.
O MACD-RSI Dynamic Crossover Quantitative Trading System é uma estratégia de negociação automatizada que combina indicadores clássicos de análise técnica. Através do mecanismo duplo de julgamento de tendência do MACD e confirmação de sobrecompra / sobrevenda do RSI, ele capta efetivamente pontos de virada do mercado. A estratégia oferece alta confiabilidade e forte adaptabilidade, mas os traders devem estar atentos aos riscos de mercado e atraso de sinal. Há espaço significativo para melhoria através da introdução de indicadores técnicos adicionais e otimização da confirmação de sinal. Na aplicação prática, os investidores devem ajustar os parâmetros com base em condições específicas do mercado e combinar com outros métodos de análise.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-03 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("MACD + RSI Strategy", overlay=true) // MACD settings fastLength = input.int(12, title="MACD Fast Length") slowLength = input.int(26, title="MACD Slow Length") signalSmoothing = input.int(9, title="MACD Signal Smoothing") // RSI settings rsiLength = input.int(14, title="RSI Length") rsiOverbought = input.float(70, title="RSI Overbought Level") rsiOversold = input.float(30, title="RSI Oversold Level") // Calculate MACD [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing) // Calculate RSI rsi = ta.rsi(close, rsiLength) // Generate buy and sell signals buySignal = ta.crossover(macdLine, signalLine) and rsi < rsiOverbought sellSignal = ta.crossunder(macdLine, signalLine) and rsi > rsiOversold // Plot buy and sell signals on chart plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Strategy entry and exit if buySignal strategy.entry("Buy", strategy.long) if sellSignal strategy.close("Buy") // Plot MACD and Signal Line plot(macdLine, color=color.blue, title="MACD Line") plot(signalLine, color=color.orange, title="Signal Line") // Plot RSI hline(rsiOverbought, "Overbought", color=color.red) hline(rsiOversold, "Oversold", color=color.green) plot(rsi, color=color.purple, title="RSI")