Chiến lược BB%B

Tác giả:ChaoZhang, Ngày: 2023-09-25 17:53:36
Tags:

Tổng quan

Chiến lược BB%B là một chiến lược giao dịch định lượng sử dụng tỷ lệ phần trăm giá trị B của Bollinger Bands để đưa ra quyết định đầu tư. Nó có thể tạo ra tín hiệu mua và bán khi giá tiếp cận đường ray trên hoặc dưới của Bollinger Bands, và thuộc về các chiến lược theo xu hướng.

Chiến lược logic

Chiến lược đầu tiên tính toán SMA của giá đóng trong một khoảng thời gian nhất định, cũng như độ lệch chuẩn, để có được đường ray trên và dưới của Bollinger Bands. Chỉ số BB%B đại diện cho vị trí của giá hiện tại trong Bollinger Bands, được tính bằng công thức (Giá hiện tại - Đường sắt dưới) / (Đường sắt trên - Đường sắt dưới). Khi BB%B giảm xuống dưới ngưỡng bán quá mức, một tín hiệu mua được tạo ra. Khi BB%B tăng trên ngưỡng mua quá mức, một tín hiệu bán được tạo ra. Sau khi tín hiệu giao dịch được kích hoạt, nếu BB%B rút lui trở lại ngưỡng ngược lại, vị trí sẽ được đóng.

Cụ thể, chiến lược đầu tiên tính toán SMA 21 ngày và độ lệch chuẩn 2x để có được đường ray trên và dưới của Bollinger Bands. Sau đó tính toán giá đóng hiện tại BB%B giá trị. Nếu BB%B dưới -0.2 (có thể cấu hình) và không có vị trí hiện tại, đi dài. Nếu BB%B trên 1.2 (có thể cấu hình) và không có vị trí hiện tại, đi ngắn. Các tín hiệu thoát được kích hoạt khi vị trí dài tồn tại và BB%B vượt qua trên 1.0 (có thể cấu hình), hoặc khi vị trí ngắn tồn tại và BB%B vượt qua dưới 0.2 (có thể cấu hình).

Chiến lược này dựa trên chỉ số BB%B để xác định xem giá hiện tại có bị kéo dài quá mức lên hay xuống, và cũng sử dụng SMA để đánh giá hướng xu hướng hiện tại. Nó tạo ra tín hiệu giao dịch khi giá vượt quá đường ray Bollinger Bands.

Phân tích lợi thế

  • Sử dụng Bollinger Bands để xác định mức mua/bán quá mức

Các đường ray phía trên và phía dưới của Bollinger Bands đại diện cho một phạm vi sai lệch tiêu chuẩn nhất định của giá hiện tại. Giá tiếp cận hoặc chạm vào các điều kiện mua quá mức tín hiệu đường ray phía trên, trong khi tiếp cận hoặc chạm vào các điều kiện bán quá mức tín hiệu đường ray phía dưới. Chiến lược BB%B sử dụng đầy đủ đặc điểm này để xác định các điểm vào và ra thích hợp.

  • Cấu hình linh hoạt để điều chỉnh tần số

Các ngưỡng BB%B, thời gian SMA, ngưỡng pullback đều có thể cấu hình, điều này cung cấp sự tiện lợi để điều chỉnh tần suất giao dịch.

  • Xác định xu hướng kết hợp

Ngoài việc xác định mua quá mức / bán quá mức với Bollinger Bands, nó cũng kết hợp SMA để đánh giá xu hướng tổng thể, tránh giao dịch chống lại xu hướng.

  • Cơ chế khôi phục để tránh tín hiệu sai

Khi giá lần đầu tiên chạm vào đường ray Bollinger Bands, xác suất mua quá mức / bán quá mức là cao, nhưng nó cũng có thể là đột phá sai ngắn hạn. Chiến lược này áp dụng ngưỡng pullback, chỉ ra khỏi các vị trí sau khi BB% B rõ ràng rút lại phía đối diện, lọc ra các tín hiệu sai.

Phân tích rủi ro

  • Không thể xác định xu hướng giá

Chiến lược chỉ xem xét chỉ số Bollinger Bands để xác định sự đảo ngược tiềm năng, bỏ qua xu hướng tổng thể, có thể dẫn đến giao dịch chống lại xu hướng và thua lỗ.

  • Mức giảm không đúng có thể bỏ lỡ cơ hội

