MACD de la estrategia de negociación del RSI

El autor:¿ Qué pasa?, Fecha: 2023-09-21 20:48:50
Las etiquetas:

Resumen general

Esta estrategia utiliza el indicador MACD para determinar la tendencia del indicador RSI, generando señales comerciales.

Estrategia lógica

La estrategia se basa en dos indicadores principales:

  1. Indicador de riesgo Calcula el RSI regular de 14 períodos.

  2. 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.

Ventajas

  • El MACD juzga la dirección de la tendencia del RSI para una mayor precisión
  • RSI como indicador principal, MACD como indicador secundario
  • Las MAs exponenciales hacen que la determinación de tendencias sea estable
  • Las combinaciones se verifican entre sí, evitando problemas.
  • El ajuste de parámetros proporciona flexibilidad para diferentes mercados

Los riesgos

  • Tanto el RSI como el MACD pueden retrasarse, lo que lleva a señales inexactas
  • Los parámetros MACD incorrectos pueden generar más señales falsas
  • Basado únicamente en indicadores, sensible a eventos repentinos
  • El mecanismo de suspensión de pérdidas necesita nuevas mejoras
  • Optimización de parámetros requerida para diferentes productos

Los riesgos pueden reducirse:

  • Optimización de las combinaciones de parámetros RSI y MACD
  • Añadir otros filtros para confirmación
  • TP/SL relajado para evitar una salida prematura
  • Considerando las reingresas
  • Tamaño de las posiciones para limitar la pérdida única

Direcciones de mejora

La estrategia puede mejorarse a partir de:

  1. Prueba de combinaciones de parámetros RSI y MACD

  2. Añadir confirmación secundaria cuando el MACD señala

    Por ejemplo, patrones de candlestick, volumen, bandas de Bollinger, etc.

  3. Optimización de las paradas a las paradas de seguimiento

  4. Añadir normas de reingreso

    Reestablecer posiciones después de que se alcancen paradas si la tendencia continúa

  5. 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

Resumen de las actividades

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")







Más.