En la carga de los recursos... Cargando...

La estrategia cuantitativa de bandas de Bollinger de alta frecuencia combinada con el sistema de ruptura de alta y baja frecuencia

El autor:¿ Qué pasa?, Fecha: 2024-12-04 15:15:50
Las etiquetas:- ¿ Qué?La SMA- ¿ Qué?RRHHLL.

img

Resumen general

Esta estrategia es un sistema de negociación de alta frecuencia que combina los indicadores de Bollinger Bands con señales de ruptura de precios. La estrategia monitorea la relación entre el precio y las Bandas de Bollinger, combinadas con señales de ruptura de puntos altos y bajos anteriores, para ejecutar operaciones de reversión durante las condiciones de sobrecompra y sobreventa del mercado. El sistema implementa una relación riesgo-recompensación de 1: 1 para objetivos de ganancias y pérdidas, y visualiza los niveles clave de precios para ayudar a los operadores a comprender intuitivamente las tendencias del mercado.

Principios de estrategia

La lógica central de la estrategia se basa en dos condiciones principales: una señal de compra se activa cuando el precio se rompe por encima del máximo anterior y ese máximo está por debajo de la banda inferior de Bollinger; una señal de venta se activa cuando el precio se rompe por debajo del mínimo anterior y ese mínimo está por encima de la banda superior de Bollinger.

Ventajas estratégicas

  1. Combina los enfoques de negociación de ruptura de tendencia y de reversión media, manteniendo la estabilidad en diferentes condiciones de mercado
  2. Utiliza una relación riesgo-rendimiento fija para la gestión de posiciones, beneficiosa para una negociación rentable a largo plazo
  3. Visualiza los niveles de entrada, stop-loss y objetivo, mejorando la operabilidad de la estrategia
  4. Utiliza bandas de Bollinger para identificar las condiciones de sobrecompra/sobreventa del mercado, mejorando la precisión de las operaciones
  5. Lógica de estrategia simple y clara, fácil de entender y ejecutar

Riesgos estratégicos

  1. Las operaciones de alta frecuencia pueden tener mayores costes de transacción, lo que requiere tener en cuenta los efectos de las comisiones
  2. Puede generar frecuentes falsas señales de ruptura en mercados variados
  3. La relación riesgo-rendimiento fija podría no reflejar plenamente los fuertes movimientos de tendencia
  4. Los parámetros de las bandas de Bollinger fijas pueden no adaptarse a todas las condiciones del mercado
  5. Requiere un seguimiento del mercado en tiempo real para garantizar la ejecución oportuna de las señales

Direcciones para la optimización de la estrategia

  1. Incorporar indicadores de volumen para la confirmación de la señal, mejorando la fiabilidad de la ruptura
  2. Ajustar dinámicamente los parámetros de las bandas de Bollinger en función de la volatilidad del mercado
  3. Añadir filtros de tendencia para evitar operaciones frecuentes en mercados variados
  4. Considere la posibilidad de añadir filtros de tiempo para evitar el comercio durante los períodos inactivos
  5. Desarrollar mecanismos adaptativos para fijar la relación riesgo-recompensa

Resumen de las actividades

Este es un sistema de negociación integral que integra múltiples conceptos de análisis técnico. A través de la combinación de indicadores de Bollinger Bands y rupturas de precios, la estrategia puede capturar oportunidades de reversión en áreas de sobrecompra y sobreventa del mercado. Si bien hay espacio para la optimización, el marco básico del sistema tiene una buena extensibilidad y valor práctico. A través de la gestión adecuada del riesgo y la optimización de parámetros, esta estrategia tiene el potencial de lograr retornos estables en la negociación real.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-03 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Band Scalping", overlay=true)

// Input for Bollinger Bands length and standard deviation
bbLength = input(20, title="Bollinger Bands Length")
stdDev = input(2.0, title="Bollinger Bands Std Dev")

// Calculate and plot the Bollinger Bands
basis = ta.sma(close, bbLength)
deviation = stdDev * ta.stdev(close, bbLength)
upperBB = basis + deviation
lowerBB = basis - deviation

// Get previous candle's values
prevHigh = high[1]   // Previous candle high
prevLow = low[1]     // Previous candle low

// Buy Signal Condition: Current high crossed above previous high and previous high is below the lower Bollinger Band
buyCondition = ta.crossover(high, prevHigh) and (prevHigh < lowerBB[1])

// Sell Signal Condition: Current low crossed below previous low and previous low is above the upper Bollinger Band
sellCondition = ta.crossunder(low, prevLow) and (prevLow > upperBB[1])

// Entry and exit for Buy signals
if (buyCondition)
    strategy.entry("Buy", strategy.long)
    // Calculate target and stop loss
    stopLossPrice = prevLow
    targetPrice = prevHigh + (prevHigh - stopLossPrice)  // 1:1 RR target

    // Set stop loss and target orders
    strategy.exit("Sell", "Buy", limit=targetPrice, stop=stopLossPrice)

    // // Plot entry line
    // line.new(x1=bar_index, y1=prevHigh, x2=bar_index + 12, y2=prevHigh, color=color.green, width=2, style=line.style_solid)
    // // Plot stop loss line
    // line.new(x1=bar_index, y1=stopLossPrice, x2=bar_index + 12, y2=stopLossPrice, color=color.red, width=1, style=line.style_dashed)
    // // Plot target line
    // line.new(x1=bar_index, y1=targetPrice, x2=bar_index + 12, y2=targetPrice, color=color.blue, width=2, style=line.style_solid)

// Entry and exit for Sell signals
if (sellCondition)
    strategy.entry("Sell", strategy.short)
    // Calculate target and stop loss
    stopLossPriceSell = prevHigh
    targetPriceSell = prevLow - (stopLossPriceSell - prevLow)  // 1:1 RR target

    // Set stop loss and target orders
    strategy.exit("Cover", "Sell", limit=targetPriceSell, stop=stopLossPriceSell)

    // // Plot entry line
    // line.new(x1=bar_index, y1=prevLow, x2=bar_index + 12, y2=prevLow, color=color.red, width=2, style=line.style_solid)
    // // Plot stop loss line
    // line.new(x1=bar_index, y1=stopLossPriceSell, x2=bar_index + 12, y2=stopLossPriceSell, color=color.green, width=1, style=line.style_dashed)
    // // Plot target line
    // line.new(x1=bar_index, y1=targetPriceSell, x2=bar_index + 12, y2=targetPriceSell, color=color.blue, width=2, style=line.style_solid)

// Plotting Bollinger Bands with 70% transparency
plot(upperBB, color=color.red, title="Upper Bollinger Band", transp=70)
plot(lowerBB, color=color.green, title="Lower Bollinger Band", transp=70)
plot(basis, color=color.blue, title="Middle Band", transp=70)


Relacionados

Más.