Nếu ngưỡng rút lại được đặt quá cao, sự đảo ngược xu hướng có thể không kích hoạt thay đổi vị trí theo thời gian, bỏ lỡ cơ hội.

  • Giá chênh lệch rộng hơn khi Bollinger Bands mở rộng

Khi biến động thị trường tăng lên, khoảng cách giữa các đường ray trên và dưới cũng tăng lên, dẫn đến chênh lệch giá lớn hơn cho bước vào và bước ra, do đó rủi ro cao hơn cho mỗi giao dịch.

  • Tần suất giao dịch tương đối cao

So với các chiến lược dài hạn, chiến lược này có tần suất giao dịch cao hơn, gây ra chi phí giao dịch và trượt nhiều hơn.

Hướng dẫn cải thiện

  • Bao gồm các chỉ số xu hướng để lọc tín hiệu

Thêm các chỉ số xác định xu hướng như MACD, KDJ để chỉ kích hoạt giao dịch theo hướng xu hướng, tránh giao dịch ngược xu hướng.

  • Thực hiện cơ chế dừng lỗ

Đặt số tiền cố định hoặc tỷ lệ dừng lỗ để kiểm soát theo rủi ro giao dịch và tránh mở rộng lỗ.

  • Tối ưu hóa các kết hợp tham số

Điều chỉnh thời gian SMA, ngưỡng BB%B, ngưỡng rút lại vv để tìm sự kết hợp tham số tối ưu, lọc ra nhiều tiếng ồn hơn và cải thiện sự ổn định.

  • Xem xét chi phí giao dịch

Đối với các sản phẩm khác nhau, điều chỉnh các tham số để giảm tần suất giao dịch dựa trên hồ sơ chi phí giao dịch của họ để giảm tác động.

Tóm lại

Chiến lược BB%B là một chiến lược giao dịch định lượng đơn giản và thực tế. Nó sử dụng Bollinger Bands để xác định các điểm giá đảo ngược tiềm năng, kết hợp với SMA để định hướng xu hướng và giao dịch xung quanh mức mua quá mức / bán quá mức. Chiến lược linh hoạt để điều chỉnh tần suất. Nhưng nó cũng có những rủi ro cần cải tiến hơn nữa, xem xét các yếu tố như xu hướng tổng thể, dừng lỗ, chi phí giao dịch, để tăng sự ổn định và lợi nhuận. Khi được sử dụng đúng cách, chiến lược BB%B có thể trở thành một thành phần hiệu quả trong các hệ thống giao dịch định lượng.


/*backtest
start: 2023-08-25 00:00:00
end: 2023-09-24 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// strategy(title = "BB%B Strat", shorttitle = "BB%B Strat", format=format.price, precision=2, default_qty_type=strategy.percent_of_equity, default_qty_value=20)
length = input.int(21, minval=1)
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
ob = input.float(1.2, "Overbought Line", step=0.1)
ob_close = input.float(1.0, "Overbought Close", step=0.1)
os = input.float(-0.2, "Oversold Line", step=0.1)
os_close = input.float(0.2, "Oversold Close", step=0.1)
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
bbr = (src - lower)/(upper - lower)
p = plot(bbr, "Bollinger Bands %B", color=#26A69A)
ob_hline = hline(ob, "Overbought", color=color.red, linestyle=hline.style_dashed)
obc_hline = hline(ob_close, "Overbought Close", color=color.red, linestyle=hline.style_dashed)
os_hline = hline(os, "Oversold", color=color.green, linestyle=hline.style_dashed)
osc_hline = hline(os_close, "Oversold Close", color=color.green, linestyle=hline.style_dashed)
fill(ob_hline, obc_hline, color=color.new(color.red, 80), title="Overbought")
fill(os_hline, osc_hline, color=color.new(color.green, 80), title="Overbought")
bgcolor(bbr > ob ? color.new(color.fuchsia, 80) : (bbr < os ? color.new(color.lime, 80) : na))

if bbr < os and strategy.position_size == 0
    strategy.entry("L", strategy.long)
if bbr >= os_close and strategy.position_size > 0
    strategy.close_all()

if bbr > ob and strategy.position_size == 0
    strategy.entry("S", strategy.short)
if bbr <= ob_close and strategy.position_size < 0
    strategy.close_all()

Thêm nữa