
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
/*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)