Esta estrategia es una estrategia de seguimiento de tendencias que utiliza múltiples marcos de tiempo para adaptarse al principio de cruce de la línea media móvil. La estrategia utiliza al mismo tiempo la línea rápida, la línea lenta y el indicador MACD para juzgar las señales de negociación, con el objetivo de obtener ganancias adicionales de la tendencia de la línea media y larga.
La estrategia se basa principalmente en la combinación de dos sistemas de cruce de medias móviles con indicadores MACD. El sistema de cruce de medias móviles consiste en EMA de línea rápida y EMA de línea lenta, que calculan la media a corto plazo y la media a largo plazo, respectivamente. Cuando la línea rápida atraviesa la línea lenta, se produce una señal de compra que indica que el mercado ha cambiado de tendencia, y se puede establecer una posición de varios titulares. Cuando la línea rápida atraviesa la línea lenta, se produce una señal de venta que indica que el mercado ha cambiado de tendencia, y se puede salir del mercado.
Esta estrategia combina el juicio de tendencia de las líneas medias móviles y el cambio de la señal de la dinámica de la MACD para obtener ganancias de tendencia de las líneas medias y largas, al mismo tiempo que se puede filtrar eficazmente las rupturas falsas. Concretamente, cuando la línea rápida atraviesa la línea lenta, si la columna MACD se vuelve verde al mismo tiempo, se produce una señal de toma de vacío más fiable; por el contrario, cuando la línea rápida atraviesa la línea lenta, si la columna MACD se vuelve roja al mismo tiempo, se produce una señal de toma de vacío más fuerte.
Además, la estrategia también introduce la función de adaptación de parámetros. Durante la optimización de parámetros, los parámetros de ciclo de línea rápida, ciclo de línea lenta y MACD se ajustan automáticamente según el efecto de diferentes períodos de tiempo para garantizar que la estrategia obtenga un rendimiento óptimo en diferentes entornos de práctica.
La integración de sistemas de doble línea uniforme y indicadores MACD, integración de múltiples factores para la toma de decisiones, evitar ser engañados por falsas señales de ruido.
La aplicación de la función de parámetros de adaptación permite a las estrategias ajustar dinámicamente los parámetros para adaptarse a los cambios en el mercado y optimizar automáticamente las decisiones comerciales.
Aprender a manejar mejor las tendencias de la línea media y larga, filtrar las brechas falsas de los mercados de volatilidad y obtener ganancias adicionales en las tendencias.
El uso de análisis de marcos temporales permite identificar las tendencias a un nivel más amplio.
La lógica de la estrategia es clara y simple, la estructura del código optimizada, fácil de entender y modificar, adaptada a diferentes necesidades.
El sistema de doble línea corre el riesgo de un whipsaw de Carton, no se aplica a situaciones de crisis, y se debe elegir acciones con tendencias más evidentes y un período de tiempo para operar.
El MACD es retrasado y no es adecuado para rastrear tendencias de cambios bruscos, y debe usarse en combinación con otros indicadores.
La optimización de los parámetros requiere un ciclo de prueba suficientemente grande y una evaluación de riesgos rigurosa para evitar la sobreadaptación.
Cuando se mantiene una posición en la línea larga, se debe prestar atención al riesgo sistemático que conlleva un evento inesperado y detener el daño en el momento oportuno.
Es posible que la función de parámetros de adaptación esté sobre optimizada, por lo que debe verificarse adecuadamente para evitar ajustes de parámetros demasiado frecuentes.
Se puede probar una combinación de diferentes líneas medias rápidas y lentas, seleccionando parámetros de líneas medias que puedan filtrar el ruido y seguir la tendencia.
Se pueden probar varios conjuntos de parámetros de la MACD para encontrar conjuntos de parámetros que puedan anticipar el punto de conversión de la tendencia de reacción.
Los indicadores de tendencia pueden ser incorporados como filtros para suspender el comercio cuando la tendencia no es clara y evitar el whipsaw.
Se puede introducir un mecanismo de detención de pérdidas, configurar un alto de pérdidas móviles o un alto de pérdidas fijas, para controlar las pérdidas individuales.
Se puede intentar incorporar algoritmos de aprendizaje automático, utilizando una mayor cantidad de datos para adaptar las reglas de los parámetros de entrenamiento y mejorar la estabilidad de la estrategia.
Se puede intentar el arbitraje de varias variedades, formando una cartera de transacciones entre las variedades correspondientes para dispersar el riesgo sistemático del mercado.
Esta estrategia integra el cruce de dos líneas de media móviles y el indicador de dinámica MACD, lo que permite una combinación orgánica de seguimiento de tendencias y control de ritmo. La introducción de parámetros de adaptación hace que la estrategia sea más robusta y se adapte a los cambios en el mercado. En comparación con la estrategia de un solo indicador, la estrategia genera un efecto de decisión más fuerte, capaz de obtener una gran ganancia comercial en la tendencia de la línea media y larga.
/*backtest
start: 2023-09-08 00:00:00
end: 2023-10-08 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
// To enable alerts: Change 'Strategy' to read 'Study' below and you also need to comment out lines 43 and 47 - Strategy code
// strategy(title="Riz Coloured MACD", shorttitle="Riz MACD" , initial_capital=5000, default_qty_value=3 )
//study(title="Riz Coloured MACD", shorttitle="Riz MACD")
source = close
fastLength = input(21, minval=1), slowLength=input(55,minval=1)
signalLength=input(9,minval=1)
MACDCandlesCheckedBack=input(6,minval=1)
MACDTolerance=input(4,minval=1)
fastMA = ema(source, fastLength)
slowMA = ema(source, slowLength)
macd = fastMA - slowMA
signal = ema(macd, signalLength)
hist = macd - signal
// ====== BASIC COLOURING - IF HISTOGRAM IS HIGHER THAN PREVIOUS 2 CANDLES THEN WE ARE TICKING UP and VISA VERSA ============//
isTickingUp = hist > hist[1] and hist > hist[2] //and hist > hist[3]
isTickingDown = hist < hist[1] and hist < hist[2] // and hist < hist[3]
// ======= MACD STRATEGY CODE ========== //
// Check if MACD is ticking in the right direction to take a trade - adding 1 at the end means it starts at -1 so not to include the current candle
MACDHistHighestHigh= highest(hist, MACDCandlesCheckedBack)[1]
MACDHistLowestLow = lowest(hist, MACDCandlesCheckedBack)[1]
MACDConfirmsLong() => (hist - MACDHistLowestLow) > MACDTolerance
MACDConfirmsShort() => (MACDHistHighestHigh - hist) > MACDTolerance
plot(macd, title="MACD", color=blue, linewidth=3)
plot(signal, title="SIGNAL", color=orange, linewidth=3)
// === SIMPLE COLOURING BASED ON LAST 2 CANDLES - EASY TO REFERENCE IN DAY TO DAY MACD USE ====//
plot(hist, title="HIST", color=isTickingDown ? fuchsia : isTickingUp ? lime : green, linewidth=3, style=histogram)
// ==== ALTERNATIVE COLOURING FOR PLOT BASED ON STRATEGY SETTINGS INSTEAD
//plot(hist, title="HIST", color=MACDConfirmsLong() ? lime : MACDConfirmsShort() ? fuchsia : green, linewidth=3, style=histogram)
// === STRATEGY - ENTER POSITIONS - COMMENT OUT TO ENABLE ALERTS === //
strategy.entry(id = "Long", long = true, when = MACDConfirmsLong()) // use function to decide when to go long
strategy.entry(id = "Short", long = false, when = MACDConfirmsShort())
// === CREATE ALERT CONDITIONS === //
alertup = MACDConfirmsLong()
alertdown = MACDConfirmsShort()
alertcondition(alertup, title='MACD Long', message='Riz MACD says go LONG!')
alertcondition(alertdown, title='MACD Short', message='Riz MACD says go SHORT!')