
Esta estrategia se basa en los indicadores de la banda de Brin para determinar las señales de negociación y gestionar las posiciones con un método de parada de pérdidas. La estrategia monitoreará las rupturas de la banda de Brin en la vía ascendente y descendente, hará más cuando el precio rompa la banda de Brin en la vía ascendente, hará un vacío cuando rompa la vía descendente y usará un solo puesto de parada de pérdidas cuando se rompa.
La estrategia utiliza el mediano, el mediano superior y el mediano inferior en el indicador de la banda de Bryn. El mediano superior es el promedio de los precios calculado en un período determinado, el mediano superior es el doble de la diferencia estándar, y el mediano inferior es el doble de la diferencia estándar.
El código calcula primero el medio, el alto y el bajo de la banda de Brin. Luego, se determina si el precio se rompe en el alto o en el bajo. Si se rompe en el alto, se hace más, si se rompe en el bajo, se hace vacío.
En concreto, la lógica de la estrategia es la siguiente:
De esta manera, se puede capturar la tendencia cuando los precios de las acciones se producen grandes fluctuaciones, pero también se puede limitar las pérdidas mediante el stop loss.
Se puede optimizar a través de combinaciones de indicadores Combine, ajustando adecuadamente las unidades de detención de pérdidas.
Esta estrategia se basa en el indicador de la banda de Brin para diseñar una estrategia de seguimiento de tendencias más simple. Puede formar posiciones rápidamente cuando el precio se rompe, y al mismo tiempo utilizar los paros para controlar el riesgo. Pero solo considerar los factores de precio puede conducir a errores de juicio, y los paros demasiado sensibles pueden aumentar la frecuencia de las operaciones.
/*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()