Chiến lược Bollinger Bands đảo ngược

Tác giả:ChaoZhang, Ngày: 2023-12-06 11:20:30
Tags:

img

Tổng quan

Chiến lược Bollinger Bands đảo ngược là một chiến lược giao dịch ngoại hối dựa trên Bollinger Bands. Nó hoạt động tốt nhất trên các cặp JPY. Khi giá vượt qua giới hạn trên hoặc dưới của Bollinger Bands, nó thực hiện một hoạt động đảo ngược với giá mục tiêu đặt ở điểm cao nhất hoặc thấp nhất của 10 ngọn nến cuối cùng.

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

Chiến lược này xây dựng các đường ray trên và dưới dựa trên trung bình di chuyển đơn giản 20 ngày và độ lệch chuẩn gấp 2 lần. Khi giá đóng của nến hiện tại phá vỡ đường ray dưới, đi dài; khi nó phá vỡ đường ray trên, đi ngắn. Giá dừng lỗ được đặt ở mức giá thấp nhất của 10 nến cuối cùng, và giá lấy lợi nhuận được đặt ở mức giá cao nhất của 10 nến cuối cùng.

Cụ thể, nếu giá mở của nến trước thấp hơn đường ray dưới, và giá đóng của nến hiện tại cũng thấp hơn đường ray dưới, sau đó mua dài. Giá dừng lỗ được đặt ở mức giá thấp nhất của 10 nến cuối cùng, và giá lấy lợi nhuận được đặt ở mức giá cao nhất của 10 nến cuối cùng.

Ngược lại, nếu giá mở của nến trước đó cao hơn đường ray trên, và giá đóng của nến hiện tại cũng cao hơn đường ray trên, sau đó đi ngắn. Giá dừng lỗ được đặt ở mức giá cao nhất của 10 nến cuối cùng, và giá lấy lợi nhuận được đặt ở mức giá thấp nhất của 10 nến cuối cùng.

Phân tích lợi thế

Chiến lược này có các đặc điểm của giao dịch đảo ngược. Khi giá vượt qua Bollinger Bands, nó chỉ ra rằng một sự đảo ngược xu hướng đang diễn ra, vì vậy một hoạt động đảo ngược được thực hiện. Việc thiết lập dừng lỗ và lấy lợi nhuận cũng hợp lý để có được tỷ lệ rủi ro-lợi nhuận tốt.

Ngoài ra, chiến lược này có ít tham số và đơn giản để thực hiện và dễ hiểu.

Phân tích rủi ro

Rủi ro lớn nhất của chiến lược này là nó không thể xác định hiệu quả điểm uốn của xu hướng. Sau khi giá vượt qua giới hạn trên và dưới của Bollinger Bands, xu hướng ban đầu có thể tiếp tục chạy. Nếu làm thị trường ngược lại được thực hiện tại thời điểm này, nó có thể gây ra tổn thất.

Ngoài ra, các thiết lập dừng lỗ và lấy lợi nhuận cho mức cao và thấp gần đây cũng mang lại rủi ro. Nếu một sự đảo ngược hình chữ V xảy ra trên thị trường, việc dừng lỗ có thể bị phá vỡ trực tiếp.

Để kiểm soát rủi ro, một mức dừng lỗ hợp lý có thể được thiết lập để giảm lỗ cho mỗi giao dịch.

Hướng dẫn tối ưu hóa

Chiến lược có thể được tối ưu hóa trong các khía cạnh sau:

  1. Tăng điều kiện lọc để tránh tín hiệu sai. Các bộ lọc khối lượng giao dịch có thể được thiết lập để đảm bảo rằng khối lượng giao dịch mở rộng khi có sự đột phá để xác nhận sự đảo ngược xu hướng.

  2. Tối ưu hóa các thiết lập tham số. Kiểm tra tác động của các thiết lập tham số khác nhau đối với kết quả để tìm kết hợp tham số tối ưu.

  3. Kiểm tra tín hiệu mua và bán với các chỉ số khác như RSI và các dao động khác để xác nhận độ tin cậy của tín hiệu.

  4. Sử dụng máy học và các phương pháp khác để tối ưu hóa stop loss và lấy lợi nhuận để làm cho chiến lược thích nghi hơn.

Kết luận

Chiến lược Reversal Bollinger Bands là một chiến lược giao dịch ngắn hạn đơn giản và thực tế nói chung. Nó có các hoạt động đảo ngược và rủi ro có thể kiểm soát được, phù hợp với giao dịch trong ngày. Nhưng các tham số và điều kiện lọc cần được tối ưu hóa hơn nữa để giảm tín hiệu sai và cải thiện hiệu quả. Nếu kết hợp với các chỉ số kỹ thuật khác và dừng mất mát năng động và lấy lợi nhuận, hiệu suất của chiến lược này vẫn có nhiều chỗ để cải thiện.


/*backtest
start: 2023-11-01 00:00:00
end: 2023-11-03 18:59:59
period: 4h
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