Esta estratégia é chamada de “MACD” e “RSI” e foi projetada especificamente para o mercado de câmbio de criptomoedas mais recente e mais expansivo, formando um sinal de negociação através da combinação do MACD e do RSI.
O MACD é um índice de média móvel diferencial, que pode determinar a tendência do mercado e a reversão da tendência. Quando a linha rápida do MACD atravessa a linha lenta, gera um sinal de compra; e quando a linha rápida atravessa a linha lenta, gera um sinal de venda.
O RSI é um indicador de fraqueza relativamente forte, que determina o mercado de sobrecompra e sobrevenda. O RSI acima de 50 indica sobrecompra e abaixo de 50 indica sobrevenda. Esta estratégia usa o indicador RSI para filtrar parte do sinal de ruído gerado pelo indicador MACD.
A estratégia de negociação é a seguinte:
Quando o MACD atravessa a linha lenta na linha rápida, representando a tendência de curto prazo de uma reviravolta de baixa, mas deve ser confirmado um sinal de compra no RSI baixo (< o parâmetro predefinido) para evitar perdas em uma reviravolta de zona de sobrecompra;
Quando o MACD cruza a linha lenta abaixo da linha rápida, representando a tendência de curto prazo de uma reviravolta para baixo, mas deve ser confirmado um sinal de venda no RSI alto (mais alto do que o parâmetro predefinido) para evitar perdas de reviravolta na área de oversold.
A estratégia é aplicada em mercados de criptomoedas mais desenvolvidos, onde os altos e baixos são reversíveis, mas as medidas de parada devem ser tomadas para limitar perdas individuais. Além disso, os parâmetros MACD e RSI precisam ser ajustados de acordo com o mercado para produzir um sinal de negociação mais confiável.
Em geral, a combinação dos indicadores MACD e RSI pode melhorar a eficácia da estratégia de negociação para os mercados de liquidação de turbulência. No entanto, nenhum indicador técnico pode prever o mercado perfeitamente, e os comerciantes precisam manter o julgamento das tendências do mercado e ajustar a estratégia com flexibilidade.
/*backtest
start: 2022-09-06 00:00:00
end: 2023-03-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Range Strat - MACD/RSI",
overlay=true,
default_qty_type=strategy.percent_of_equity,
default_qty_value=100, precision=2, initial_capital=100,
pyramiding=2,
commission_value=0.05)
// Make input options that configure backtest date range
startDate = input(title="Start Date", defval=13)
startMonth = input(title="Start Month", defval=6)
startYear = input(title="Start Year", defval=2022)
endDate = input(title="End Date", defval=1)
endMonth = input(title="End Month", defval=7)
endYear = input(title="End Year", defval=2200)
// Look if the close time of the current bar
// falls inside the date range
inDateRange = (time >= timestamp(syminfo.timezone, startYear,
startMonth, startDate, 0, 0)) and
(time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0))
// RSI Settings
length = input( 14 )
overSold = input( 55 )
overBought = input( 50 )
price = open
vrsi = ta.rsi(price, length)
cu = (vrsi <= overSold)
co = (vrsi >= overBought)
//MACD Settings
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ta.ema(open, fastLength) - ta.ema(open, slowlength)
aMACD = ta.ema(MACD, MACDLength)
delta = MACD - aMACD
MACDco = ta.crossover(delta, 0)
MACDcu = ta.crossunder(delta, 0)
// Strategy Entry
if (not na(vrsi))
if (inDateRange and MACDco and cu)
strategy.entry("LONG", strategy.long, comment="LONG")
if (inDateRange and MACDcu and co)
strategy.entry("SHORT", strategy.short, comment="SHORT")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)