Chiến lược Bollinger Band Breakout

Tác giả:ChaoZhang, Ngày: 2023-09-11 12:24:43
Tags:

Nguyên tắc chiến lược

Bollinger Bands là một loại hình giao dịch giao dịch được sử dụng để tạo ra các dấu hiệu giảm xu hướng. Các thông số chính để xây dựng Bollinger Bands là thời gian băng trung gian n và nhân lệ lệch chuẩn m. Các giá trị điển hình là 20 thời gian và 1.5x độ lệch chuẩn. Cài đặt n và m ảnh hưởng trực tiếp đến chiều rộng của các băng, và do đó tần suất tín hiệu đột phá. Thời gian có thể được đặt giữa 10-20, trong khi số điểm chênh lệch chuẩn m có thể được đặt giữa 1-2x.

Lợi thế của chiến lược này là sử dụng Bollinger Bands để xác định xu hướng và biến động của thị trường, và vào dựa trên tín hiệu đột phá và thoát ra khi rút lui. Tuy nhiên, các vấn đề như chậm băng tần, tín hiệu đột phá không đáng tin cậy và thiếu stop loss tồn tại. Nhìn chung, chiến lược này hoạt động tốt hơn ở các thị trường có xu hướng rõ ràng, nhưng nên được sử dụng cẩn thận. Tối ưu hóa các thông số, thêm các điểm dừng và bộ lọc tín hiệu có thể cải thiện sự ổn định của chiến lược.

Tóm lại, trong khi chiến lược Bollinger Band breakout có một số ưu điểm, nó cũng mang lại rủi ro đáng kể. Chỉ với tối ưu hóa, kiểm soát rủi ro và quản lý tiền đúng cách, chiến lược này có thể được áp dụng trong giao dịch trực tiếp một cách ổn định.


/*backtest
start: 2022-09-04 00:00:00
end: 2023-09-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Bollinger Band Breakout", shorttitle = "BB-BO",default_qty_type = strategy.percent_of_equity,default_qty_value = 100, 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 

basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

if (crossover(source, upper))
    strategy.entry("Long", strategy.long)


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)


Thêm nữa