Chiến lược cổ phiếu Bollinger Breakout

Tác giả:ChaoZhang, Ngày: 2023-12-15 16:20:57
Tags:

img

Tổng quan

Chiến lược Bollinger Breakout Stock là một chiến lược giao dịch định lượng theo dõi biến động giá cổ phiếu bằng cách sử dụng Bollinger Bands để xác định khi nào giá vượt ra khỏi phạm vi biến động bình thường của họ và tạo ra tín hiệu giao dịch. Nó đi dài khi giá phá vỡ bên dưới Bollinger Band dưới và đi ngắn khi giá phá vỡ trên Bollinger Band trên. Chiến lược theo dõi xu hướng giá ngắn hạn và phù hợp với giao dịch ngắn hạn.

Chiến lược logic

Chiến lược tính toán dải giữa, dải trên và dải dưới bằng cách sử dụng giá đóng cửa 20 ngày. Dải giữa là một đường trung bình di chuyển đơn giản 20 ngày, trong khi dải trên và dải dưới được đặt ở khoảng cách 2 độ lệch chuẩn từ dải giữa.

Khi giá đóng cửa chứng khoán phá vỡ dưới dải dưới, nó báo hiệu rằng giá đã vượt ra khỏi phạm vi biến động bình thường và đang bắt đầu một xu hướng tăng mới. Chiến lược sẽ đi dài tại thời điểm này dựa trên mã. Stop loss được đặt ở mức thấp nhất trong 10 thanh gần đây, trong khi lấy lợi nhuận được đặt ở mức cao nhất trong 10 thanh gần đây.

Khi giá phá vỡ trên dải trên, nó báo hiệu sự khởi đầu của một xu hướng giảm mới. Chiến lược sẽ đi ngắn ở đây. Stop loss là mức cao nhất 10 bar và lấy lợi nhuận là mức thấp nhất 10 bar.

Chiến lược này sử dụng hiệu quả Bollinger Bands để xác định sự thay đổi xu hướng và phạm vi biến động, vào sớm khi giá có khả năng đảo ngược.

Phân tích lợi thế

Những lợi thế chính của chiến lược này là:

  1. Xác định hiệu quả các điểm thay đổi xu hướng bằng cách sử dụng Bollinger Bands, bắt các xu hướng ngắn hạn hiệu quả.

  2. Rủi ro rút vốn nhỏ hơn do dừng lỗ được đặt ở mức thấp nhất gần đây, hạn chế lỗ.

  3. Lấy lợi nhuận đặt ở mức cao nhất gần đây cho phép tối đa hóa lợi nhuận từ các động thái xu hướng một chiều.

  4. Logic đơn giản và rõ ràng, dễ hiểu và sửa đổi, phù hợp với những người mới bắt đầu giao dịch lượng tử.

Phân tích rủi ro

Ngoài ra còn có một số rủi ro cần xem xét:

  1. Bollinger Bands rất nhạy cảm với sự thay đổi biến động, các thông số không phù hợp có thể gây ra tín hiệu sai.

  2. Sự biến động giá cổ phiếu cao, dừng lỗ được kích hoạt quá sớm, không thể đi theo xu hướng.

  3. Các chỉ số khác có thể được thêm vào để xác định các mục trước đó.

  4. Thị trường không thể đoán trước làm cho lợi nhuận / dừng lỗ khó khăn, can thiệp thủ công cần thiết để điều chỉnh các thông số.

Các lĩnh vực cải thiện

Một số cách để cải thiện thêm chiến lược:

  1. Thêm các chỉ số khác để xác nhận tín hiệu, ví dụ như tăng âm lượng.

  2. Điều chỉnh động các tham số Bollinger để phù hợp với biến động thay đổi.

  3. Cải thiện stop loss/take profit, ví dụ: trailing stop loss, phác thảo profit taking.

  4. Kiểm tra các thông số trên các cổ phiếu khác nhau để tìm ra phù hợp nhất.

  5. Giới thiệu máy học để tự động tối ưu hóa các thông số.

Tóm lại

Chiến lược Bollinger Breakout có logic rõ ràng để xác định sự đảo ngược. Rủi ro rút vốn hạn chế cho phép nắm bắt xu hướng ngắn hạn. Nhưng cũng có giới hạn mục tiêu lợi nhuận và các vấn đề chậm tín hiệu. Có thể được cải thiện thông qua điều chỉnh tham số, tốt hơn dừng lỗ / lấy lợi nhuận, thêm bộ lọc vv.


/*backtest
start: 2023-11-14 00:00:00
end: 2023-12-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

// Initial settings
strategy("Bulle de bollinger", overlay = true)

// Parameter Settings
mdl = sma(close, 20)
dev = stdev(close, 20)

upr = mdl + 2*dev
lwr = mdl - 2*dev

// Plot
plot(mdl, color = color.green) // Plot moving average
p1 = plot(upr, color = color.red) // Plot Upper_band
p2 = plot(lwr, color = color.green) // Plot lower band
fill(p1, p2, color = color.blue) // Fill transparant color between the 2 plots

// Strategy entry & close

if open[1] < lwr[1] and close[1] < lwr[1] // Previous price lower than lower band and current close is higher than lower band
    stop_level = lowest(10)
    profit_level = highest(10)
    strategy.entry(id = 'bb_buy', long = true)
    strategy.exit("TP/SL", "bb_buy", stop=stop_level, limit=profit_level)
    
if open[1] > upr[1] and close[1] > upr // Previous price is higher than higher band & current close is lower the higher band
    stop_level = highest(10)
    profit_level = lowest(10)
    //strategy.entry(id = 'bb_sell', long = false)
    //strategy.exit("TP/SL", "bb_sell", stop=stop_level, limit=profit_level)

Thêm nữa