Chiến lược này là một hệ thống giao dịch đảo ngược xu hướng dựa trên chỉ số Bollinger Bands, nắm bắt các cơ hội đảo ngược thị trường bằng cách theo dõi mối quan hệ giữa giá và Bollinger Bands. Chiến lược hoạt động trên một khung thời gian 5 phút, sử dụng trung bình động 20 giai đoạn như dải giữa và 3.4 độ lệch chuẩn cho các dải trên và dưới.
Lý thuyết cốt lõi được xây dựng trên lý thuyết đảo ngược trung bình. Khi giá chạm vào dải dưới, hệ thống coi thị trường đã bán quá mức và có xu hướng mua dài; khi giá chạm vào dải trên, hệ thống coi thị trường đã mua quá mức và có xu hướng mua ngắn. Cụ thể:
Chiến lược này nắm bắt các cơ hội đảo ngược thị trường thông qua Bollinger Bands chạm, có tính năng logic rõ ràng và kiểm soát rủi ro hợp lý. Thông qua các thiết lập tham số thích hợp và các quy tắc giao dịch toàn diện, chiến lược cho thấy sự ổn định tốt trong các thị trường giới hạn phạm vi. Tuy nhiên, khi áp dụng để giao dịch trực tiếp, phải chú ý đến rủi ro đột phá xu hướng.
/*backtest start: 2024-11-11 00:00:00 end: 2024-12-11 00:00:00 period: 5h basePeriod: 5h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("5-Min Bollinger Bands Touch Strategy", overlay=true, margin_long=100, margin_short=100) // Input parameters length = input(20, title="Bollinger Bands Length") mult = input(3.4, title="Bollinger Bands Deviation") // Bollinger Bands calculation basis = ta.sma(close, length) dev = mult * ta.stdev(close, length) upper = basis + dev lower = basis - dev // Plot Bollinger Bands plot(basis, color=color.blue, title="Basis") p1 = plot(upper, color=color.red, title="Upper Band") p2 = plot(lower, color=color.green, title="Lower Band") fill(p1, p2, color=color.new(color.gray, 90)) // Bullish buying condition: 5-min low touches lower Bollinger Band bullish_entry = low <= lower and low[1] > lower[1] // Bearish selling condition: 5-min high touches upper Bollinger Band bearish_entry = high >= upper and high[1] < upper[1] // Entry and exit conditions longCondition = bullish_entry shortCondition = bearish_entry // Strategy entries if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) // Optional: Add exit conditions (you may want to customize these) // Example: Exit long position after a certain profit or loss strategy.close("Long", when = high >= basis) strategy.close("Short", when = low <= basis) // Alerts alertcondition(bullish_entry, title='Bullish BB Touch', message='5-min low touched Lower Bollinger Band') alertcondition(bearish_entry, title='Bearish BB Touch', message='5-min high touched Upper Bollinger Band') // Plot entry points plotshape(bullish_entry, title="Bullish Entry", location=location.belowbar, style=shape.triangleup, size=size.small, color=color.green) plotshape(bearish_entry, title="Bearish Entry", location=location.abovebar, style=shape.triangledown, size=size.small, color=color.red)