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.
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.
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.
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.
Chiến lược có thể được tối ưu hóa trong các khía cạnh sau:
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.
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.
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.
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.
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)