Esta estratégia usa o indicador MACD para julgar as tendências do mercado e identificar pontos de negociação potenciais, ao mesmo tempo em que combina o indicador RSI para confirmar condições de sobrecompra/supervenda. Os sinais de negociação só são gerados quando o MACD dá um sinal de compra/venda e o RSI confirma simultaneamente que o mercado está sobrevendido/supercomprado. Isso pode efetivamente filtrar sinais falsos e melhorar a estabilidade da estratégia.
O indicador MACD consiste na diferença entre a EMA rápida e a EMA lenta, refletindo a diferença entre as tendências médias de preços a curto e a longo prazo.
Quando a linha rápida cruza acima da linha lenta, é um sinal de cruz dourada indicando uma tendência de alta.
O indicador RSI reflete as condições de sobrecompra/supervenda no mercado. O parâmetro do período RSI é definido em 14 nesta estratégia.
O RSI abaixo de 30 sugere que o ATIVO foi SUPERVENDIDO, uma vez que os compradores superaram os vendedores por um período prolongado.
O RSI acima de 70 sugere que o ATIVO estava sobrecarregado, já que a pressão de venda superou a pressão de compra no cronograma rastreado.
As leituras abaixo de 30 indicam condições de sobrevenda, enquanto as leituras acima de 70 indicam condições de sobrecompra.
Esta estratégia usa o RSI para filtrar os sinais, gerando apenas sinais de negociação reais quando o MACD dá um sinal e o RSI confirma simultaneamente extremos de sobrecompra / sobrevenda.
Especificamente, quando o MACD gera uma cruz de ouro, se o RSI<=34 ao mesmo tempo, confirmando um mercado sobrevendido, um sinal de compra é gerado.
Este mecanismo de confirmação dupla pode filtrar muitos sinais comerciais não confiáveis, melhorando assim a estabilidade e a fiabilidade da estratégia.
Esta estratégia combina os indicadores MACD e RSI para confirmação dupla, o que pode efetivamente reduzir a interferência de falsos sinais e filtrar alguns sinais comerciais não confiáveis, melhorando assim a confiabilidade e a estabilidade do sinal.
Como um indicador de preço e volume, o MACD pode determinar claramente as tendências ascendentes e descendentes do mercado.
Os parâmetros dos componentes MACD e RSI desta estratégia podem ser otimizados e ajustados para se adequarem a diferentes ciclos e instrumentos de negociação.
O MACD, RSI e outros indicadores utilizados nesta estratégia são indicadores técnicos muito típicos e comumente usados que são fáceis de entender.
Esta estratégia adota uma abordagem relativamente conservadora de confirmação dupla que, ao filtrar sinais falsos, pode causar algumas oportunidades de negociação perdidas que poderiam ter resultado em lucros com base num único sinal de indicador.
Em caso de volatilidade extrema do mercado, os indicadores MACD e RSI podem atrasar a tomada de decisões, o que pode conduzir a sinais comerciais incorretos gerados pela estratégia e a perdas incorridas.
O desempenho desta estratégia depende em grande parte da qualidade do MACD, RSI e outras configurações de parâmetros.
As regras de stop loss baseadas em preços ou indicadores podem ser implementadas para posições de saída com um limiar de perda admissível pré-definido, limitando efetivamente as perdas em operações individuais.
Otimização contínua de parâmetros-chave como os períodos de linha rápida/lenta do MACD e os limiares de sobrecompra/supervenda do RSI para alinhá-los com a evolução das estruturas do ciclo e com as peculiaridades dos diferentes instrumentos de negociação.
Realizar backtests em índices de ações, criptomoedas, pares de divisas, commodities e outros ativos para descobrir qual o mercado mais adequado às características da estratégia.
Indicadores como Stochastics, OBV, CCI etc. podem ser adicionados aos componentes MACD e RSI para maior precisão de confirmação através de uma abordagem de filtragem de sinal multidimensional.
Esta estratégia determina as tendências do mercado e os sinais comerciais com base no indicador MACD, enquanto o RSI confirma condições de sobrecompra/supervenda para filtrar sinais falsos.
O desempenho pode ser melhorado ainda mais através de técnicas de otimização, stop losses, confirmação multiprong, etc. Com lógica simples e boa estabilidade, serve como uma boa estratégia de partida para os principiantes praticarem e otimizarem.
/*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)