- Quadrat
- Dynamische Stop-Loss- und Take-Profit-Strategie mit Bollinger Bands
Dynamische Stop-Loss- und Take-Profit-Strategie mit Bollinger Bands
Schriftsteller:
ChaoZhangTags:
SMA
Übersicht
Strategieprinzip
- Wenn Sie kaufen, setzen Sie den Stop-Loss-Level auf den niedrigsten Preis in einem vergangenen Zeitraum und setzen Sie den Take-Profit-Level noch nicht ein.
Strategische Vorteile
- Bollinger-Bänder sind ein ausgereifter und weit verbreiteter technischer Indikator, der die Marktvolatilität effektiv erfassen kann.
- Die Strategielogik ist klar und leicht verständlich und umsetzbar.
Strategische Risiken
- In einem seitlichen Markt können häufige Kauf- und Verkaufssignale zu einem übermäßigen Handel und zu erhöhten Handelskosten führen.
Strategieoptimierungsrichtlinien
- Optimierung der Methode zur Festlegung von Stop-Loss- und Gewinnniveaus, z. B. Verwendung von Volatilitätsindikatoren wie ATR, um sie dynamischer und anpassungsfähiger an Marktveränderungen zu machen.
- Zusätzliche Filterbedingungen wie Handelsvolumen und Volatilität werden den Kauf- und Verkaufssignalen hinzugefügt, um die Zuverlässigkeit der Signale zu verbessern.
- Optimieren von Parametern, wie z. B. der Länge- und Standardabweichungsmultiplikator der Bollinger-Bänder, um die beste Parameterkombination zu finden.
Zusammenfassung
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands Strategy", overlay=true)
// Bollinger Bands settings
length = 20
src = close
mult = 2.0
// Calculate Bollinger Bands
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// Plot Bollinger Bands
plot(basis, color=color.blue, title="Middle Band")
plot(upper, color=color.red, title="Upper Band")
plot(lower, color=color.green, title="Lower Band")
// Trade logic
// Buy when the price crosses below the lower Bollinger Band
buySignal = ta.crossover(lower, src)
// Sell when the price crosses above the upper Bollinger Band
sellSignal = ta.crossover(src, upper)
// Define stop loss and take profit levels
var float stopLoss = na
var float takeProfit = na
// Calculate stop loss and take profit levels
if (buySignal)
stopLoss := ta.lowest(low, length)
takeProfit := na
if (sellSignal)
stopLoss := ta.highest(high, length)
takeProfit := na
// Update take profit on new signals
if (buySignal)
takeProfit := na
if (sellSignal)
takeProfit := na
// Execute trades
if (buySignal)
strategy.entry("Buy", strategy.long, stop=stopLoss, limit=takeProfit)
if (sellSignal)
strategy.entry("Sell", strategy.short, stop=stopLoss, limit=takeProfit)
// Plot signals on chart
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy", title="Buy Signal")
plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell", title="Sell Signal")
// Alert conditions
alertcondition(buySignal, title="Buy Alert", message="Buy Signal detected")
alertcondition(sellSignal, title="Sell Alert", message="Sell Signal detected")
Verwandt
Mehr