
La estrategia utiliza el indicador de las bandas de Brin para determinar si el precio está en la fase de integración, y el uso de brechas para determinar entradas y salidas. En general, la estrategia se basa en aprovechar las fuertes situaciones de integración de precios para obtener ganancias.
La estrategia primero calcula un promedio móvil simple de los precios de cierre de 20 días como el medio de la banda de Bryn y calcula el doble de la diferencia estándar como el ancho de banda de Bryn. Se juzga como una subida de ruptura cuando el precio es superior a la banda superior y una subida de ruptura cuando el precio es inferior a la banda inferior.
Cuando el precio se encuentra en la órbita media y baja de la banda de Bryn, se juzga como un período de integración. Cuando se detecta una señal de ruptura, se hace una entrada múltiple.
El Stop Loss se fija en el doble del indicador ATR.
La estrategia se basa principalmente en la integración y las propiedades de ruptura de la cinta de Bryn, con las siguientes ventajas:
La estrategia también tiene sus riesgos:
Respuesta:
La estrategia puede ser optimizada en las siguientes direcciones:
La estrategia en general es más sencilla y directa, logrando mayores ganancias mediante la captura de la concentración de energía generada por la integración de los precios. El espacio de optimización es mayor, se puede ajustar en términos de reglas de entrada, métodos de detención de pérdidas, etc., para obtener ganancias más estables bajo la premisa de controlar el riesgo.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Consolidation Breakout Strategy", shorttitle="CBS", overlay=true)
// Parameters
length = input(20, title="Bollinger Bands Length")
mult = input(2.0, title="Bollinger Bands Multiplier")
risk = input.float(1, title="Risk per Trade (%)") / 100
// Calculate Bollinger Bands
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev
// Entry Conditions
consolidating = ta.crossover(close, upper) and ta.crossunder(close, lower)
// Exit Conditions
breakout = ta.crossover(close, upper) or ta.crossunder(close, lower)
// Risk Management
atrVal = ta.atr(14)
stopLoss = atrVal * input.float(2, title="Stop Loss Multiplier", minval=0.1, maxval=5)
// Entry and Exit Conditions
longEntry = breakout and close > upper
shortEntry = breakout and close < lower
if (longEntry)
strategy.entry("Long", strategy.long)
if (shortEntry)
strategy.entry("Short", strategy.short)
if (longEntry and close < basis - stopLoss)
strategy.close("Long Exit")
if (shortEntry and close > basis + stopLoss)
strategy.close("Short Exit")
// Plot Entry and Exit Points
plotshape(consolidating, style=shape.triangleup, location=location.belowbar, color=color.rgb(30, 255, 0), title="Entry Signal")
plotshape(breakout, style=shape.triangledown, location=location.abovebar, color=color.rgb(255, 0, 0), title="Exit Signal")