Estrategia de negociación de tendencias basada en medias móviles múltiples

El autor:¿ Qué pasa?, Fecha: 2023-12-07 10:50:37
Las etiquetas:

img

Resumen general

Esta estrategia calcula múltiples promedios móviles de diferentes períodos y combina patrones de cruz dorada para determinar la dirección de tendencia de la tendencia después de la negociación.

Principio de la estrategia

El núcleo de esta estrategia es la EMA de 35 períodos que sirve como indicador principal para las señales de compra y venta. Cuando el precio cruza por encima de la 35EMA, se genera una señal de compra. Cuando el precio cruza por debajo de la 35EMA, se genera una señal de venta. Además, la estrategia traza una cinta EMA compuesta por 8 EMA de diferentes períodos para ayudar a determinar la dirección de la tendencia. Las EMA de período más corto se mantienen más cerca del precio para detectar cambios más rápidamente, mientras que las EMA de período más largo retrasan los cambios de precio más lentamente para filtrar algo de ruido. La cinta EMA representa claramente la dirección de la tendencia principal del precio.

Esta estrategia se basa principalmente en el 35EMA para determinar la tendencia principal. Las señales comerciales se generan cuando el precio cruza por encima o por debajo del 35EMA. La cinta EMA juega un papel auxiliar en la confirmación de la tendencia y la optimización del tiempo de entrada.

Análisis de ventajas

Esta estrategia logra un equilibrio entre el seguimiento de tendencias y el comercio frecuente. El 35EMA puede juzgar básicamente los cambios en la dirección de la tendencia principal sin demasiado retraso, y genera señales comerciales alrededor de puntos de inflexión significativos.

En comparación con el uso de un único indicador de EMA, este enfoque multi-EMA proporciona una determinación de tendencia más completa y clara.

Los usuarios pueden ajustar los parámetros por su cuenta para cambiar el período principal de 35EMA o los EMA en la cinta para optimizar su propio estilo de negociación.

Análisis de riesgos

El riesgo principal reside en la elección de los parámetros por parte del usuario. El uso de períodos de EMA demasiado cortos aumenta la frecuencia y el riesgo de las operaciones.

Otro riesgo clave es que durante los mercados de rango, el indicador EMA puede generar múltiples señales falsas.

Por último, durante los mercados con tendencias fuertes, el retraso del indicador puede retrasar las señales de compra y venta.

Direcciones de optimización

Las principales formas de optimizar esta estrategia se centran en ajustar los parámetros de la EMA para adaptarse a los diferentes mercados y estilos de negociación:

  1. Ajuste el período 35EMA para un mejor momento de las señales comerciales
  2. Ajustar los períodos de banda de la EMA para una mejor evaluación de la tendencia
  3. Incorporar otros indicadores de apoyo como bandas BOLL y KDJ para su confirmación
  4. Añadir medidas de volumen para evitar actuar en mercados volátiles sin aumento de volumen

Mediante el ajuste de parámetros y la combinación de señales de múltiples indicadores, se pueden lograr mejoras adicionales en la estabilidad y la precisión de la señal.

Conclusión

Esta estrategia proporciona una solución de seguimiento de tendencias relativamente precisa y versátil mediante el cálculo de múltiples EMA y el uso de la cinta EMA. Equilibra capturar puntos de inflexión rápidamente y juzgar las tendencias de múltiples marcos de tiempo de manera holística para una buena combinación de frecuencia de comercio y estabilidad del sistema. A través de la optimización se adapta a los entornos de mercado, tipos de activos y estilos de negociación. Ofrece a los usuarios una base sofisticada y sólida para la negociación cuantitativa.


/*backtest
start: 2022-11-30 00:00:00
end: 2023-12-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//
// @author d3nv3r 
// @inspiration [LazyBear]
// List of all my indicators: https://github.com/d3nv3r0ne/tradingview
//
// Inputs : Show Buy&Sell Signals
// Inputs : Show EMA in White for the Buy&Sell Signals
// Inputs : Choose the length of the EMA for the B&S signals
// 
// How to use it : 
// Any chart
// copy all and paste the content into the Pine Editor Tab at the bottom of the tradingview pannel
// [Save As...] and [Add to Chart] in top-right of the Pine Editor
//
//@version=4
strategy(shorttitle = "35EMA_X_B/S_RIBBON", title="35EMA Cross BuyAndSell Strategy + RIBBON [d3nv3r]", overlay=true)

//
// Variables inputs
//
useBSstrategy = input(true, title="Show Buy & Sell Strategy")
showMABS = input(true, title="Show EMA Cross - need to active B&S Strategy")
lengthBS = input(title="Length EMA Cross - need to active B&S Strategy", type=input.integer, defval=35, minval=1)
src = input(close, title="Source")

//
// Variables
// Ribbon EMA + EMA B/S 
//
lenRib1 = 20
lenRib2 = 25
lenRib3 = 30
lenRib4 = 35
lenRib5 = 40
lenRib6 = 45
lenRib7 = 50
lenRib8 = 55

//
// Variables
// Quadruple SMA + SMA B/S 
//
maBS = ema(src, lengthBS)
rib1 = ema(src, lenRib1)
rib2 = ema(src, lenRib2)
rib3 = ema(src, lenRib3)
rib4 = ema(src, lenRib4)
rib5 = ema(src, lenRib5)
rib6 = ema(src, lenRib6)
rib7 = ema(src, lenRib7)
rib8 = ema(src, lenRib8)

//
// Variables color
//
colorEMAX = #FFFFFF
colorRib1 = #FFFF00
colorRib2 = #FFD700
colorRib3 = #FFC800
colorRib4 = #FFC800
colorRib5 = #FFC800
colorRib6 = #FF4500
colorRib7 = #FF1500
colorRib8 = #FF0000

//
// Variables Buy/Sell
//
longCondition = crossover(close,maBS)
shortCondition = crossunder(close,maBS)

//
// Logic Buy/Sell
//
if (useBSstrategy)
    if (longCondition)
        strategy.entry("Long", strategy.long)
    if (shortCondition)
        strategy.entry("short", strategy.short)

//
// Plot Quadruple SMA + SMA B/S
//
plot(showMABS and maBS ? maBS : na, color=colorEMAX, transp=0, linewidth=2)
plot(rib1, color=colorRib1, transp=15, linewidth=1)
plot(rib2, color=colorRib2, transp=15, linewidth=1)
plot(rib3, color=colorRib3, transp=15, linewidth=1)
plot(rib4, color=colorRib4, transp=15, linewidth=1)
plot(rib5, color=colorRib5, transp=15, linewidth=1)
plot(rib6, color=colorRib6, transp=15, linewidth=1)
plot(rib7, color=colorRib7, transp=15, linewidth=1)
plot(rib8, color=colorRib8, transp=15, linewidth=1)

Más.