Estrategia de la media móvil de la banda de Bollinger T3

El autor:¿ Qué pasa?, fecha: 2023-11-02 15:45:31
Las etiquetas:

img

Resumen general

Esta estrategia hace pleno uso del juicio de tendencia de los promedios móviles y el juicio de sobrecompra/superventa de las bandas de Bollinger. Con la suavización del promedio móvil T3, puede identificar la inversión de tendencia a tiempo y entrar en el mercado. En la zona de oscilación, utiliza las bandas de Bollinger para identificar áreas de sobrecompra/superventa para la negociación contra tendencia. Por lo tanto, realiza operaciones a muy corto plazo.

Estrategia lógica

La estrategia utiliza principalmente tres grupos de promedios móviles para identificar la tendencia y generar señales comerciales. El primero es el promedio móvil T3, que puede filtrar las fluctuaciones de precios a través de una suavización exponencial y juzgar la dirección de la tendencia. El segundo es el promedio móvil a medio plazo, aquí utiliza un SMA de 20 períodos para determinar la tendencia a medio plazo. El último son los promedios móviles rápidos y lentos, los promedios móviles T3 de 50 períodos y 200 períodos respectivamente. Cuando la línea rápida es mayor que la línea lenta, indica una tendencia ascendente, de lo contrario, una tendencia descendente.

Las señales comerciales se generan cuando la SMA a medio plazo cruza la banda T3 a mediano plazo, combinando con una tendencia al alza, ir largo. Cuando la SMA a mediano plazo cruza por debajo de la banda T3 a mediano plazo, combinando con una tendencia a la baja, ir corto. Además, las bandas de Bollinger se pueden utilizar para tomar ganancias y detener pérdidas. Si el precio rompe la banda superior, considere tomar ganancias. Si el precio rompe la banda inferior, considere detener pérdidas.

Específicamente, la condición larga es que el SMA medio cruza la T3 media hacia arriba, y el MA rápido es mayor que el MA lento. Si el precio rompe la banda superior de Bollinger o el SMA medio cruza por debajo de T3, considere tomar ganancias. La condición corta es que el SMA medio cruza por debajo de la T3 media hacia abajo, y el MA rápido es menor que el MA lento. Si el precio rompe la banda inferior de Bollinger o el SMA medio cruza por encima de T3, considere el stop loss.

Ventajas

  • Utilice plenamente las ventajas de las medias móviles múltiples, T3 para el suavizado, SMA media para la tendencia, MAs rápidas y lentas para la tendencia a largo plazo
  • Bandas de Bollinger Bandas superiores e inferiores juzgan los niveles de sobrecompra/sobreventa, reducen el riesgo de pérdida
  • Combinación estricta de señales de negociación, evitar la confusión por las fluctuaciones

Los riesgos

  • Los parámetros de T3 incorrectos pueden no suavizar o causar retraso.
  • Los parámetros incorrectos de las bandas de Bollinger pueden causar bandas no válidas
  • Los períodos de medias móviles equivocados conducen a una dirección de tendencia equivocada
  • Puntos de ruptura inexactos para obtener ganancias y dejar pérdidas, puede salir demasiado temprano o demasiado tarde

Mejoras:

  • Ajuste de los parámetros de T3 para equilibrar el suavizado y el retraso
  • Ajustar los parámetros de las bandas de Bollinger para cubrir el rango de fluctuación normal
  • Prueba de diferentes períodos de media móvil para encontrar los más adecuados para el activo
  • Optimizar los puntos de toma de ganancias y stop loss basados en los resultados de las pruebas de retroceso

Direcciones de optimización

  • Añadir un indicador de fuerza de tendencia como ADX para evitar la inversión en los puntos de inflexión de la tendencia
  • Añadir un indicador de volatilidad para ajustar los parámetros basados en la volatilidad del mercado
  • Añadir un stop loss para permitir que más ganancias se agoten
  • Considere la estrategia de ruptura, el seguimiento de la pérdida de parada después de romper bandas

Resumen de las actividades

En resumen, esta estrategia utiliza promedios móviles sistemáticamente para determinar la tendencia e identifica los niveles de sobrecompra / sobreventa con bandas de Bollinger. Puede entrar en el mercado a tiempo en las reversiones de tendencia y también controla los riesgos de manera efectiva. Pero la puesta a punto y optimización de parámetros son importantes para que la estrategia funcione realmente bien.


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

//@version=4
strategy(shorttitle="BB T3 Strategy", title="BB T3 Strategy", overlay=true)

//T3
b = 0.7
c1 = -b*b*b
c2 = 3*b*b+3*b*b*b
c3 = -6*b*b-3*b-3*b*b*b
c4 = 1+3*b+b*b*b+3*b*b

t3(len) => c1 * ema(ema(ema(ema(ema(ema(close, len), len), len), len), len), len) + c2 * ema(ema(ema(ema(ema(close, len), len), len), len), len) + c3 * ema(ema(ema(ema(close, len), len), len), len) + c4 * ema(ema(ema(close, len), len), len)
//T3 end

length = input(20, minval=1)

mult = input(2.5, minval=0.001, maxval=50, title="StdDev")
basis = t3(length)
basisDev = t3(length/10)

dev = mult * stdev(basisDev,length)
upper = basis + dev
lower = basis - dev
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
plot(basis, "Basis", color=#872323, offset = offset)
p1 = plot(upper, "Upper", color=color.teal, offset = offset)
p2 = plot(lower, "Lower", color=color.teal, offset = offset)
fill(p1, p2, title = "Background", color=#198787, transp=95)

stoploss = input(true, "Stop Loss")

basisSma = sma(close, length)
p3 = plot(basisSma, color=color.blue, title="MA", offset=offset)

fastT3 = t3(50)
slowT3 = t3(200)

crossUp = crossover(basisSma, basis)
crossDown = crossunder(basisSma, basis)
bollBounce = crossover(close, upper)
bollReject = crossunder(close, lower)
underBasis = crossunder(close, basis)
overBasis = crossover(close, basis)

trendUp = fastT3 > slowT3
trendDown = fastT3 < slowT3

strategy.entry("long", strategy.long, when=(trendUp and crossUp), stop=(stoploss ? high+syminfo.mintick : na))
strategy.close("long", when=(bollBounce or crossDown or underBasis))
strategy.entry("short", strategy.short, when=(trendDown and crossDown), stop=(stoploss ? low-syminfo.mintick : na))
strategy.close("short", when=(bollReject or crossUp or overBasis))


Más.