Chiến lược này là một hệ thống giao dịch định lượng thời gian 4 giờ dựa trên Bollinger Bands, kết hợp các khái niệm giao dịch đột phá xu hướng và đảo ngược trung bình. Chiến lược nắm bắt đà thị trường thông qua Bollinger Bands breakouts trong khi sử dụng giá trung bình đảo ngược để lấy lợi nhuận và thực hiện dừng lỗ để kiểm soát rủi ro. Nó sử dụng đòn bẩy 3 lần, đảm bảo lợi nhuận trong khi xem xét kỹ lưỡng quản lý rủi ro.
Logic cốt lõi dựa trên các yếu tố chính sau:
Chiến lược này kết hợp các đặc điểm theo xu hướng và đảo ngược trung bình của Bollinger Bands, đạt được lợi nhuận ổn định ở cả thị trường xu hướng và dao động thông qua các điều kiện nhập / xuất nghiêm ngặt và các biện pháp kiểm soát rủi ro.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-10 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger 4H Follow", overlay=true, initial_capital=300, commission_type=strategy.commission.percent, commission_value=0.04) // StartYear = input(2022,"Backtest Start Year") // StartMonth = input(1,"Backtest Start Month") // StartDay = input(1,"Backtest Start Day") // testStart = timestamp(StartYear,StartMonth,StartDay,0,0) // EndYear = input(2023,"Backtest End Year") // EndMonth = input(12,"Backtest End Month") // EndDay = input(31,"Backtest End Day") // testEnd = timestamp(EndYear,EndMonth,EndDay,0,0) lev = 3 // Input parameters length = input.int(20, title="Bollinger Band Length") mult = input.float(2.0, title="Bollinger Band Multiplier") // Bollinger Bands calculation basis = ta.sma(close, length) upperBand = basis + mult * ta.stdev(close, length) lowerBand = basis - mult * ta.stdev(close, length) // Conditions for Open Long openLongCondition = strategy.position_size == 0 and close > open and (close + open) / 2 > upperBand // Conditions for Open Short openShortCondition = strategy.position_size == 0 and close < open and (close + open) / 2 < lowerBand // Conditions for Close Long closeLongCondition = strategy.position_size > 0 and strategy.position_size > 0 and (close < upperBand and open < upperBand and close < open) // Conditions for Close Short closeShortCondition = strategy.position_size < 0 and strategy.position_size < 0 and (close > lowerBand and open > lowerBand and close > open) // Long entry if openLongCondition strategy.entry("Long", strategy.long, qty=strategy.equity * lev / close) strategy.exit("Long SL", from_entry="Long", stop=low) // Set Stop-Loss // Short entry if openShortCondition strategy.entry("Short", strategy.short, qty=strategy.equity * lev / close) strategy.exit("Short SL", from_entry="Short", stop=high) // Set Stop-Loss // Long exit if closeLongCondition strategy.close("Long", comment = "TP") // Short exit if closeShortCondition strategy.close("Short", comment = "TP") // Plot Bollinger Bands plot(upperBand, color=color.yellow, title="Upper Band") plot(lowerBand, color=color.yellow, title="Lower Band")