Combinación de indicadores MACD y RSI para operar en mercados volátiles


Fecha de creación: 2023-09-13 15:14:43 Última modificación: 2023-09-13 15:14:43
Copiar: 0 Número de Visitas: 749
1
Seguir
1617
Seguidores

Esta estrategia se llama “La estrategia de comercio de mercado de turbulencia de la fusión de indicadores MACD y RSI”. La estrategia está diseñada específicamente para el mercado de corrección de turbulencias de criptomonedas recientemente más expansivo, y forma una señal de comercio mediante la combinación del indicador de tendencia MACD y el indicador de dinámica RSI.

El MACD es un índice de promedio móvil diferencial, que puede determinar la tendencia del mercado y la inversión de tendencias. Cuando la línea rápida del MACD cruza la línea lenta, genera una señal de compra; y cuando la línea rápida cruza la línea lenta, genera una señal de venta.

El RSI es un indicador relativamente fuerte para determinar si el mercado está sobrecomprando o sobrevendendo. Si el RSI es superior a 50, significa que está sobrecomprando. Si el RSI es inferior a 50, significa que está sobrevendido.

Las estrategias de negociación son las siguientes:

Cuando el MACD cruza la línea lenta en la línea rápida, lo que representa una tendencia a corto plazo de reversión a la baja, pero la señal de compra debe ser confirmada en el RSI bajo (<< el parámetro predeterminado) para evitar pérdidas en la reversión de la zona de sobrecompra;

Cuando el MACD cruza la línea lenta por debajo de la línea rápida, representa una tendencia a corto plazo que se desvía hacia abajo, pero debe estar en la parte alta del RSI (por encima de los parámetros predeterminados) para confirmar una señal de venta y evitar pérdidas de reversión en la zona de sobreventa.

Esta estrategia se aplica a los mercados de criptomonedas más recientemente desarrollados y con mayor volatilidad, aprovechando las oportunidades de reversión de los niveles altos y bajos para obtener ganancias. Sin embargo, se deben tomar medidas de detención para limitar las pérdidas individuales. Además, los parámetros MACD y RSI necesitan ajustarse según el mercado para generar una señal de negociación más confiable.

En general, el uso combinado de los indicadores MACD y RSI puede mejorar la efectividad de la estrategia de negociación para compensar los mercados convulsionados. Sin embargo, ningún indicador técnico puede predecir el mercado a la perfección, y los comerciantes deben mantener el juicio sobre las tendencias del mercado y la flexibilidad para ajustar la estrategia.

Código Fuente de la Estrategia
/*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)