Múltiplas estratégias MACD e RSI

Autora:ChaoZhang, Data: 2023-10-08 14:03:47
Tags:

Resumo

A estratégia Multiple MACD e RSI utiliza de forma abrangente os sinais do indicador MACD e do indicador RSI. Ela vai longa quando as linhas rápidas e lentas dos dois MACD se cruzam e o RSI está abaixo do nível de sobrecompra, e vai curta quando as linhas rápidas e lentas dos dois MACD se cruzam e o RSI entra no nível de sobrevenda, com o objetivo de capturar tendências de médio e longo prazo.

Princípio

Esta estratégia emprega dois indicadores MACD para gerar sinais. Um MACD tem parâmetros de comprimento rápido 10, comprimento lento 22 e comprimento MACD 9. O outro MACD tem parâmetros de comprimento rápido 21, comprimento lento 45 e comprimento MACD 20. Ele gera um sinal de compra quando as linhas rápidas de ambos os MACD cruzam acima de suas linhas lentas e um sinal de venda quando as linhas rápidas de ambos os MACD cruzam abaixo de suas linhas lentas.

Enquanto isso, ele incorpora o indicador RSI para julgar condições de sobrecompra e sobrevenda. O parâmetro RSI é definido como 14, com nível de sobrecompra em 70 e nível de sobrevenda em 20. Ele pode comprar quando o RSI está abaixo do nível de sobrecompra e vender quando o RSI está acima do nível de sobrevenda.

Somente quando ambos os MACDs geram um sinal de compra e o RSI não estiver sobrecomprado, uma entrada longa será acionada.

Vantagens

A maior vantagem desta estratégia é que utiliza indicadores MACD duplos para filtrar alguns sinais falsos e só entra quando ambos os MACDs emitem sinais.

Além disso, a incorporação de RSI para julgar as condições de sobrecompra/supervenda evita o longo/curto quando o preço já está em forte tendência, reduzindo assim os riscos de perda.

Combinando a dupla filtragem MACD e o julgamento RSI, esta estratégia só opera em mercados de tendência e pode obter lucros decentes das tendências de médio prazo.

Riscos

Esta estratégia também possui alguns riscos. A filtragem dupla do MACD pode perder o momento da reversão do preço e levar a perdas ampliadas. Ir longo quando ambos os MACD são cruzamento positivo e o RSI não está sobrecomprado ainda pode já ter perdido o fundo e levar a perdas.

Além disso, o próprio MACD é muito sensível às características dos mercados de negociação. Os parâmetros do MACD precisam ser ajustados para que diferentes ciclos de negociação e ambientes de mercado tenham efeito. Se os parâmetros não forem definidos corretamente, ele é propenso a gerar sinais falsos e causar perdas.

Além disso, o RSI pode produzir múltiplos sinais de sobrecompra / sobrevenda.

Optimização

Alguns aspectos podem ser considerados para otimizar esta estratégia:

  1. Otimizar os parâmetros MACD, ajustar os comprimentos de linha rápido/lento para encontrar combinações ótimas de parâmetros MACD para diferentes produtos e prazos, melhorando a eficiência do sinal.

  2. Ajustar os parâmetros do RSI, reduzir ou ampliar moderadamente os níveis de sobrecompra/supervenda para otimizar o tempo de entrada.

  3. Adicionar estratégias de stop loss para reduzir as perdas quando o drawdown atingir um certo nível, evitando novas perdas.

  4. Considere a adição de julgamentos auxiliares como pontos de ruptura para confirmar ainda mais a tendência antes de entrar.

Conclusão

A estratégia Multiple MACD e RSI combina indicadores MACD e RSI duplos para melhorar a validade do sinal e pode obter lucros decentes de movimentos de tendências de médio e longo prazo.


/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-07 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("MACDbl RSI", overlay=true)

fastLength = input(10)
slowlength = input(22)
MACDLength = input(9)

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = sma(MACD, MACDLength)
delta = MACD - aMACD

fastLength2 = input(21)
slowlength2 = input(45)
MACDLength2 = input(20)

MACD2 = ema(open, fastLength2) - ema(open, slowlength2)
aMACD2 = sma(MACD2, MACDLength2)
delta2 = MACD2 - aMACD2

Length = input(14, minval=1)
Oversold = input(20, minval=1)
Overbought = input(70, minval=1)
xRSI = rsi(open, Length)


if (delta > 0) and (year>2015) and (delta2 > 0) and (xRSI < Overbought)
    strategy.entry("buy", strategy.long, comment="buy")

if (delta < 0) and (year>2015) and (delta2 < 0) and (xRSI > Oversold)
    strategy.entry("sell", strategy.short, comment="sell")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Mais.