Esta estrategia se basa en los indicadores de la banda de Bryn para el juicio de señales de comercio, la gestión de posiciones con el uso de un método de stop loss para el bloqueo. La estrategia monitoriza la ruptura de la banda de Bryn en el camino y en el camino, hacer más cuando el precio se rompe la banda de Bryn en el camino, hacer blanco cuando se rompe el camino, y el uso de una sola posición de stop loss en el camino inverso.
La estrategia utiliza la línea media, ascendente y descendente de los indicadores de la banda de Bryn. La línea media es la mediana de precios calculada en un determinado ciclo, la línea ascendente es el doble de la línea media más el desvío estándar, y la línea descendente es el doble de la línea media menos el desvío estándar.
El código primero calcula el trayecto medio, ascendente y descendente de la banda de Bryn; luego, para determinar si el precio se rompe o se desvía, si se rompe el trayecto, más, si se rompe el trayecto, vacío; mientras que, si el precio se rompe o se desvía en sentido inverso, se usa un solo nivel de stop loss.
En concreto, la lógica estratégica es la siguiente:
De esta manera, se puede capturar la tendencia cuando los precios de las acciones producen grandes fluctuaciones, mientras que también se puede limitar las pérdidas mediante el stop loss.
Se puede optimizar mediante combinaciones de indicadores Combine, ajustes apropiados de unidades de stop loss, etc.
Esta estrategia está basada en un indicador de la banda de Bryn; puede formar posiciones rápidamente cuando el precio se rompe, mientras que se utiliza el stop loss para controlar el riesgo. Pero sólo tener en cuenta los factores de precio puede causar errores, y los stop los más sensibles también pueden aumentar la frecuencia de las transacciones. Podemos perfeccionar aún más la estrategia mediante la optimización de parámetros, combinación de indicadores, ajuste de stop loss, etc. En general, esta estrategia nos ofrece una idea de negociación cuantificada relativamente simple y confiable.
/*backtest start: 2023-09-26 00:00:00 end: 2023-10-26 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © ROBO_Trading //@version=5 strategy(title = "Bollinger Stop Strategy", shorttitle = "BBStop", overlay = true, default_qty_type = strategy.percent_of_equity, initial_capital = 10000, default_qty_value = 100, commission_value = 0.1) //Settings long = input(true) short = input(true) length = input.int(20, minval=1) mult = input.float(2.0, minval=0.001, maxval=50) source = input(close) showbb = input(true, title = "Show Bollinger Bands") showof = input(true, title = "Show Offset") startTime = input(defval = timestamp("01 Jan 2000 00:00 +0000"), title = "Start Time", inline = "time1") finalTime = input(defval = timestamp("31 Dec 2099 23:59 +0000"), title = "Final Time", inline = "time1") //Bollinger Bands basis = ta.sma(source, length) dev = mult * ta.stdev(source, length) upper = basis + dev lower = basis - dev //Show indicator offset = showof ? 1 : 0 colorBasis = showbb ? color.gray : na colorUpper = showbb ? color.blue : na colorLower = showbb ? color.blue : na colorBands = showbb ? color.blue : na p0 = plot(basis, "Basis", color = colorBasis, offset = offset) p1 = plot(upper, "Upper", color = colorUpper, offset = offset) p2 = plot(lower, "Lower", color = colorLower, offset = offset) fill(p1, p2, title = "Background", color = colorBands, transp = 90) //Trading truetime = true if basis > 0 and truetime if long strategy.entry("Long", strategy.long, stop = upper, when = truetime) if short strategy.entry("Short", strategy.short, stop = lower, when = truetime) if long == false strategy.exit("Exit", "Short", stop = upper) if short == false strategy.exit("Exit", "Long", stop = lower) if time > finalTime strategy.close_all()