Estratégia de sinal de crossover com base nos indicadores MACD e RSI


Data de criação: 2023-12-18 17:19:03 última modificação: 2023-12-18 17:19:03
cópia: 0 Cliques: 966
1
focar em
1621
Seguidores

Estratégia de sinal de crossover com base nos indicadores MACD e RSI

Visão geral

Esta estratégia usa o indicador MACD para avaliar a tendência do mercado e procurar possíveis pontos de compra e venda, e, em combinação com o indicador RSI para confirmar o fenômeno de sobrevenda e venda, quando o indicador MACD emite um sinal de compra / venda, apenas quando o RSI também confirma que o mercado está em um estado de sobrevenda / venda, é gerado um sinal de negociação, compra ou venda. A estratégia pode filtrar efetivamente os falsos sinais e melhorar a estabilidade da estratégia.

Princípio da estratégia

Cálculo do indicador MACD

O indicador MACD é composto por uma média móvel rápida (EMA) e uma média móvel lenta, que refletem a diferença entre as tendências de mudança de preços médias de curto e longo prazo. Nesta estratégia, a linha rápida tem um período de 12 dias e a linha lenta tem um período de 26 dias.

Quando a linha rápida atravessa a linha lenta, é um sinal de golden fork, indicando que o mercado está entrando em uma tendência ascendente; quando a linha rápida atravessa a linha lenta, é um sinal de dead fork, indicando que o mercado está entrando em uma tendência descendente.

Calculação do RSI

O indicador RSI reflete o fenômeno de sobrecompra e sobrevenda no mercado. Nesta estratégia, o RSI tem um parâmetro de ciclo de 14 anos.

RSI BELOW 30 when buyers outpaced sellers for an extended period suggests ASSET was OVERSOLD.

RSI ABOVE 70 when selling pressure outpaced buying pressure over the tracked timeline suggests ASSET was OVERBOUGHT.

Quando o RSI está abaixo de 30, o mercado está em um estado de sobrevenda; quando o RSI está acima de 70, o mercado está em um estado de sobrecompra.

Sinais estratégicos

A estratégia utiliza o indicador RSI para filtrar o sinal de negociação. O indicador RSI só é usado para gerar o sinal de negociação real quando o MACD emite o sinal e o RSI também confirma o estado de sobrecompra e sobrevenda do mercado.

Concretamente, quando o MACD forma um sinal de golden fork, se o RSI <= 34, confirma que o mercado está em um estado de sobrevenda, gera um sinal de compra; quando o MACD forma um sinal de dead fork, se o RSI > = 75, confirma que o mercado está em um estado de sobrevenda, gera um sinal de venda.

Este mecanismo de dupla confirmação pode filtrar muitos sinais de negociação não confiáveis, aumentando a estabilidade e a confiabilidade da estratégia.

Análise de vantagens

Filtragem de duplo indicador para aumentar a confiabilidade do sinal

Esta estratégia usa o MACD em combinação com os dois indicadores do RSI para a dupla confirmação. Isso pode efetivamente reduzir a interferência de falsos sinais e filtrar alguns sinais de negociação não confiáveis, aumentando a confiabilidade e a estabilidade do sinal.

A tendência é clara.

O MACD, como um indicador de preços, pode determinar claramente a tendência de queda e queda do mercado. Combinado com o indicador RSI, o julgamento de sobrecompra e sobrevenda pode capturar com precisão os pontos de reversão importantes do mercado, e os sinais de entrada e saída de posição são claros.

Parâmetros de otimização de espaço grande

Os parâmetros da estratégia MACD e RSI podem ser ajustados de forma otimizada, adaptando-se a diferentes períodos e diferentes variedades, com maior espaço de otimização. Através do ajuste de parâmetros, pode-se fazer ajustes geográficos específicos para obter melhores efeitos da estratégia.

Implementação fácil de entender

Os indicadores MACD e RSI usados pela estratégia são indicadores técnicos muito típicos e usados, fáceis de entender e a implementação do código é muito simples e intuitiva. Isso facilita o ajuste e a otimização dos parâmetros.

Análise de Riscos

Pode ter perdido alguns negócios.

Esta estratégia usa uma estratégia de dupla confirmação mais cautelosa, filtrando sinais falsos que podem perder oportunidades de negociação que podem ser lucrativas sob condições de um único indicador.

  • Solução: A liberação apropriada do limiar do RSI, reduzindo a rigidez da confirmação e permitindo mais oportunidades de negociação para a estratégia.

Perdas em situações de mudança dramática

Quando as condições do mercado mudam drasticamente, os indicadores MACD e RSI podem atrasar o julgamento, resultando em prejuízos com a estratégia de gerar sinais de negociação errados.

  • Solução: Adicionar um mecanismo de parada de prejuízos para evitar perdas individuais excessivas; ajustar os parâmetros para que o indicador tenha uma certa sensibilidade a mudanças drásticas.

