
Chiến lược này là hệ thống giao dịch định lượng dựa trên chỉ báo Bollinger Band, nắm bắt xu hướng thị trường thông qua các tín hiệu đột phá phạm vi động. Chiến lược này sử dụng kênh độ lệch chuẩn làm chỉ báo cốt lõi và kết hợp với hệ thống quản lý quỹ để đạt được sự điều chỉnh động của tất cả các vị thế. Thiết kế tổng thể tập trung vào kiểm soát rủi ro và theo đuổi lợi nhuận ổn định.
Chiến lược này sử dụng đường trung bình động 20 kỳ làm trục trung tâm và lấy 2 lần độ lệch chuẩn ở trên và dưới để hình thành một kênh động. Khi giá vượt qua đường dưới, nó được coi là tín hiệu quá bán và hệ thống sẽ mua tất cả các cổ phiếu; khi giá vượt qua đường trên, nó được coi là tín hiệu quá mua và hệ thống sẽ bán tất cả các cổ phiếu. Độ biến động được đo bằng độ lệch chuẩn để đảm bảo khả năng thích ứng linh hoạt của các tín hiệu giao dịch. Đồng thời, chiến lược tích hợp hệ thống quản lý quỹ để tự động điều chỉnh quy mô vị thế theo vốn chủ sở hữu của tài khoản. Ngoài ra, chiến lược này còn bao gồm giao diện giao dịch tự động, có thể được thực hiện tự động thông qua WebHook và sàn giao dịch.
Chiến lược này xây dựng một hệ thống giao dịch định lượng hoàn chỉnh thông qua chỉ báo kỹ thuật Bollinger Band, kết hợp quản lý quỹ và thực hiện tự động, có tính thực tiễn cao. Mặc dù có một số hạn chế nhất định, tính ổn định và lợi nhuận của chiến lược có thể được cải thiện hơn nữa thông qua các hướng tối ưu hóa được đề xuất. Chiến lược này phù hợp với môi trường thị trường có nhiều biến động và có giá trị tham khảo cho các nhà đầu tư theo đuổi lợi nhuận ổn định.
/*backtest
start: 2024-11-26 00:00:00
end: 2024-12-25 08:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands Strategy", overlay=true, initial_capital=86, default_qty_type=strategy.percent_of_equity)
// Parameter für die Bollinger-Bänder
length = input.int(20, title="Bollinger Bands Length")
mult = input.float(2.0, title="Bollinger Bands Multiplier")
// Berechnung der Bollinger-Bänder
basis = ta.sma(close, length)
upper = basis + mult * ta.stdev(close, length)
lower = basis - mult * ta.stdev(close, length)
// Startkapital
usdt_balance = 86.0 // Anfangsbetrag in USDT
zerebro_balance = 52.0 // Anfangsbetrag in ZEREBRO
// Bedingungen für Kauf- und Verkaufssignale
longCondition = ta.crossover(close, lower)
shortCondition = ta.crossunder(close, upper)
// Kauf- und Verkaufslogik
if (longCondition and usdt_balance > 0)
strategy.entry("Buy", strategy.long, qty=usdt_balance / close)
usdt_balance := 0 // Alle USDT werden verwendet
zerebro_balance += strategy.position_size // Gekaufte ZEREBRO hinzufügen
if (shortCondition and zerebro_balance > 0)
strategy.close("Buy")
usdt_balance += strategy.position_size * close // Verkaufserlös in USDT
zerebro_balance := 0 // Alle ZEREBRO verkauft
// Plot der Bollinger-Bänder
plot(basis, color=color.blue, title="Basis")
plot(upper, color=color.green, title="Upper Band")
plot(lower, color=color.red, title="Lower Band")
// Alerts für Bybit-Verbindung
alertcondition(longCondition, title="Buy Alert", message='{"action": "buy", "symbol": "ZEREBRO/USDT"}')
alertcondition(shortCondition, title="Sell Alert", message='{"action": "sell", "symbol": "ZEREBRO/USDT"}')
// Automatische Verknüpfung mit Bybit
// Stellen Sie sicher, dass Sie den Webhook-URL in TradingView einstellen und korrekt mit Bybit verbinden.