Estrategia de negociación cuantitativa MACD doble

El autor:¿ Qué pasa?, Fecha: 2023-11-13 18:04:07
Las etiquetas:

img

Resumen general

Esta estrategia utiliza la combinación de sistemas EMA duales e indicadores RSI para determinar las tendencias del mercado mientras genera señales comerciales. Pertenece a las estrategias de seguimiento de tendencias. Esta estrategia simple y fácil de usar es aplicable a varios índices y criptomonedas importantes. Ha logrado más del 500% de rendimientos acumulados en backtests desde 2013 hasta la actualidad.

Estrategia lógica

Esta estrategia emplea dos MACD con diferentes parámetros como indicadores principales de negociación. El primer MACD adopta una EMA corta de 10 períodos, una EMA larga de 22 períodos y una línea de señal de 9 períodos. El segundo MACD utiliza una EMA corta de 21 períodos, una EMA larga de 45 períodos y una línea de señal de 20 períodos.

El primer MACD genera señales de compra cuando la línea DIFF cruza por encima de cero, y señales de venta cuando cruza por debajo de cero.

Además, la estrategia utiliza una fórmula de impulso de precios para determinar la tendencia. El último cierre + máximo dividido por el cierre anterior + máximo por encima de 1 indica una tendencia al alza y genera señales de compra, y viceversa para las señales de venta.

Por último, la línea K del RSI de Stoch por encima de 20 ayuda a confirmar las señales de venta.

Análisis de ventajas

El mecanismo EMA dual en esta estrategia puede filtrar eficazmente las fallas. La fórmula de impulso suplementario también evita señales erróneas causadas por la volatilidad. La incorporación del Stoch RSI evita perseguir los tops al emitir señales de venta alrededor de áreas sobrecompradas.

Esta estrategia sólo utiliza combinaciones simples de varios indicadores comunes sin relaciones lógicas demasiado complejas, lo que hace que sea muy fácil de entender y modificar.

Según los resultados de las pruebas de retroceso, esta estrategia ha logrado retornos acumulativos decentes y un control máximo de la reducción en varios productos como índices bursátiles y criptomonedas.

Análisis de riesgos

El principal riesgo de esta estrategia radica en el uso de medias móviles para las determinaciones, que pueden causar fácilmente problemas y pérdidas cuando los precios fluctúan violentamente.

La eficacia del RSI de Stoch en la detección de niveles de sobrecompra/sobreventa no es ideal.

Si los precios se desploman bruscamente pero el MACD aún no ha formado una cruz de la muerte, esta estrategia se aferrará a posiciones perdedoras y continuará tomando pérdidas.

Direcciones de optimización

Considere la posibilidad de añadir un stop loss para controlar las pérdidas de una sola posición, por ejemplo, un stop loss ATR o un stop loss basado en medias móviles más bajas.

Añadir otros indicadores de confirmación, como la combinación de KD o Bollinger Bands con Stoch RSI para una detección más confiable de sobrecompra/sobreventa.

Incorpore análisis de volumen, como aumentar el stop loss cuando aparece un volumen de venta significativo, o evitar nuevas posiciones cuando el volumen es débil.

Prueba diferentes combinaciones de parámetros y optimiza los períodos MACD. También prueba agregando MACD de otros marcos de tiempo para confirmación múltiple.

Conclusión

La estrategia de negociación cuantitativa MACD dual tiene una lógica simple y clara, utilizando cruces EMA duales para determinar tendencias, complementados con indicadores de impulso para evitar señales erróneas. Puede filtrar oportunidades de negociación de alta probabilidad. Los ajustes de parámetros universales y el rendimiento sólido lo convierten en una buena estrategia de base sobre la que construir. Los próximos pasos son mejorar aún más su estabilidad y rentabilidad mejorando los mecanismos de stop loss, agregando análisis de volumen, combinando otros indicadores, etc.


/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Multiple MACD RSI simple strategy", overlay=true, initial_capital=5000, default_qty_type=strategy.percent_of_equity, default_qty_value=80, pyramiding=0, calc_on_order_fills=true)

fastLength = input(10)
slowlength = input(22)
MACDLength = input(9)

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = sma(MACD, MACDLength)
delta = MACD - aMACD

fastLength2 = input(21)
slowlength2 = input(45)
MACDLength2 = input(20)

MACD2 = ema(open, fastLength2) - ema(open, slowlength2)
aMACD2 = sma(MACD2, MACDLength2)
delta2 = MACD2 - aMACD2


uptrend = (close + high)/(close[1] + high[1])
downtrend = (close + low)/(close[1] + low[1])

smoothK = input(2, minval=1, title="K smoothing Stoch RSI")
smoothD = input(3, minval=1, title= "D smoothing for Stoch RSI")
lengthRSI = input(7, minval=1, title="RSI Length")
lengthStoch = input(8, minval=1, title="Stochastic Length")
src = input(close, title="RSI Source")

rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
h0 = hline(80)
h1 = hline(20)

yearin = input(2018, title="Year to start backtesting from")

if (delta > 0) and (year>=yearin) and (delta2 > 0) and (uptrend > 1)
    strategy.entry("buy", strategy.long, comment="buy")

if (delta < 0) and (year>=yearin) and (delta2 < 0) and (downtrend < 1) and (d > 20)
    strategy.entry("sell", strategy.short, comment="sell")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Más.