Estrategia de trading basada en bandas de Bollinger y ratios de retroceso de Fibonacci


Fecha de creación: 2023-09-27 16:52:05 Última modificación: 2023-09-27 16:52:05
Copiar: 0 Número de Visitas: 1125
1
Seguir
1617
Seguidores

Descripción general

La estrategia utiliza las bandas de Brin para determinar los canales de precios y, en combinación con la tasa de retracción de Fibonacci para determinar los niveles de resistencia de soporte, permite la automatización de las operaciones. La estrategia identifica las rupturas de las bandas de Brin y rastrea los puntos de retracción, para realizar manipulaciones de compra o venta en zonas de retracción de alta probabilidad.

Principio de estrategia

  1. Cálculo de la vía media, la vía superior y la vía inferior en la banda de Bryn

    • Median, ascendente y descendente de las líneas de trayectoria calculadas con SMA y ATR

    • El Canal de la Franja de Brin se expande y se contrae con las fluctuaciones del mercado

  2. Cálculo de la retracción de Fibonacci en relación con el precio correspondiente

    • Tomando el producto de la proporción entre ATR y los números de Fibonacci como proporción de retracción

    • Calculación de retiros de Fibonacci basados en la órbita media

  3. El precio de la vigilancia ha roto la banda de Brin y se ha desviado.

    • Si el precio se pone en marcha, piensa en hacer más

    • Considere la posibilidad de tomar una brecha cuando el precio se desvía

  4. Establecimiento de paradas de entrada y parada de pérdidas cerca de la posición de retiro de Fibonacci

    • El precio se reajusta a la zona de retiro de Fibonacci cuando se entra.

    • Establezca un stop loss en el otro lado de la zona de retirada

Análisis de las ventajas

  • El Brin Belt es capaz de identificar con claridad el rango y las tendencias de las fluctuaciones del mercado

  • Fibonacci retrocede más que dominar las áreas de resistencia clave de apoyo

  • La combinación de señales de indicadores permite el comercio automático

  • El regreso a la cancha aumenta la tasa de éxito y evita las altas y bajas.

  • Se puede ajustar los parámetros para adaptarse a diferentes períodos y variedades

Análisis de riesgos

  • La ruptura de la banda de Bryn podría ser falsa y generar una señal errónea

  • No se puede predecir con exactitud cuándo el precio volverá a la paridad de Fibonacci.

  • La elección incorrecta de los puntos de parada puede aumentar las pérdidas

  • El hecho de que el retroceso sea demasiado grande o demasiado pequeño puede afectar la eficacia de la estrategia.

  • Las estrategias fracasan cuando los parámetros no son razonables o la dirección del mercado continúa

  • Optimización de la lógica de determinación de la banda de Brin, más consideración de los indicadores de potencia, ajuste dinámico de la zona de retirada, etc.

Dirección de optimización

  • Optimización de los parámetros de las bandas de Bryn para mejorar la determinación de tendencias y resistencias de soporte

  • El incremento de la potencia es un indicador de la eficacia de la señal de ruptura.

  • Probabilidad de reajuste con ayuda de aprendizaje automático

  • La combinación de más indicadores técnicos para validar las señales de transacción

  • Selección de parámetros razonables en función de las características de la variedad y el período de negociación

  • Ajuste oportuno de la intensidad de las zonas de retirada para adaptarse a la volatilidad de los cambios

Resumir

La estrategia integra las ventajas de los indicadores de correlación de retracción de las bandas de Bryn y Fibonacci para identificar la dirección de la tendencia y entrar en juego en los puntos de retracción de alta probabilidad. Se puede reducir el efecto de mejora de riesgo mediante optimización de parámetros, aumento de indicadores de verificación, ajuste dinámico de las zonas de retracción, etc. El espacio de la estrategia aún se puede ampliar, como la adición de indicadores de energía cuantitativa, aprendizaje automático y otros efectos de mejora, que se están madurando en la optimización continua.

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

//@version=4
strategy(shorttitle="BBands Fibo", title="Bollinger Bands Fibonacci Ratios", overlay=true)

length      =   input(20, minval=1, type=input.integer, title="Length")
src         =   input(close, title="Source")
offset      =   input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
fibo1       =   input(defval=1.618, title="Fibonacci Ratio 1")
fibo2       =   input(defval=2.618, title="Fibonacci Ratio 2")
fibo3       =   input(defval=4.236, title="Fibonacci Ratio 3")

fiboBuyReverse = input(false, title = "Use Reverse Buy?")
fiboBuy       =   input(options = ["Fibo 1", "Fibo 2", "Fibo 3"],defval = "Fibo 1", title="Fibonacci Buy")
fiboSellReverse = input(false, title = "Use Reverse Sell?")
fiboSell       =   input(options = ["Fibo 1", "Fibo 2", "Fibo 3"],defval = "Fibo 1", title="Fibonacci Sell")

sma = sma(src, length)
atr = atr(length)

ratio1 = atr * fibo1
ratio2 = atr * fibo2
ratio3 = atr * fibo3

upper3 = sma + ratio3
upper2 = sma + ratio2
upper1 = sma + ratio1

lower1 = sma - ratio1
lower2 = sma - ratio2
lower3 = sma - ratio3

plot(sma, style=0, title="Basis", color=color.orange, linewidth=2, offset = offset)

upp3 = plot(upper3, transp=90, title="Upper 3", color=color.teal, offset = offset)
upp2 = plot(upper2, transp=60, title="Upper 2", color=color.teal, offset = offset)
upp1 = plot(upper1, transp=30, title="Upper 1", color=color.teal, offset = offset)

low1 = plot(lower1, transp=30, title="Lower 1", color=color.teal, offset = offset)
low2 = plot(lower2, transp=60, title="Lower 2", color=color.teal, offset = offset)
low3 = plot(lower3, transp=90, title="Lower 3", color=color.teal, offset = offset)

fill(upp3, low3, title = "Background", color=color.new(color.teal, 95))

targetBuy = fiboBuy == "Fibo 1" ? upper1 : fiboBuy == "Fibo 2" ? upper2 : upper3
targetBuy := fiboBuyReverse == false ? targetBuy : fiboBuy == "Fibo 1" ? lower1 : fiboBuy == "Fibo 2" ? lower2 : lower3
buy = low < targetBuy and high > targetBuy

targetSell = fiboSell == "Fibo 1" ? lower1 : fiboSell == "Fibo 2" ? lower2 : lower3
targetSell := fiboSellReverse == false ? targetSell : fiboSell == "Fibo 1" ? upper1 : fiboSell == "Fibo 2" ? upper2 : upper3
sell = low < targetSell and high > targetSell

strategy.entry("Buy", true, when = buy)
strategy.entry("Sell", false, when = sell)