Chiến lược này là một hệ thống giao dịch đảo ngược trung bình dựa trên Bollinger Bands, được tối ưu hóa với các bộ lọc xu hướng và cơ chế dừng lỗ năng động. Nó áp dụng các nguyên tắc thống kê để giao dịch độ lệch giá từ trung bình trong khi sử dụng các chỉ số kỹ thuật để cải thiện tỷ lệ thắng và quản lý rủi ro.
Chiến lược được xây dựng trên một số thành phần chính:
Chiến lược này kết hợp phân tích kỹ thuật cổ điển với các phương pháp định lượng hiện đại. Thông qua việc xác nhận nhiều chỉ số và kiểm soát rủi ro nghiêm ngặt, chiến lược chứng minh tính thực tế tốt.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-17 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Optimized Bollinger Mean Reversion", overlay=true) // Bollinger Band Settings length = input.int(20, title="BB Length") src = input(close, title="Source") mult = input.float(2.0, title="BB Multiplier") // Bollinger Bands Calculation basis = ta.sma(src, length) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev // Plot the Bollinger Bands plot(basis, color=color.blue) p1 = plot(upper, color=color.red) p2 = plot(lower, color=color.red) fill(p1, p2, color=color.rgb(41, 98, 255, 90)) // Trend Filter - 50 EMA ema_filter = ta.ema(close, 50) // ATR for Dynamic Stop Loss/Take Profit atr_value = ta.atr(14) // Buy condition - price touches lower band and above 50 EMA buy_condition = ta.crossover(close, lower) and close > ema_filter // Sell condition - price touches upper band and below 50 EMA sell_condition = ta.crossunder(close, upper) and close < ema_filter // Strategy Execution if (buy_condition) strategy.entry("Buy", strategy.long) if (sell_condition) strategy.entry("Sell", strategy.short) // Exit with dynamic ATR-based stop loss and take profit strategy.exit("Take Profit/Stop Loss", from_entry="Buy", limit=2*atr_value, stop=1*atr_value) strategy.exit("Take Profit/Stop Loss", from_entry="Sell", limit=2*atr_value, stop=1*atr_value)