Chiến lược Bollinger Band breakout là một chiến lược theo xu hướng. Nó sử dụng phạm vi biến động để xác định các điểm nhập và thoát. Cụ thể, nó sử dụng các dải trên và dưới của Bollinger Bands để đánh giá giá liệu giá có bị phá vỡ hay không. Nó đi dài khi giá phá vỡ trên dải trên và đóng các vị trí khi giá phá vỡ dưới dải dưới.
Chiến lược này dựa trên chỉ số Bollinger Bands.
Ở đây k thường được thiết lập ở mức 1,5 hoặc 2. Khi giá vượt qua dải trên, nó cho thấy cổ phiếu đang bước vào vùng mạnh và do đó đi dài. Khi giá vượt qua dải dưới, nó cho thấy cổ phiếu đang bước vào vùng yếu và do đó đóng các vị trí.
Chiến lược này sử dụng đường trung gian 20 giai đoạn và độ lệch chuẩn 1,5 để xây dựng Bollinger Bands. Nó đi dài khi giá vượt qua dải trên. Có hai lựa chọn để ra:
Tùy chọn 1 hoạt động tốt hơn cho các cổ phiếu biến động cao.
Những lợi thế chính của chiến lược này là:
Chiến lược này cũng có một số rủi ro:
Những rủi ro này có thể được giảm thiểu thông qua tối ưu hóa các tham số, kết hợp các chỉ số khác, v.v.
Chiến lược này có thể được tối ưu hóa trong một số khía cạnh:
Chiến lược Bollinger Band breakout nói chung là một chiến lược theo xu hướng khá cổ điển. Nó có thể được cải thiện thông qua tối ưu hóa tham số và quy tắc để phù hợp hơn với các môi trường thị trường khác nhau. Chiến lược dễ hiểu và thực hiện, làm cho nó trở thành một lựa chọn chiến lược điểm khởi đầu tuyệt vời cho giao dịch định lượng.
/*backtest start: 2023-12-03 00:00:00 end: 2024-01-02 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Senthaamizh //@version=4 strategy(title="Bollinger Band Breakout", shorttitle = "BB-BO", overlay=true) source = close length = input(20, minval=1, title = "Period") //Length of the Bollinger Band mult = input(1.5, minval=0.001, maxval=50, title = "Standard Deviation") // Use 1.5 SD for 20 period MA; Use 2 SD for 10 period MA exit = input(1, minval=1, maxval=2,title = "Exit Option") // Use Option 1 to exit using lower band; Use Option 2 to exit using moving average basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev if (crossover(source, upper)) strategy.entry("Long", strategy.long, qty=1) if(exit==1) if (crossunder(source, lower)) strategy.close("Long") if(exit==2) //basis is good for N50 but lower is good for BN (High volatility) if (crossunder(source, basis)) strategy.close("Long") plot(basis, color=color.red,title= "SMA") p1 = plot(upper, color=color.blue,title= "UB") p2 = plot(lower, color=color.blue,title= "LB") fill(p1, p2)