
Die Strategie ist ein Hochfrequenz-Handelssystem, das die Bollinger Bands-Indikatoren mit Preis-Breakouts kombiniert. Die Strategie überwacht die Position des Preises in Bezug auf die Bollinger Bands, kombiniert mit den vorherigen Hoch-Low-Breakout-Signalen, um bei Überkauf-Überverkauf in den Märkten umzukehren. Das System verwendet ein 1:1-Risiko-Gewinn-Verhältnis, setzt einen Stop-Loss und zeigt die einzelnen Schlüsselpreise in einer visuellen Weise an, um den Händlern zu helfen, die Marktentwicklung intuitiv zu verstehen.
Die Kernlogik der Strategie basiert auf zwei Hauptentscheidungsbedingungen: Ein Mehrfachsignal wird ausgelöst, wenn der Preis den vorherigen Höchststand überschreitet und sich der vorherige Höchststand unterhalb der Bollinger Band befindet. Ein Abbruchsignal wird ausgelöst, wenn der Preis den vorherigen Tiefstand überschreitet und sich der vorherige Tiefstand über der Bollinger Band befindet. Die Bollinger Bandparameter verwenden einen 20-Perioden-Moving Average mit einer Doppel-Standarddifferenz zur Bestimmung des Markts und eines Überkauf-Überverkauf-Zonen-Systems.
Es ist ein vollständiges Handelssystem, das mehrere Konzepte der technischen Analyse integriert. Durch die Kombination von Bollinger Bands und Preisdurchbrüchen kann die Strategie Wendechancen in überkauften und überverkauften Bereichen des Marktes erfassen. Obwohl ein gewisser Optimierungsraum besteht, bietet das grundlegende Framework des Systems eine gute Skalierbarkeit und einen guten praktischen Wert.
/*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)