
Die Strategie ist ein Brin-Channel-basiertes, adaptives Handelssystem, das Positionsverwaltung durch dynamische Überwachung der Preisbeziehung mit dem Brin-Band ermöglicht. Die Strategie verwendet die 20-Tage-Mittellinie als Mittelstraße und die doppelte Standardabweichung als Kanalbreite, um in Kombination mit Durchbruchbestätigungen und Zeitzyklusurteilen ein Handelssignal auszulösen und eine optimierte Konfiguration des Kapitals zu erreichen.
Die Strategie nutzt die statistischen Prinzipien des Brin-Kanals, um die Preisschwankungen innerhalb eines normalen Verteilungsbereichs zu kontrollieren.
Die Strategie baut ein vollständiges Handelssystem auf, das eine Balance zwischen Trendverfolgung und Risikokontrolle herstellt. Obwohl ein gewisser Optimierungsraum besteht, entspricht die Gesamtkonzeption den Kernprinzipien des quantifizierten Handels und hat praktische Anwendungswerte.
/*backtest
start: 2024-11-11 00:00:00
end: 2024-12-10 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands Strategy", overlay=true)
// 設定布林通道
length = 20
source = close
mult = 2.0
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev
// 畫出布林通道
plot(upper, color=color.red, linewidth=1)
plot(basis, color=color.blue, linewidth=1)
plot(lower, color=color.green, linewidth=1)
// 設定買入條件:突破布林通道高點5%或持續1小時在高點上方
breakout_level = upper * 1.01
hour_breakout = ta.change(time("60")) == 1 and close > upper
buy_condition = (close > breakout_level or hour_breakout)
if (buy_condition)
strategy.entry("Buy", strategy.long, qty=0.5)
// 設定賣出條件:第一次回測中線、跌破低點5%或回升中線
sell_10_condition = ta.crossover(close, basis) and strategy.opentrades > 0
sell_50_condition = close < lower * 0.95
// 賣出10%現貨
if (sell_10_condition)
strategy.close("Buy", qty=0.1)
// 賣出50%現貨
if (sell_50_condition)
strategy.close("Buy", qty=0.5)
// 監控買入與賣出信號
plotshape(series=buy_condition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=sell_10_condition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell 10% Signal")
plotshape(series=sell_50_condition, location=location.abovebar, color=color.blue, style=shape.labeldown, title="Sell 50% Signal")