Estrategia de trading cuantitativo de cinco minutos con filtro doble y desviación estándar de bandas de Bollinger

Boll BB SMA stdev
Fecha de creación: 2024-04-30 16:03:11 Última modificación: 2024-04-30 16:03:11
Copiar: 0 Número de Visitas: 720
1
Seguir
1617
Seguidores

Estrategia de trading cuantitativo de cinco minutos con filtro doble y desviación estándar de bandas de Bollinger

Descripción general

La estrategia se basa en el indicador de la banda de Brin, se filtra a través de dos capas de diferencia estándar, y se realiza una negociación rápida en un marco de tiempo de 5 minutos. Se compra cuando el precio cae hacia abajo y se vende cuando se rompe hacia arriba. Las subidas y bajadas se establecen con diferentes diferencias estándar y se utilizan diferentes símbolos de color para mostrar intuitivamente la fuerza y la debilidad de la tendencia.

Principio de estrategia

  1. Calcular la línea de referencia de la banda de Bryn, las vías superiores 1, superiores 2, inferiores 1 y inferiores 2.
  2. Cuando el precio de cierre cruza desde la línea inferior 1 hacia abajo, se genera una señal de compra.
  3. Cuando el precio de cierre cruza desde la vía superior 1 hacia abajo, se genera una señal de venta.
  4. Después de comprar, cuando aparece la señal de venta. Después de vender, cuando aparece la señal de compra.
  5. Las vías superior 2 y inferior 2 identifican la intensidad de la tendencia y proporcionan un juicio auxiliar.

Ventajas estratégicas

  1. La configuración de la diferencia estándar doble mejora la precisión de las tendencias.
  2. La frecuencia de las transacciones en el nivel de 5 minutos es alta, lo que permite un rápido acceso y salida.
  3. La determinación de la intensidad de la tendencia ayuda a controlar el riesgo.
  4. Los parámetros se pueden ajustar para adaptarse a diferentes mercados.

Riesgo estratégico

  1. Las transacciones frecuentes pueden generar tarifas elevadas.
  2. El error en el juicio de tendencias puede llevar a pérdidas.
  3. La ausencia de medidas de contención de daños, con un mayor riesgo de exposición.
  4. No se entiende muy bien la tendencia unilateral.

Dirección de optimización de la estrategia

  1. Introducción de mecanismos de stop loss y de suspensión para controlar el riesgo de una sola transacción.
  2. Optimización de los parámetros de las bandas de Bryn para mejorar la capacidad de captura de tendencias.
  3. La inclusión de indicadores auxiliares para determinar tendencias, como el MA, mejora la tasa de éxito.
  4. El filtro para la actividad sísmica.

Resumir

La estrategia aprovecha las características estadísticas de la banda de Brin, los filtros de doble capa para mejorar el juicio de tendencias, y es adecuada para capturar rápidamente las oportunidades de tendencias a nivel de 5 minutos. Sin embargo, los problemas de la frecuencia de las operaciones y la falta de medidas de control del viento aún necesitan ser optimizados.

Código Fuente de la Estrategia
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//This displays the traditional Bollinger Bands, the difference is
//that the 1st and 2nd StdDev are outlined with two colors and two
//different levels, one for each Standard Deviation

strategy("Five Min Scalping Strategy", overlay=true)

src = input(close, title="Source")
length = input.int(20, minval=1, title="Length")
mult = input.float(2.0, minval=0.001, maxval=50, title="Multiplier")

basis = ta.sma(src, length)
dev = ta.stdev(src,length)
dev2 = mult * dev

upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2

LongCondition = close[1] < lower1 and close > lower1
ShortCondition = close[1] > upper1 and close < upper1

strategy.entry("Long", strategy.long, when = LongCondition)
strategy.entry("Short", strategy.short, when = ShortCondition)

strategy.close("Long", when = ShortCondition)
strategy.close("Short", when = LongCondition)

colorBasis = src >= basis ? color.blue : color.orange

pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0), style=plot.style_circles)
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0), style=plot.style_circles)

fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))