Esta estrategia utiliza el indicador MACD para determinar la tendencia del indicador RSI, generando señales comerciales.
La estrategia se basa en dos indicadores principales:
Indicador de riesgo Calcula el RSI regular de 14 períodos.
MACD del RSI Calcula los valores MACD en el RSI, con el MA rápido predeterminado 12, el MA lento 26, la línea de señal 9.
Cuando el MACD del RSI se cruza hacia arriba, el cruce dorado de los MA rápidos y lentos, determina una tendencia alcista y va largo.
Cuando el MACD se cruza hacia abajo, el MAC rápido y lento se cruzan, determina una tendencia bajista y se queda corto.
Los promedios móviles exponenciales del MACD ayudan a determinar la tendencia a largo plazo del propio RSI, lo que resulta en señales más precisas.
Los riesgos pueden reducirse:
La estrategia puede mejorarse a partir de:
Prueba de combinaciones de parámetros RSI y MACD
Añadir confirmación secundaria cuando el MACD señala
Por ejemplo, patrones de candlestick, volumen, bandas de Bollinger, etc.
Optimización de las paradas a las paradas de seguimiento
Añadir normas de reingreso
Reestablecer posiciones después de que se alcancen paradas si la tendencia continúa
Ajuste del tamaño de las posiciones por volatilidad
Tamaño más pequeño en caso de alta volatilidad, mayor en caso de baja volatilidad
Esta estrategia combina los indicadores RSI y MACD para verificarse entre sí para una detección de tendencia más precisa y estable. Pero los parámetros necesitan optimización, y se requieren filtros técnicos o reglas comerciales adicionales para la confirmación, evitando eventos repentinos. También son importantes los mecanismos de stop loss y el tamaño dinámico de la posición.
/*backtest start: 2022-09-14 00:00:00 end: 2023-09-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "MACD of RSI", overlay = false) //////////////////////// RSI /////////////////////////// src = close, len = input(14, minval=1, title="Length") up = sma(max(change(src), 0), len) down = sma(-min(change(src), 0), len) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) //////////////////////// RSI ////////////////////////// //////////////// MACD //////////////////////////// sourcemacd = rsi fastLength = input(12, minval=1), slowLength=input(26,minval=1) signalLength=input(9,minval=1) fastMA = ema(sourcemacd, fastLength) slowMA = ema(sourcemacd, slowLength) macd = fastMA - slowMA signal = ema(macd, signalLength) delta=macd-signal swap1 = delta>0?green:red plot(delta,color=swap1,style=columns,title='Histo',histbase=0,transp=20) p1 = plot(macd,color=blue,title='MACD Line') p2 = plot(signal,color=red,title='Signal') fill(p1, p2, color=blue) hline(0) /////////////////////////MACD ////////////////////////// // Conditions longCond = na sellCond = na longCond := crossover(delta,0) sellCond := crossunder(delta,0) monthfrom =input(6) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( longCond ) strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY") else strategy.cancel(id="BUY") if ( sellCond ) strategy.close("BUY")