Estrategia de onda FiboBuLL basada en la ruptura de las bandas de Bollinger


Fecha de creación: 2023-12-01 14:11:56 Última modificación: 2023-12-01 14:11:56
Copiar: 0 Número de Visitas: 448
1
Seguir
1213
Seguidores

Estrategia de onda FiboBuLL basada en la ruptura de las bandas de Bollinger

Descripción general

La estrategia de ondas FiboBuLL es una estrategia de negociación basada en una versión adaptada del filtro de la cinta de Bryn, que se puede encontrar en mi página de programas. La estrategia hace más cuando el precio se cierra por encima de la vía superior y se queda en blanco cuando el precio se cierra por debajo de la vía inferior.

Las bandas de Brin son un indicador clásico que utiliza una media móvil simple de 20 períodos, y una banda ascendente y descendente de 2 diferencias estándar de la línea de referencia. Estas bandas ayudan a visualizar la volatilidad y la tendencia de los precios en función de la posición de los precios con respecto a las bandas.

La estrategia no tiene en cuenta otros parámetros como el volumen de negocios, el RSI, los fundamentos, etc., por lo que el usuario debe ejercer su libre arbitrio en función de la confirmación o los fundamentos de otros indicadores. Los resultados de la estrategia se basan exclusivamente en operaciones de más y menos, sin tener en cuenta ningún objetivo o stop loss definido por el usuario.

La estrategia funciona mejor cuando el precio se cierra con una ruptura de trayecto arriba/abajo en columnas consecutivas. La decisión de usar la estrategia o el filtro de la barra de Brin junto con otros indicadores es sin duda una decisión inteligente cuando el precio se cierra con una ruptura de trayecto arriba/abajo en la barra de Brin o se cierra con una ruptura de trayecto arriba/abajo en la barra de Brin basado en la volatilidad.

La estrategia se puede usar en gráficos de línea diurna y horaria, y también se puede encontrar tendencias en estrategias de línea positiva y negativa, pero no se recomienda para las entradas de negociación, ya que no reflejan el precio real de los activos.

Principio de estrategia

El principio central de la estrategia de ondas de FiboBuLL es la ruptura de precios basados en el indicador del cinturón de Brin. El cinturón de Brin se compone de la media, la media y la media. La media es un promedio móvil simple de 21 ciclos del precio de cierre; la media se obtiene de la media, más la distancia de la media, por encima de la diferencia estándar, que refleja el rango de fluctuación superior del precio; la media, menos la distancia de la media, por debajo de la media, por debajo de la distancia, por debajo de la diferencia estándar, que refleja el rango de fluctuación inferior del precio.

Cuando el precio de cierre en la parte superior se cruza en la órbita, se produce una señal de apertura; cuando el precio de cierre en la parte inferior se cruza en la órbita, se produce una señal de cierre. Después de hacer un cierre adicional, vuelve a romper la órbita opuesta.

La estrategia utiliza la función barssince para rastrear el precio en relación con el número de rupturas en la vía ascendente y descendente. Cuando el número de columnas de rupturas en la vía ascendente es menor que el número de columnas de rupturas en la vía descendente, se produce una señal de parálisis.

Al ajustar los parámetros del ciclo de la órbita media y el parámetro del múltiplo de la diferencia estándar, se puede cambiar la sensibilidad de ruptura de la banda de Bryn para ajustar el tiempo de entrada.

Análisis de las ventajas

La estrategia de ondas FiboBuLL tiene algunas ventajas:

  1. El uso de la banda de Brin para determinar el precio de ruptura es simple y fácil de entender
  2. La sensibilidad de la ruptura puede ser controlada mediante el ajuste de los parámetros
  3. La visualización de la barra de Brin ayuda a determinar las fluctuaciones y tendencias de los precios
  4. Se puede utilizar junto con otros indicadores para mejorar la precisión de la toma de decisiones
  5. Se puede usar en varios períodos de tiempo, es muy adaptable

Análisis de riesgos

La estrategia de ondas FiboBuLL también tiene algunos riesgos a tener en cuenta:

  1. La mera dependencia de la brecha de la banda de Bryn puede generar señales erróneas
  2. No se puede determinar la intensidad ni la duración de la ruptura.
  3. No se puede determinar la reversión de los precios después de la ruptura
  4. La configuración sin pérdidas, con alto riesgo de pérdidas

En relación con los riesgos mencionados, se puede optimizar en los siguientes aspectos:

  1. En combinación con otros indicadores, evita las señales equivocadas
  2. Determinación de la configuración de los parámetros según las pruebas de datos históricos
  3. Establezca un punto de parada y controle las pérdidas máximas
  4. Considerar la inclusión de un factor de reversión para juzgar la continuidad

Dirección de optimización

La estrategia de ondas FiboBuLL también incluye algunas de las principales direcciones de optimización:

  1. Adición de indicadores de tránsito, como el índice de marea de energía, para evitar falsas rupturas de impotencia
  2. La combinación de los indicadores de sobrecompra y sobreventa, como el RSI, mejora la precisión de la toma de decisiones
  3. Determinación de los ciclos óptimos y los múltiplos de diferencia estándar de acuerdo con la configuración de los parámetros de optimización de la retrospectiva histórica
  4. Establecer niveles de stop loss y stop loss, controlar el riesgo y bloquear los beneficios
  5. Considere la tendencia y las condiciones de filtración inversa para determinar la dirección de la continuidad
  6. Configuración de parámetros para probar diferentes variedades y períodos

