Diese Strategie ist ein Hochfrequenz-Handelssystem, das Bollinger Bands-Indikatoren mit Preis-Breakout-Signalen kombiniert. Die Strategie überwacht die Beziehung zwischen Preis und Bollinger Bands, kombiniert mit früheren High- und Low-Point-Breakout-Signalen, um Umkehrgeschäfte bei Marktüberkauf und Überverkauf auszuführen. Das System implementiert ein 1:1 Risiko-Rendite-Verhältnis für Gewinn- und Verlustziele und visualisiert wichtige Preisniveaus, um Händlern zu helfen, Markttrends intuitiv zu verstehen.
Die Kernlogik der Strategie basiert auf zwei Hauptbedingungen: ein Kaufsignal wird ausgelöst, wenn der Preis über das vorherige Hoch bricht und das Hoch unterhalb des unteren Bollinger Bands liegt; ein Verkaufssignal wird ausgelöst, wenn der Preis unter dem vorherigen Tief bricht und das Tief über dem oberen Bollinger Band liegt. Die Bollinger Bands-Parameter verwenden einen gleitenden Durchschnitt über 20 Perioden mit 2 Standardabweichungen, um die Marktvolatilitätsspanne und die Überkauf-/Überverkaufsgebiete zu bestimmen. Nach Auslösen von Handelssignalen setzt das System automatisch die entsprechenden Stop-Loss- und Zielniveaus und visualisiert sie durch verschiedene Linienstile.
Dies ist ein umfassendes Handelssystem, das mehrere technische Analysekonzepte integriert. Durch die Kombination von Bollinger Bands-Indikatoren und Preis-Breakouts kann die Strategie Umkehrchancen in überkauften und überverkauften Marktbereichen erfassen. Während es Raum für Optimierung gibt, hat das grundlegende Rahmenwerk des Systems eine gute Erweiterbarkeit und praktischen Wert. Durch ein angemessenes Risikomanagement und eine Optimierung der Parameter hat diese Strategie das Potenzial, im tatsächlichen Handel stabile Renditen zu erzielen.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-03 00:00:00 period: 2d basePeriod: 2d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Band Scalping", overlay=true) // Input for Bollinger Bands length and standard deviation bbLength = input(20, title="Bollinger Bands Length") stdDev = input(2.0, title="Bollinger Bands Std Dev") // Calculate and plot the Bollinger Bands basis = ta.sma(close, bbLength) deviation = stdDev * ta.stdev(close, bbLength) upperBB = basis + deviation lowerBB = basis - deviation // Get previous candle's values prevHigh = high[1] // Previous candle high prevLow = low[1] // Previous candle low // Buy Signal Condition: Current high crossed above previous high and previous high is below the lower Bollinger Band buyCondition = ta.crossover(high, prevHigh) and (prevHigh < lowerBB[1]) // Sell Signal Condition: Current low crossed below previous low and previous low is above the upper Bollinger Band sellCondition = ta.crossunder(low, prevLow) and (prevLow > upperBB[1]) // Entry and exit for Buy signals if (buyCondition) strategy.entry("Buy", strategy.long) // Calculate target and stop loss stopLossPrice = prevLow targetPrice = prevHigh + (prevHigh - stopLossPrice) // 1:1 RR target // Set stop loss and target orders strategy.exit("Sell", "Buy", limit=targetPrice, stop=stopLossPrice) // // Plot entry line // line.new(x1=bar_index, y1=prevHigh, x2=bar_index + 12, y2=prevHigh, color=color.green, width=2, style=line.style_solid) // // Plot stop loss line // line.new(x1=bar_index, y1=stopLossPrice, x2=bar_index + 12, y2=stopLossPrice, color=color.red, width=1, style=line.style_dashed) // // Plot target line // line.new(x1=bar_index, y1=targetPrice, x2=bar_index + 12, y2=targetPrice, color=color.blue, width=2, style=line.style_solid) // Entry and exit for Sell signals if (sellCondition) strategy.entry("Sell", strategy.short) // Calculate target and stop loss stopLossPriceSell = prevHigh targetPriceSell = prevLow - (stopLossPriceSell - prevLow) // 1:1 RR target // Set stop loss and target orders strategy.exit("Cover", "Sell", limit=targetPriceSell, stop=stopLossPriceSell) // // Plot entry line // line.new(x1=bar_index, y1=prevLow, x2=bar_index + 12, y2=prevLow, color=color.red, width=2, style=line.style_solid) // // Plot stop loss line // line.new(x1=bar_index, y1=stopLossPriceSell, x2=bar_index + 12, y2=stopLossPriceSell, color=color.green, width=1, style=line.style_dashed) // // Plot target line // line.new(x1=bar_index, y1=targetPriceSell, x2=bar_index + 12, y2=targetPriceSell, color=color.blue, width=2, style=line.style_solid) // Plotting Bollinger Bands with 70% transparency plot(upperBB, color=color.red, title="Upper Bollinger Band", transp=70) plot(lowerBB, color=color.green, title="Lower Bollinger Band", transp=70) plot(basis, color=color.blue, title="Middle Band", transp=70)