Die Strategie basiert auf dem Bollinger Bands-Indikator und erzeugt Handelssignale, indem der Preis den Bollinger Bands durchbricht. Man macht mehr, wenn der Preis den Bollinger Band durchbricht, und macht weniger, wenn er den Bollinger Band durchbricht. Gleichzeitig wird bei mehreren Bestellungen der Preis, wenn er den Bollinger Band durchbricht, flach gehalten; bei leeren Bestellungen, wenn der Preis den Bollinger Band durchbricht, ist der Kurs flach.
Die BB-Gleichlinie-Breakthrough-Strategie ist eine Handelsstrategie, die auf dem Brennband-Indikator basiert und durch die Erfassung von Gelegenheiten, bei denen der Preis den Brennband-Abschwung erreicht, gehandelt wird. Die Vorteile der Strategie sind, dass das Signal klar und leicht zu realisieren ist, und es gibt gewisse Risikokontrollen. Die Strategie hat jedoch auch einige Einschränkungen, wie möglicherweise zu hohe Handelsfrequenz und Probleme mit Signalverzögerungen. In der Praxis können daher Verbesserungen der Strategie in Bezug auf Signalbestätigung, Stop-Loss-Optimierung, Parameteroptimierung, um die Stabilität und Profitabilität der Strategie zu verbessern, 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")