Con las optimizaciones mencionadas, se puede mejorar considerablemente la estabilidad y la rentabilidad de la estrategia de ondas FiboBuLL.

Resumir

La estrategia de ondas FiboBuLL utiliza los principios básicos de las bandas de Brin para determinar las rupturas de precios y las devoluciones a la órbita media, para rastrear las fluctuaciones de los precios en la órbita media y en la órbita media, y para formar señales de negociación con rupturas. La estrategia es simple en concepto, de amplia aplicación y es una forma eficaz de seguir la volatilidad del mercado.

Sin embargo, la mera dependencia de la ruptura es propensa a la formación de señales erróneas y la impotencia de la ruptura. Por lo tanto, la combinación de la tendencia, el volumen de transacciones y otros factores para determinar la fiabilidad de la ruptura, la configuración de los riesgos de control de la parada de pérdidas, para que la máxima eficacia de la estrategia.

La estrategia de ondas de FiboBuLL nos proporciona un marco básico para determinar el momento de negociar en función de las fluctuaciones de precios. La estrategia puede ser una herramienta poderosa para tomar decisiones comerciales en el proceso de optimización continua y en combinación con otros indicadores.

Código Fuente de la Estrategia
/*backtest
start: 2022-11-24 00:00:00
end: 2023-11-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//@FiboBuLL

strategy(shorttitle='FB Wave', title='FiboBuLL Wave (A version of Bollinger Bands Breakout Strategy By Trade Chartist)', overlay=true, pyramiding=1, currency=currency.NONE, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

src = input(close, title='Source')
length = input.int(21, minval=1, title='SMA length')  // 20 for classis Bollinger Bands SMA line (basis)


mult = input.float(1., minval=0.236, maxval=2, title='Standard Deviation')  //2 for Classic Bollinger Bands //Maxval = 2 as higher the deviation, higher the risk
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)

Show = input.string('Both', options=['Longs Only', 'Shorts Only', 'Both'], title='Trade Type')
CC = input(true, 'Color Bars')

upper = basis + dev
lower = basis - dev

//Conditions for Long and Short - Extra filter condition can be used such as RSI or CCI etc.

short = src < lower  // and rsi(close,14)<40
long = src > upper  // and rsi(close,14)>60

L1 = ta.barssince(long)
S1 = ta.barssince(short)

longSignal = L1 < S1 and not (L1 < S1)[1]
shortSignal = S1 < L1 and not (S1 < L1)[1]

//Plots and Fills


////Long/Short shapes with text
// plotshape(S1<L1 and not (S1<L1)[1]?close:na, text = "sᴇʟʟ", textcolor=#ff0100, color=#ff0100, style=shape.triangledown, size=size.small, location=location.abovebar, transp=0, title = "SELL", editable = true)
// plotshape(L1<S1 and not (L1<S1)[1]?close:na, text = "ʙᴜʏ", textcolor = #008000, color=#008000, style=shape.triangleup, size=size.small, location=location.belowbar, transp=0, title = "BUY", editable = true)  

// plotshape(shortSignal?close:na, color=#ff0100, style=shape.triangledown, size=size.small, location=location.abovebar, transp=0, title = "Short Signal", editable = true)
// plotshape(longSignal?close:na, color=#008000, style=shape.triangleup, size=size.small, location=location.belowbar, transp=0, title = "Long Signal", editable = true)  


p1 = plot(upper, color=color.new(#ff0000, 75), display=display.all, title='Upper Band')
p2 = plot(lower, color=color.new(#008000, 75), display=display.all, title='Lower Band')

p = plot(basis, color=L1 < S1 ? #008000 : S1 < L1 ? #ff0000 : na, linewidth=2, editable=false, title='Basis')

fill(p, p1, color=color.new(color.teal, 85), title='Top Fill')  //fill for basis-upper
fill(p, p2, color=color.rgb(217, 161, 161), title='Bottom Fill', transp=85)  //fill for basis-lower

//Barcolor

bcol = src > upper ? color.new(#8ceb07, 0) : src < lower ? color.new(#ff0000, 0) : src > basis ? color.green : src < basis ? color.red : na

barcolor(CC ? bcol : na, editable=false, title='Color Bars')


// === INPUT BACKTEST RANGE ===
FromMonth = input.int(defval=1, title='From Month', minval=1, maxval=12)
FromDay = input.int(defval=1, title='From Day', minval=1, maxval=31)
FromYear = input.int(defval=2018, title='From Year', minval=2015)
ToMonth = input.int(defval=1, title='To Month', minval=1, maxval=12)
ToDay = input.int(defval=1, title='To Day', minval=1, maxval=31)
ToYear = input.int(defval=9999, title='To Year', minval=2010)

// === FUNCTION EXAMPLE === 
start = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)  // backtest finish window
window() =>
    time >= start and time <= finish ? true : false

if window() and (Show == 'Longs Only' or Show == 'Both')
    strategy.entry('AL', direction=strategy.long, when=longSignal)
    strategy.close('LongAL', when=shortSignal, comment='AL KAPA')

if window() and (Show == 'Shorts Only' or Show == 'Both')
    strategy.entry('SAT', direction=strategy.short, when=shortSignal)
    strategy.close('SAT', when=longSignal, comment='SAT KAPA')