Chiến lược Bollinger Bands Breakout

Tác giả:ChaoZhang, Ngày: 2024-02-20 15:53:12
Tags:

img

Tổng quan

Chiến lược Bollinger Bands breakout là một chiến lược giao dịch định lượng đơn giản dựa trên chỉ số Bollinger Bands. Chiến lược sử dụng các mức hỗ trợ và kháng cự năng động được cung cấp bởi các dải trên và dưới của Bollinger Bands để thiết lập các quy tắc nhập cảnh cho các vị trí dài khi giá vượt qua các dải và các quy tắc thoát khi giá vượt qua các dải, nhằm mục đích nắm bắt các cơ hội theo xu hướng trong các biến động giá.

Chiến lược logic

Chỉ số Bollinger Bands được phát triển bởi John Bollinger vào những năm 1980. Nó bao gồm trung bình động n giai đoạn và m lần độ lệch chuẩn trên và dưới nó.

Điều kiện nhập cảnh cho chiến lược này là: một vị trí dài sẽ được thực hiện khi giá đóng cửa vượt qua dưới dải Bollinger dưới; một vị trí ngắn sẽ được thực hiện khi giá đóng cửa vượt qua trên dải Bollinger trên. Các quy tắc thoát là: cho các vị trí dài hiện có, thanh lý khi giá đóng cửa vượt qua dải trên; cho các vị trí ngắn hiện có, che khi giá đóng cửa vượt qua dải dưới.

Đây là một chiến lược theo xu hướng. Bằng cách nắm bắt sự tiếp tục của xu hướng được báo hiệu bằng cách phá vỡ Bollinger Bands, nó nhằm mục đích lợi nhuận từ các biến động giá theo hướng bền vững.

Ưu điểm

  1. Sử dụng Bollinger Bands làm mức hỗ trợ / kháng cự năng động thay vì giá cố định làm cho chiến lược thích nghi với điều kiện thị trường thay đổi.

  2. Các quyết định dựa trên cả mức giá và điều kiện biến động, tránh một số tín hiệu sai.

  3. Khung thoát là đơn giản và trực quan.

  4. Điều chỉnh các thông số linh hoạt làm cho chiến lược có thể thích nghi giữa các sản phẩm và thị trường.

Rủi ro

  1. Việc điều chỉnh các tham số của các chỉ số có thể gây ra giao dịch quá thường xuyên và chi phí không cần thiết.

  2. Các tín hiệu đột phá có thể chỉ là biến động giá ngắn hạn thay vì xu hướng bền vững.

  3. Việc thiếu dừng lỗ khiến chiến lược bị rủi ro mất mát không kiểm soát.

  4. Hệ thống kỹ thuật thuần túy bỏ lỡ sự đảo ngược xu hướng cơ bản.

  5. Hiệu suất có thể khác nhau giữa các sản phẩm khác nhau mà không cần điều chỉnh.

Cơ hội gia tăng

  1. Tối ưu hóa các thông số để tăng độ bền.

  2. Bao gồm lệnh dừng lỗ để hạn chế lỗ.

  3. Xây dựng hệ thống nhiều khung thời gian để cải thiện các quyết định.

  4. Thêm bộ lọc âm lượng để tránh tín hiệu sai.

  5. Hoàn thành các nguyên tắc cơ bản để có thời gian tốt hơn và các vị trí kích thước.

  6. Đánh giá chiến lược trên nhiều sản phẩm hơn để kiểm tra khả năng thích nghi.

Tóm lại

Chiến lược Bollinger Bands Breakout cung cấp một cách tiếp cận theo xu hướng đơn giản bằng cách lái động lực được báo hiệu bởi các dấu hiệu dựa trên các dấu hiệu. Sức mạnh của nó nằm trong việc xác định năng động các xu hướng tiếp tục. Kiểm soát rủi ro thích hợp và cải thiện độ bền có thể biến nó thành một chiến lược có hệ thống khả thi.


/*backtest
start: 2024-01-20 00:00:00
end: 2024-02-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands Strategy", overlay=true)

length = input.int(20, title="Bollinger Bands Length", minval=1)
maType = input.string("SMA", title="Basis MA Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(2.0, title="StdDev Multiplier", minval=0.001, maxval=50)
offset = input.int(0, title="Offset", minval=-500, maxval=500)

ma(source, length, _type) =>
    switch _type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev + offset
lower = basis - dev - offset

// Define strategy entry and exit conditions
strategy.entry("Buy", strategy.long, when=close < lower)
strategy.close("Buy", when=close > upper)

strategy.entry("Sell", strategy.short, when=close > upper)
strategy.close("Sell", when=close < lower)

// Plotting the Bollinger Bands
plot(basis, color=color.blue, title="Basis")
plot(upper, color=color.red, title="Upper Band")
plot(lower, color=color.green, title="Lower Band")


Thêm nữa