Bandas de Bollinger y estrategia de negociación de Fibonacci

El autor:¿ Qué pasa?, Fecha: 2021-09-21 21:04:38
Las etiquetas:

Resumen general

Esta estrategia combina las bandas de Bollinger y los indicadores de retroceso de Fibonacci para un enfoque de múltiples indicadores. Pertenece al típico tipo de estrategia de indicadores combinados. Las bandas de Bollinger determinan la dirección de la tendencia y los niveles de Fibonacci identifican las zonas clave de soporte y resistencia para generar señales comerciales.

Estrategia lógica

La estrategia se basa en dos indicadores principales:

  1. Las bandas de Bollinger

    Calcula las bandas superior, media e inferior.

  2. Retracciones de Fibonacci

    Calcula los niveles de retroceso del 0% y del 100% basados en máximos y mínimos históricos.

La lógica de negociación específica es:

Señales largas: el precio se rompe por encima de la banda superior y está por encima del soporte de Fibonacci del 0%.

Señal corto: el precio se rompe por debajo de la banda inferior y está por debajo de la resistencia de Fibonacci del 100%.

Las salidas están alrededor de la banda media para tomar ganancias o detener pérdidas.

Ventajas

  • Combina bandas de Bollinger y indicadores de Fibonacci
  • Las bandas juzgan la tendencia, Fibonacci identifica los niveles clave
  • La probabilidad combinada de señales falsas es menor
  • Las salidas de la banda media de los controles de reducción
  • Normas claras de entrada y salida, fáciles de aplicar

Los riesgos

  • Los indicadores basados en el MA pueden retrasarse, perdiendo los mejores niveles
  • Reacción lenta a los acontecimientos importantes, basada únicamente en indicadores
  • Los filtros dobles limitan la frecuencia de negociación
  • Los parámetros incorrectos afectan negativamente a las bandas y retracements
  • Los parámetros necesitan optimización para diferentes productos

Los riesgos pueden reducirse:

  • Optimización para las mejores combinaciones de parámetros
  • Relajar los criterios de entrada como añadir patrones de candelabro
  • Mejora de las salidas con paradas traseras
  • Ensayo de parámetros por producto
  • Sistema de ajuste del tamaño de la posición

Direcciones de mejora

La estrategia puede mejorarse mediante:

  1. Optimización de los parámetros de las bandas de Bollinger

    Encontrar las relaciones óptimas para las bandas superior/inferior

  2. Optimización de los períodos de retroceso de Fibonacci

    Prueba de diferentes períodos de retroceso para los retrocesos

  3. Condiciones de entrada relajadas

    Observando patrones de velas en las rupturas de banda

  4. Mejora de las salidas

    Consideración de los mecanismos de detención de trail

  5. Pruebas de parámetros específicos del producto

    Los parámetros deben ajustarse para diferentes productos

Resumen de las actividades

Esta estrategia combina los puntos fuertes de las bandas de Bollinger y los retracements de Fibonacci para señales de mayor calidad. Pero existen desafíos como la optimización de parámetros difíciles. Se pueden hacer mejoras a través de la afinación de parámetros, relajando los criterios de entrada, mejorando las salidas, etc. para refinar la estrategia mientras se conserva su ventaja. Los ajustes continuos basados en los resultados de las pruebas de retroceso también son clave para la robustez.


/*backtest
start: 2023-09-13 00:00:00
end: 2023-09-20 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands & Fibonacci Strategy", shorttitle="BB & Fib Strategy", overlay=true)

// Initialize position variables
var bool long_position = false
var bool short_position = false

// Bollinger Bands settings
length = input.int(20, title="Bollinger Bands Length")
src = input(close, title="Source")
mult = input.float(2.0, title="Standard Deviation Multiplier")

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

upper_band = basis + dev
lower_band = basis - dev

// Fibonacci retracement levels
fib_0 = input.float(0.0, title="Fibonacci 0% Level", minval=-100, maxval=100) / 100
fib_100 = input.float(1.0, title="Fibonacci 100% Level", minval=-100, maxval=100) / 100

// Plotting Bollinger Bands
plot(upper_band, color=color.red, title="Upper Bollinger Band")
plot(lower_band, color=color.green, title="Lower Bollinger Band")

// Calculate Fibonacci levels
fib_range = ta.highest(high, 50) - ta.lowest(low, 50)
fib_high = ta.highest(high, 50) - fib_range * fib_0
fib_low = ta.lowest(low, 50) + fib_range * fib_100

// Plot Fibonacci retracement levels
plot(fib_high, color=color.blue, title="Fibonacci High")
plot(fib_low, color=color.orange, title="Fibonacci Low")

// Entry conditions
long_condition = ta.crossover(close, upper_band) and low > fib_low
short_condition = ta.crossunder(close, lower_band) and high < fib_high

// Plot arrows on the chart
plotshape(series=long_condition, title="Long Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=short_condition, title="Short Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Entry and exit logic
if long_condition and not short_position
    strategy.entry("Long", strategy.long)
    long_position := true
    short_position := false

if short_condition and not long_position
    strategy.entry("Short", strategy.short)
    short_position := true
    long_position := false

// Exit conditions (you can customize these)
long_exit_condition = ta.crossunder(close, basis)
short_exit_condition = ta.crossover(close, basis)

if long_exit_condition
    strategy.close("Long")
    long_position := false

if short_exit_condition
    strategy.close("Short")
    short_position := false



Más.