
Descripción general: La estrategia utiliza el indicador MACD para generar señales de negociación en varios marcos de tiempo para lograr el seguimiento de la tendencia. Su idea básica es confirmar la dirección de la tendencia en los marcos de tiempo de alta frecuencia y luego buscar momentos específicos de entrada en los marcos de tiempo de baja frecuencia.
Principio de la estrategia: La estrategia utiliza la línea de diferenciación MACD del indicador y la intersección de las líneas de señal para determinar la dirección de la tendencia. En concreto, se calcula la línea de diferenciación MACD y la línea de señal en el marco de tiempo de alta frecuencia (el 60 minutos por defecto). La línea de diferenciación produce una señal de compra cuando se atraviesa la línea de señal y una señal de venta cuando se atraviesa la línea de señal para confirmar la dirección de la tendencia general.
La estrategia luego calcula el MACD en el marco de tiempo de baja frecuencia (el ciclo actual) y entra en la posición correspondiente cuando la línea de desviación y la línea de señal se cruzan. Por lo tanto, la alta frecuencia se usa para determinar la dirección de la tendencia y la baja frecuencia se usa para encontrar puntos de entrada específicos.
La estrategia también utiliza el cambio de color de los gráficos columnares para ayudar a determinar la tendencia, con columnas verdes que indican que está subiendo y columnas rojas que indican que está bajando.
Análisis de las ventajas:
Diseño de marcos multi-temporales, el ciclo alto determina la dirección de la tendencia, el ciclo bajo busca puntos de entrada, buena sistematización.
Utiliza el cruce del indicador MACD para determinar el momento de compra y venta, los parámetros del indicador están optimizados y la señal es más confiable.
Los colores de los diagramas columnares ayudan a juzgar el estado actual de las tendencias, forman una verificación múltiple y mejoran la precisión de las decisiones.
El seguimiento automático de las tendencias funciona sin mucha intervención humana y reduce los errores de juicio emocional.
Análisis de riesgos:
El MACD es un indicador de tendencias a medio y largo plazo, que puede generar señales erróneas en el corto plazo y causar pérdidas innecesarias.
Las estrategias de marco de tiempo múltiple son más difíciles de optimizar y probar debido a la necesidad de considerar varios ciclos al mismo tiempo.
La estrategia no tiene un stop loss, lo que puede generar grandes pérdidas.
La dirección de la optimización:
Optimización de los parámetros del MACD para encontrar la combinación óptima de ellos.
Aumentar el mecanismo de suspensión de pérdidas y limitar el máximo de pérdidas.
Evaluar si es necesario agregar otros indicadores para filtrar la señal y mejorar la calidad de la señal.
Prueba diferentes combinaciones de marcos de tiempo para encontrar la mejor combinación de marcos de tiempo.
En resumen: La estrategia está diseñada de manera sistemática y, al mismo tiempo, combina las múltiples ventajas de los indicadores MACD para poder seguir de manera efectiva las tendencias de línea media y larga. Sin embargo, debido a que no se establecen paros, es difícil evitar el riesgo de expansión de pérdidas a corto plazo, esta es la dirección que necesita una optimización adicional. En general, la estrategia, con su fuerte capacidad de seguimiento de tendencias, ofrece una opción de acciones de alta calidad y un marco de decisión para el comercio cuantitativo.
/*backtest
start: 2023-12-12 00:00:00
end: 2024-01-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@author : SudeepBisht
//@version=2
strategy(title="SB_CM_MacD_Ult_MTF", shorttitle="SB_CM_Ult_MacD_MTF")
source = close
useCurrentRes = input(true, title="Use Current Chart Resolution?")
resCustom = input(title="Use Different Timeframe? Uncheck Box Above", defval="60")
smd = input(true, title="Show MacD & Signal Line? Also Turn Off Dots Below")
sd = input(true, title="Show Dots When MacD Crosses Signal Line?")
sh = input(true, title="Show Histogram?")
macd_colorChange = input(true,title="Change MacD Line Color-Signal Line Cross?")
hist_colorChange = input(true,title="MacD Histogram 4 Colors?")
res = useCurrentRes ? timeframe.period : resCustom
fastLength = input(12, minval=1), slowLength=input(26,minval=1)
signalLength=input(9,minval=1)
fastMA = ema(source, fastLength)
slowMA = ema(source, slowLength)
macd = fastMA - slowMA
signal = sma(macd, signalLength)
hist = macd - signal
outMacD = request.security(syminfo.tickerid, res, macd)
outSignal = request.security(syminfo.tickerid, res, signal)
outHist = request.security(syminfo.tickerid, res, hist)
histA_IsUp = outHist > outHist[1] and outHist > 0
histA_IsDown = outHist < outHist[1] and outHist > 0
histB_IsDown = outHist < outHist[1] and outHist <= 0
histB_IsUp = outHist > outHist[1] and outHist <= 0
//MacD Color Definitions
macd_IsAbove = outMacD >= outSignal
macd_IsBelow = outMacD < outSignal
plot_color = hist_colorChange ? histA_IsUp ? aqua : histA_IsDown ? blue : histB_IsDown ? red : histB_IsUp ? maroon :yellow :gray
macd_color = macd_colorChange ? macd_IsAbove ? lime : red : red
signal_color = macd_colorChange ? macd_IsAbove ? yellow : yellow : lime
circleYPosition = outSignal
plot(smd and outMacD ? outMacD : na, title="MACD", color=macd_color, linewidth=4)
plot(smd and outSignal ? outSignal : na, title="Signal Line", color=signal_color, style=line ,linewidth=2)
plot(sh and outHist ? outHist : na, title="Histogram", color=plot_color, style=histogram, linewidth=4)
plot(sd and cross(outMacD, outSignal) ? circleYPosition : na, title="Cross", style=circles, linewidth=4, color=macd_color)
// hline(0, '0 Line', linestyle=solid, linewidth=2, color=white)
macd_chk=smd and outMacD ? outMacD : na
checker=smd and outSignal ? outSignal : na
if (crossover(macd_chk,checker))
strategy.entry("BBandLE", strategy.long, comment="BBandLE")
if (crossunder(macd_chk, checker))
strategy.entry("BBandSE", strategy.short, comment="BBandSE")