
Die Strategie ist ein Quantifizierungssystem für den Handel auf vierstündigen Ebenen, basierend auf den Bollinger Bands, das eine Kombination aus Trendbrechern und Durchschnittsrückläufen beinhaltet. Die Strategie erfasst die Marktdynamik durch Bollinger-Abschnittsbrechern, nutzt die Eigenschaften des Preisrückgangs, um zu profitieren, und kontrolliert das Risiko durch Stop-Losses. Die Strategie verwendet dreimal so viel Leverage, dass die Risikokontrolle bei Gewinnsicherung berücksichtigt wird.
Die Kernlogik der Strategie basiert auf den folgenden Schlüsselelementen:
Es ist eine Strategie, die die Trendfolgen- und Mean-Return-Eigenschaften des Brin-Band-Indikators kombiniert. Durch strenge Positionseröffnungsbedingungen und Risikokontrollen wird das Ziel erreicht, stabile Erträge in trendigen und schwankenden Märkten zu erzielen. Die Kernvorteile der Strategie liegen in ihrer klaren Handelslogik und einem ausgefeilten Risikokontrollsystem, wobei jedoch auf Optimierungen in Bezug auf die Verwendung von Leverage und Marktumgebungsurteilen geachtet werden muss, um die Stabilität und Ertragskraft der Strategie weiter zu verbessern.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger 4H Follow", overlay=true, initial_capital=300, commission_type=strategy.commission.percent, commission_value=0.04)
// StartYear = input(2022,"Backtest Start Year")
// StartMonth = input(1,"Backtest Start Month")
// StartDay = input(1,"Backtest Start Day")
// testStart = timestamp(StartYear,StartMonth,StartDay,0,0)
// EndYear = input(2023,"Backtest End Year")
// EndMonth = input(12,"Backtest End Month")
// EndDay = input(31,"Backtest End Day")
// testEnd = timestamp(EndYear,EndMonth,EndDay,0,0)
lev = 3
// Input parameters
length = input.int(20, title="Bollinger Band Length")
mult = input.float(2.0, title="Bollinger Band Multiplier")
// Bollinger Bands calculation
basis = ta.sma(close, length)
upperBand = basis + mult * ta.stdev(close, length)
lowerBand = basis - mult * ta.stdev(close, length)
// Conditions for Open Long
openLongCondition = strategy.position_size == 0 and close > open and (close + open) / 2 > upperBand
// Conditions for Open Short
openShortCondition = strategy.position_size == 0 and close < open and (close + open) / 2 < lowerBand
// Conditions for Close Long
closeLongCondition = strategy.position_size > 0 and strategy.position_size > 0 and (close < upperBand and open < upperBand and close < open)
// Conditions for Close Short
closeShortCondition = strategy.position_size < 0 and strategy.position_size < 0 and (close > lowerBand and open > lowerBand and close > open)
// Long entry
if openLongCondition
strategy.entry("Long", strategy.long, qty=strategy.equity * lev / close)
strategy.exit("Long SL", from_entry="Long", stop=low) // Set Stop-Loss
// Short entry
if openShortCondition
strategy.entry("Short", strategy.short, qty=strategy.equity * lev / close)
strategy.exit("Short SL", from_entry="Short", stop=high) // Set Stop-Loss
// Long exit
if closeLongCondition
strategy.close("Long", comment = "TP")
// Short exit
if closeShortCondition
strategy.close("Short", comment = "TP")
// Plot Bollinger Bands
plot(upperBand, color=color.yellow, title="Upper Band")
plot(lowerBand, color=color.yellow, title="Lower Band")