Estrategia de ruptura de banda de volatilidad basada en perfil de giro móvil


Fecha de creación: 2023-09-19 13:29:51 Última modificación: 2023-09-19 13:29:51
Copiar: 0 Número de Visitas: 626
1
Seguir
1617
Seguidores

Descripción general

La estrategia se basa en un indicador de bandas de oscilación, que introduce un contorno de giro móvil para buscar posibles puntos de ruptura de tendencia. Calcula una banda de oscilación que se mueve hacia adelante y emite una señal de negociación cuando el precio rompe esa banda de oscilación que se mueve hacia adelante. La estrategia combina la poderosa capacidad de identificación de tendencias de las bandas de oscilación con la capacidad de alerta anticipada que ofrece el contorno de giro móvil, con el objetivo de encontrar puntos de entrada más efectivos.

Principio de estrategia

  1. Cálculo de la línea media, la línea superior y la línea inferior de la banda de onda normal
  2. Movimiento de la línea media, superior y inferior de la banda de ondas hacia adelante en un determinado período
  3. La señal de compra se emite cuando el precio se mueve hacia adelante desde abajo hacia arriba
  4. La señal de venta se emite cuando el precio se mueve hacia abajo desde arriba hacia abajo
  5. El punto de parada después de la entrada es la banda de oscilación inversa

Análisis de las ventajas

  1. El contorno de giro móvil ofrece alertas anticipadas para detectar cambios de tendencia antes
  2. Combinando la capacidad de reconocimiento de tendencias del propio indicador de banda de ondas, mejora la precisión de la señal
  3. Establecer la posición de parada con antelación para controlar el riesgo
  4. La combinación de tendencias y bandas de onda permite establecer posiciones en mejores posiciones

Análisis de riesgos

  1. Los parámetros mal configurados pueden causar demasiadas señales de error
  2. Movimiento de giro de contorno puede romper Preis y formar un deterioro a mitad de camino
  3. Necesidad de un mayor conocimiento de las tendencias para no quedar atrapado en un mercado convulso
  4. Hay un cierto retraso y no se puede aprovechar completamente el punto de inflexión

Dirección de optimización

  1. Prueba de diferentes combinaciones de datos de precios y parámetros
  2. Añadir condiciones adicionales de filtración para evitar falsos avances
  3. En combinación con los indicadores de tendencia, se puede determinar la dirección y evitar ser engañado.
  4. Optimización de las estrategias de stop loss y ajuste de las medidas de stop loss en función del mercado
  5. Intentar probar con diferentes variedades y ciclos
  6. Se puede combinar con otros indicadores para encontrar puntos de entrada más precisos

Resumir

La estrategia aprovecha al máximo las ventajas de la banda de oscilación en sí misma y mejora la efectividad de la entrada en el tiempo mediante el desplazamiento de la línea de giro. Basándose en la combinación de parámetros optimizados, el aumento de las condiciones de filtración y la consideración adicional de la situación de la tendencia, la estrategia puede convertirse en un sistema de ruptura más fuerte. En general, la estrategia es sencilla y práctica, y merece ser probada y optimizada aún más para obtener mejores resultados de retroalimentación y en el disco.

Código Fuente de la Estrategia
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-18 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("LAGging span leaves Bollinger Bands strategy" , shorttitle="LagBB" , overlay=true)
source = input( hl2 )
length = input(20, minval=1)
mult = input( 1.0, minval=0.0, maxval=50)
x_offset = input( 26 ,minval=0 , maxval=244 )

basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
buyEntry = crossover(source, upper[x_offset] )
sellEntry = crossunder(source, lower[x_offset] )
if (crossover(source, upper[x_offset] ))
    strategy.entry("LE", strategy.long, stop=lower, oca_name="BollingerBands",  comment="LE")
else
    strategy.cancel(id="LE")
if (crossunder(source, lower[x_offset] ))
    strategy.entry("SE", strategy.short, stop=upper, oca_name="BollingerBands",  comment="SE")
else
    strategy.cancel(id="SE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
plot( upper , color=#cccc00 , transp=50 , offset=x_offset )
plot( basis , color=#cccc00 , offset=x_offset )
plot( lower , color=#cccc00 , transp=50 , offset=x_offset )