Efeitos altamente correlacionados com a qualidade de configuração de parâmetros

A eficácia desta estratégia depende muito da configuração de parâmetros como MACD e RSI. Se os parâmetros forem mal configurados, é fácil obter um sinal de negociação invertido.

  • Solução: Optimizar a combinação de parâmetros por meio de feedback para encontrar a melhor configuração de parâmetros.

Direção de otimização

Adesão ao mecanismo de gestão de risco

Pode-se configurar uma regra de parada de preço ou de parada de indicador para parar a saída de perdas quando a perda se expande até um certo nível, controlando efetivamente a perda individual.

Ajustar os parâmetros para as características do caso

Pode-se ajustar os parâmetros do MACD para os períodos de linha rápida e lenta, e os parâmetros do RSI para os limiares de overbought e oversold, otimizando a configuração dos parâmetros para que eles sejam mais adequados para diferentes períodos e características do mercado.

Testar diferentes variedades para encontrar a melhor combinação

Pode-se fazer um teste de retorno em diferentes variedades, como índices de ações, moedas digitais, divisas estrangeiras, mercadorias, etc., para encontrar a melhor variedade de estratégia.

Adicionar outros indicadores para a confirmação multidimensional

Pode-se introduzir outros indicadores, como stoch, OBV, CCI, com base nos MACD e RSI existentes, para obter confirmação de vários indicadores e melhorar ainda mais a qualidade do sinal.

Resumir

Esta estratégia baseia-se no indicador MACD para determinar a direção da tendência do mercado e os sinais de negociação. Para filtrar os sinais falsos, o indicador RSI é adicionado para confirmar o fenômeno de sobrecompra e sobrevenda.

A eficácia da estratégia pode ser ainda melhorada através de melhorias como a otimização de parâmetros, a aplicação de mecanismos de parada de perdas e a confirmação de vários indicadores. A estratégia é fácil de operar, é mais estável e é uma estratégia de negociação quantitativa adequada para a prática e otimização de iniciantes.

Código-fonte da estratégia
/*backtest
start: 2023-11-17 00:00:00
end: 2023-12-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(default_qty_type = strategy.percent_of_equity, default_qty_value = 25, pyramiding = 10, title="MACD crossover while RSI Oversold/Overbought", overlay=true, shorttitle="MACD Cross + RSI Oversold Overbought", initial_capital = 1000)

//MACD Settings
fastMA = input(title="Fast moving average",  defval = 12, minval = 7) //7 16
slowMA = input(title="Slow moving average",  defval = 26, minval = 7) //24 26 
signalLength = input(9,minval=1) //9 6

//RSI settings
RSIOverSold = input(34 ,minval=1) //26
RSIOverBought = input(75 ,minval=1) //77
src = close, len = input(14, minval=1, title="Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
wasOversold = rsi[0] <= RSIOverSold or rsi[1] <= RSIOverSold or rsi[2] <= RSIOverSold or rsi[3] <= RSIOverSold or rsi[4] <= RSIOverSold or rsi[5] <= RSIOverSold
wasOverbought = rsi[0] >= RSIOverBought or rsi[1] >= RSIOverBought or rsi[2] >= RSIOverBought or rsi[3] >= RSIOverBought or rsi[4] >= RSIOverBought or rsi[5] >= RSIOverBought


[currMacd,_,_] = macd(close[0], fastMA, slowMA, signalLength)
[prevMacd,_,_] = macd(close[1], fastMA, slowMA, signalLength)
signal = ema(currMacd, signalLength)

crossoverBear = cross(currMacd, signal) and currMacd < signal ? avg(currMacd, signal) : na
crossoverBull = cross(currMacd, signal) and currMacd > signal ? avg(currMacd, signal) : na

plotshape(crossoverBear and wasOverbought , title='MACD-BEAR', style=shape.triangledown, text='overbought', location=location.abovebar, color=orange, textcolor=orange, size=size.tiny) 
plotshape(crossoverBull and wasOversold, title='MACD-BULL', style=shape.triangleup, text='oversold', location=location.belowbar, color=lime, textcolor=lime, size=size.tiny) 

// Configure backtest start date with inputs
startDate = input(title="Start Date",
     defval=8, minval=1, maxval=31)
startMonth = input(title="Start Month",
     defval=3, minval=1, maxval=12)
startYear = input(title="Start Year",
     defval=2021, minval=1800, maxval=2100)

afterStartDate = (time >= timestamp(syminfo.timezone,
     startYear, startMonth, startDate, 0, 0))
     
if (afterStartDate==true)
    posSize = abs(strategy.position_size)
    strategy.order("long", strategy.long, when = crossoverBull and wasOversold) 
    strategy.order("long", long=false, qty=posSize/3, when = crossoverBear and wasOverbought)