
A estratégia é um sistema de negociação quantitativa que combina o indicador de tendência de desvio de média móvel (MACD) e o indicador de força relativa (RSI). A estratégia identifica os pontos de reversão da tendência do mercado através da análise dos sinais de cruzamento e dos níveis de sobrevenda e sobrevenda desses dois indicadores técnicos, para tomar decisões de negociação. O sistema é executado de forma programada e é capaz de capturar automaticamente oportunidades de mercado e negociar.
A lógica central da estratégia baseia-se em dois principais indicadores técnicos: o MACD e o RSI. O indicador MACD é usado para determinar a direção da tendência através da comparação da diferença entre a média móvel rápida (fase 12) e a média móvel lenta (fase 26) e a linha de sinal (fase 9). O indicador RSI é usado para determinar se o mercado está sobrecomprado ou sobrevendido através da comparação da força relativa de 14 ciclos.
O sistema gera um sinal de compra quando a linha MACD atravessa a linha de sinal para cima e o RSI é inferior a 70 (nível de overbought); quando a linha MACD atravessa a linha de sinal para baixo e o RSI é superior a 30 (nível de oversold), o sistema gera um sinal de venda. Este mecanismo de dupla confirmação pode filtrar eficazmente os falsos sinais.
O MACD-RSI Dynamic Cross Quantification Trading System é uma estratégia de negociação automatizada combinada com a análise técnica de indicadores clássicos. O mecanismo duplo de determinação de tendências MACD e confirmação de overbought e oversold pelo RSI permite capturar efetivamente os pontos de inflexão do mercado. A estratégia possui vantagens como alta confiabilidade e capacidade de ajuste, mas também precisa prestar atenção ao risco de mercado de turbulência e atraso de sinal.
/*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")