
La estrategia es una estrategia de negociación basada en el modelo de diferencia doble estándar de la banda de Brin. Utiliza la banda de Brin como trayectoria superior y inferior y las diferencias estándar de uno y dos como señales de negociación.
La estrategia calcula primero el medio, el superior y el inferior de la banda de Brin. El medio es el SMA de CLOSE, el superior es el medio + 2*El estándar es malo, la vía inferior es la vía media-2*Diferencia estándar. Cuando el precio se rompe en la vía ascendente, produce una señal de compra más, y cuando el precio se rompe en la vía descendente, produce una señal de venta. Además, la estrategia también traza una línea de la vía media + 1 diferencia estándar y la vía media - 1 diferencia estándar.
La estrategia en su conjunto es una estrategia típica de ruptura de la banda de Brin. Utiliza el diferencial de doble estándar para aumentar la rigidez de la evaluación de la señal y el control activo del riesgo con dos líneas de parada. La estrategia tiene cierto espacio para la optimización de los parámetros, y puede obtener un mejor rendimiento de la estrategia mediante la regulación del ciclo de la órbita media y el doble de la diferencia estándar.
/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
// Bollinger Bands: Madrid : 14/SEP/2014 11:07 : 2.0
// This displays the traditional Bollinger Bands, the difference is
// that the 1st and 2nd StdDev are outlined with two colors and two
// different levels, one for each Standard Deviation
strategy(shorttitle='MBB', title='Bollinger Bands', overlay=true)
src = input(close)
length = input.int(34, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
basis = ta.sma(src, length)
dev = ta.stdev(src, length)
dev2 = mult * dev
upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2
colorBasis = src >= basis ? color.blue : color.orange
pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0))
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0))
fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))
// Entry conditions
longCondition = ta.crossover(close, upper1)
shortCondition = ta.crossunder(close, lower1)
// Entry and exit strategy
strategy.entry("Buy", strategy.long, when=longCondition)
strategy.entry("Sell", strategy.short, when=shortCondition)
strategy.close("Buy", when=shortCondition)
strategy.close("Sell", when=longCondition)