Estrategia de seguimiento de tendencias basada en bandas de Bollinger y medias móviles exponenciales


Fecha de creación: 2023-11-17 17:36:43 Última modificación: 2023-11-17 17:36:43
Copiar: 0 Número de Visitas: 647
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias basada en bandas de Bollinger y medias móviles exponenciales

Descripción general

La estrategia utiliza el indicador de las bandas de Brin para determinar la dirección de la tendencia actual y, en combinación con las medias móviles del índice, para la administración de paradas de pérdidas y la captura efectiva de la tendencia.

Análisis de la interpretación original

La estrategia comienza por calcular la línea media, la línea superior y la línea inferior de la franja de Brin. La línea media es un promedio móvil simple de un precio de cierre de n días, y la línea superior y la línea inferior son dos diferencias estándar de desviación de la línea media. Cuando el precio de cierre es superior a la línea superior, indica que el mercado está en una tendencia bajista; cuando el precio de cierre es inferior a la línea inferior, indica que el mercado está en una tendencia bajista.

La estrategia determina la dirección de la tendencia actual al comparar la relación entre el precio de cierre y la baja de la banda de Brin. Si el precio de cierre rompe la vía superior, haga más; si el precio de cierre rompe la vía inferior, haga un hueco.

Además, la estrategia también introduce el índice de movimiento de la media, como un trailing stop para detener el stop de pérdidas. En concreto, si se hace mucho, el precio retrocede hacia abajo, la línea de parada se desplaza por debajo, lo que hace que el stop se estreche gradualmente, bloqueando al máximo las ganancias. Si el precio continúa subiendo, la línea de parada también se desplaza hacia arriba, para que las ganancias sigan funcionando.

Análisis de las ventajas

Esta estrategia, combinada con la dirección de tendencia de las bandas de Bryn y la administración de paradas de pérdidas de la EMA, tiene las siguientes ventajas:

  1. El uso de la cinta de Brin permite determinar la dirección de la tendencia y reaccionar rápidamente a las rupturas.

  2. El Stop Loss Stop, basado en EMA, permite bloquear al máximo las ganancias y controlar el riesgo al mismo tiempo que garantiza la rentabilidad.

  3. La estrategia tiene menos parámetros y es fácil de implementar. Bryn tiene un parámetro, EMA un parámetro, y es muy sencilla.

  4. Se puede aplicar ampliamente en diferentes variedades, con una gran adaptabilidad.

El riesgo y la optimización

La estrategia también tiene algunos riesgos a tener en cuenta:

  1. El descenso de Brin no evita por completo el riesgo de una falsa ruptura. Se pueden combinar señales de filtración de indicadores como el volumen de transacciones.

  2. La configuración de los parámetros de EMA requiere una prueba cuidadosa según la variedad específica. Si el ciclo de EMA es demasiado corto, puede aumentar el número de paradas de pérdidas, y si es demasiado largo, disminuye el efecto de seguimiento.

  3. Se debe tener cuidado para evitar la optimización excesiva. Una combinación excesiva de parámetros de la banda de Brin y la EMA puede conducir a una sobreadaptación.

En cuanto a la dirección de la solución y optimización de los riesgos, se pueden considerar las siguientes ideas:

  1. Aumentar el volumen de operaciones o indicadores como el MACD, filtrando las falsas señales de ruptura.

  2. Pruebas de optimización del ciclo EMA para seleccionar los parámetros más adecuados para la variedad específica.

  3. Mantener los parámetros de la banda de Brin y la EMA estables para evitar el riesgo de sobreajuste causado por la optimización excesiva.

  4. Se puede considerar el uso de indicadores como el RSI para ajustar la posición a mediados de la tendencia.

Resumir

Esta estrategia integra el juicio de tendencias de la banda de Brin con la gestión de paradas de pérdidas de la EMA, formando un sistema de seguimiento de tendencias más completo. Puede capturar rápidamente la dirección de la tendencia y bloquear las ganancias ajustando constantemente la línea de parada. En general, la estrategia es sencilla, práctica, adaptable y vale la pena realizar pruebas y optimizaciones adicionales.

Código Fuente de la Estrategia
/*backtest
start: 2022-11-10 00:00:00
end: 2023-11-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © zxcv55602
//@version=4
strategy(shorttitle=" BB+EMA", title="Bollinger Bands", overlay=true)
date1 = input(title="Start Date", type=input.time, defval=timestamp("2020-01-01T00:00:00"))
date2 = input(title="Stop Date", type=input.time, defval=timestamp("2030-01-01T00:00:00"))
length = input(40, minval=1)
src = input(close, title="Source")
mult = input(2.0,title="StdDev",step=0.1)
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
//offset = input(0, "Offset", minval = -500, maxval = 500)
offset=0
stopcon=input(title="stopcon/lot", type=input.bool, defval=true)
lot1=input(title="lot",defval=1)
stoploss=input(title="stopcon",defval=1000)
emacon=input(title="emacon", type=input.bool, defval=true)
ema_value=input(title="value",defval=30, minval=2,step=1)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=color.new(color.blue,50), offset = offset)
p2 = plot(lower, "Lower", color=color.new(color.blue,50), offset = offset)
ema1=ema(close,ema_value)
plot(ema1, "SMA", color=#2962FF)
period() => true
//-----------
if period()
    if strategy.opentrades==0 and ema1<upper
        if close>upper
            lot_L=stoploss/((close-lower)/2)
            strategy.entry("OP_L",strategy.long,qty=stopcon==true?lot_L:lot1,stop=emacon==true?max(basis,ema1):basis)
    if strategy.opentrades==0 and ema1>lower
        if close<lower
            lot_S=stoploss/((upper-close)/2)
            strategy.entry("OP_S",strategy.short,qty=stopcon==true?lot_S:lot1,stop=emacon==true?min(basis,ema1):basis)
    if strategy.position_size>0
        strategy.exit("OP_L",stop=emacon==true?max(basis,ema1):basis,comment="exit_L")
    if strategy.position_size<0
        strategy.exit("OP_S",stop=emacon==true?min(basis,ema1):basis,comment="exit_S")