Diese Strategie basiert auf dem Bollinger Bands-Indikator und erzeugt Handelssignale, wenn der Preis die oberen oder unteren Bands durchbricht. Sie geht lang, wenn der Preis über den oberen Band bricht und kurz, wenn der Preis unter den unteren Band bricht. Darüber hinaus schließt sie, wenn sie eine Long-Position hält, die Position, wenn der Preis unter den unteren Band fällt; wenn sie eine Short-Position hält, schließt sie die Position, wenn der Preis über den oberen Band bricht. Die Strategie zielt darauf ab, die Marktvolatilität zu erfassen, Trades einzugehen, wenn sich die Preisschwankungen verschärfen und die Preise rechtzeitig zu verlassen, wenn sie umgekehrt sind.
Die BB Breakout Strategie ist eine Handelsstrategie, die auf dem Bollinger Bands Indikator basiert und Handelsmöglichkeiten sucht, wenn die Preise die oberen oder unteren Bands durchbrechen. Die Vorteile der Strategie sind klare Signale und einfache Umsetzung, mit bestimmten Risikokontrollmaßnahmen. Die Strategie hat jedoch auch einige Einschränkungen, wie möglicherweise hohe Handelsfrequenz und Signalverzögerung. Daher können in praktischen Anwendungen Verbesserungen in Bereichen wie Signalbestätigung, Stop-Loss-Optimierung und Parameteroptimierung zur Steigerung der Stabilität und Rentabilität der Strategie in Betracht gezogen werden.
/*backtest start: 2023-06-08 00:00:00 end: 2024-06-13 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("BB Strategy", overlay=true) // Input parameters length = input.int(20, minval=1, title="Length") maType = input.string("SMA", "Basis MA Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"]) src = input(close, title="Source") mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev") offset = input.int(0, "Offset", minval=-500, maxval=500, title="Offset") // Moving average function ma(source, length, _type) => switch _type "SMA" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) // Calculate Bollinger Bands basis = ma(src, length, maType) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev // Plot Bollinger Bands plot(basis, "Basis", color=color.blue, offset=offset) p1 = plot(upper, "Upper", color=color.red, offset=offset) p2 = plot(lower, "Lower", color=color.green, offset=offset) fill(p1, p2, title="Background", color=color.rgb(33, 150, 243, 95)) // Strategy logic longCondition = ta.crossover(close, upper) shortCondition = ta.crossunder(close, lower) // Strategy entries and exits if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) if (shortCondition and strategy.position_size > 0) strategy.close("Long") if (longCondition and strategy.position_size < 0) strategy.close("Short")