Chiến lược này tạo ra các tín hiệu giao dịch dựa trên chỉ số Bollinger Bands %B. Nó đi dài khi giá trị %B giảm xuống dưới ngưỡng đã đặt trước và áp dụng cách tiếp cận trung bình vị trí động để theo xu hướng cho đến khi lấy lợi nhuận hoặc dừng lỗ được kích hoạt. Chiến lược này phù hợp để xác định các cơ hội rút lui sau khi hỗ trợ của dải Bollinger thấp hơn bị phá vỡ.
Những lợi thế của chiến lược này là:
Ngoài ra còn có một số rủi ro liên quan đến chiến lược này:
Giải pháp:
Chiến lược có thể được tối ưu hóa hơn nữa trong các lĩnh vực sau:
Nhìn chung, đây là một chiến lược giao dịch tương đối mạnh mẽ trong dài hạn. Có chỗ để cải thiện cả độ chính xác tín hiệu và điều chỉnh tham số. Khi kết hợp với lọc tín hiệu bổ sung và kích thước vị trí thận trọng, chiến lược này có thể đạt được kết quả tốt trong thị trường xu hướng.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands %B Long Strategy", shorttitle="BB %B Long Strategy", overlay=true) // Girdiler length = input.int(20, title="BB Length") src = input(close, title="Source") dev = input.float(2.0, title="Deviation") kar_hedefi = input(5, title="Take Profit") zarar_durumu = input(100, title="Stop Loss") start_date = input(timestamp("01 Jan 2023 00:00 +0000"), "Start Date") end_date = input(timestamp("01 Jan 2024 00:00 +0000"), "End Date") altinda_kalirsa_long = input.float(0, title="hangi degerin altinda long alsin") // Bollinger Bantları %B göstergesi basis = ta.sma(src, length) stdDev = ta.stdev(src, length) upperBand = basis + dev * stdDev lowerBand = basis - dev * stdDev percentB = (src - lowerBand) / (upperBand - lowerBand) // Alım-Satım Sinyalleri longCondition = percentB < altinda_kalirsa_long // Kar/Zarar Hesaplama takeProfit = strategy.position_avg_price * (1 + kar_hedefi / 100) stopLoss = strategy.position_avg_price * (1 - zarar_durumu / 100) // Long (Alım) İşlemi if (longCondition ) strategy.entry("Long", strategy.long) strategy.exit("Take Profit/Stop Loss", "Long", limit=takeProfit, stop=stopLoss) // Take Profit Seviyesi Çizgisi plot(takeProfit, title="Take Profit", color=color.green, linewidth=1, style=plot.style_linebr)