Estrategia de bandas de Bollinger basada en EVWMA


Fecha de creación: 2023-11-02 15:27:28 Última modificación: 2023-11-02 15:27:28
Copiar: 0 Número de Visitas: 572
1
Seguir
1617
Seguidores

Estrategia de bandas de Bollinger basada en EVWMA

Descripción general

La estrategia utiliza el EVWMA como la línea de base de la banda de Brin, haciendo más cuando el precio se rompe la banda de Brin en la vía, y hacer un vacío cuando se rompe la vía para capturar el movimiento de tendencia del precio.

Principio de estrategia

La estrategia primero calcula el volumen total de transacciones de los últimos 30 períodos (vol_period). Luego calcula el EVWMA, con la fórmula: ((EVWMA x del día anterior (vol_period - volumen de transacciones de hoy) + volumen de transacciones de hoy x precio de cierre) / vol_period ‬

La base de trayectoria media de la banda de Brin es EVWMA, y la base de trayectoria ascendente y descendente es ± 2 veces la stdev (diferencia estándar del precio de cierre). Cuando el precio sube en la trayectoria, hace más, y baja en la trayectoria baja. El punto de parada es base.

Análisis de las ventajas

  1. La EVWMA refleja mejor la tendencia de los cambios en los precios y es más suave que la media.

  2. Las bandas de Brin identifican claramente los límites superiores y inferiores de las fluctuaciones de los precios, lo que ayuda a capturar las rupturas de precios.

  3. El indicador de tendencias EVWMA y el indicador de fluctuaciones Brin Belt permiten una mayor precisión en la hora de entrada.

  4. El punto de parada es base, lo que es bueno para controlar el riesgo.

Análisis de riesgos

  1. En un escenario de tensión, la EVWMA no puede reflejar los cambios de precios a tiempo y puede perder la oportunidad de entrar.

  2. El cinturón de Brin se activa con repetidas sacudidas en el disco lateral.

  3. Sin tener en cuenta el tiempo de mantenimiento de las posiciones y la gestión de la escala de la posición, existe el riesgo de que las ganancias sean inadecuadas y que las pérdidas se expandan.

  4. Si no se establece un límite, existe el riesgo de que se continúe con la posesión más allá de los objetivos razonables.

Dirección de optimización

  1. Se pueden probar diferentes parámetros para encontrar la longitud de período más adecuada.

  2. Se puede considerar la combinación de otros indicadores como MACD para filtrar señales de entrada.

  3. Se puede configurar la administración de la duración de la posición, como la configuración de un ciclo de retención fijo.

  4. Se puede establecer un punto de equilibrio, fijando de antemano objetivos de ganancias razonables.

  5. El tamaño de las posiciones se puede ajustar según las condiciones del mercado.

Resumir

La estrategia integra las ventajas de los dos indicadores EVWMA y el cinturón de Brin, para lograr el seguimiento de la tendencia mediante la captura de los precios que se rompen en el camino. La ventaja es que la cartera de indicadores es razonable, la entrada es precisa y puede controlar el riesgo de manera efectiva. Pero también hay problemas como la configuración inadecuada de los parámetros, la administración imperfecta de la posición.

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

//@version=4
strategy("EVWBB Strategy [QuantNomad]", shorttitle="EVWBB Strategy [QN]", overlay=true)

// Inputs
sum_length = input(30,  title = "Length", type = input.integer)
mult       = input(2.0, minval=0.001, maxval=50)
 
// Calculate Volume Period
vol_period = sum(volume, sum_length)

// Calculate EVWMA
evwma = 0.0
evwma := ((vol_period - volume) * nz(evwma[1], close) + volume * close) / (vol_period)

basis = evwma
dev = mult * stdev(close, sum_length)

upper = basis + dev
lower = basis - dev

plot(basis, color=color.red)
p1 = plot(upper, color=color.blue)
p2 = plot(lower, color=color.blue)
fill(p1, p2)

buyEntry = crossover(close, lower)
sellEntry = crossunder(close, upper)

strategy.entry("BBandLE", strategy.long,  stop = upper , oca_name = "BollingerBands",  comment="BBandLE")
strategy.entry("BBandSE", strategy.short, stop = lower,  oca_name = "BollingerBands", comment="BBandSE")

strategy.exit("BBand L SL", "BBandLE", stop = basis)
strategy.exit("BBand S SL", "BBandSE", stop = basis)