Chiến lược này dựa trên chỉ số Bollinger Bands và sử dụng bộ lọc sai lệch chuẩn kép để đạt được giao dịch nhanh trong khung thời gian 5 phút. Nó mua khi giá vượt qua dưới dải dưới và bán khi vượt qua dải trên. Dải trên và dưới được đặt bởi sai lệch chuẩn khác nhau và được đánh dấu bằng màu sắc khác nhau, hiển thị trực quan sức mạnh của xu hướng.
Chiến lược này sử dụng các thuộc tính thống kê của Bollinger Bands, với lọc hai lớp để tăng cường phán đoán xu hướng, phù hợp để nhanh chóng nắm bắt các cơ hội xu hướng ở mức 5 phút. Tuy nhiên, các vấn đề với giao dịch thường xuyên và các biện pháp kiểm soát rủi ro không đủ vẫn cần tối ưu hóa. Trong tương lai, có thể tiếp tục cải thiện về dừng lỗ và lấy lợi nhuận, tối ưu hóa tham số và phán đoán phụ trợ để tăng cường độ bền và lợi nhuận tổng thể.
/*backtest start: 2024-03-01 00:00:00 end: 2024-03-31 23:59:59 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 //This displays the traditional Bollinger Bands, the difference is //that the 1st and 2nd StdDev are outlined with two colors and two //different levels, one for each Standard Deviation strategy("Five Min Scalping Strategy", overlay=true) src = input(close, title="Source") length = input.int(20, minval=1, title="Length") mult = input.float(2.0, minval=0.001, maxval=50, title="Multiplier") basis = ta.sma(src, length) dev = ta.stdev(src,length) dev2 = mult * dev upper1 = basis + dev lower1 = basis - dev upper2 = basis + dev2 lower2 = basis - dev2 LongCondition = close[1] < lower1 and close > lower1 ShortCondition = close[1] > upper1 and close < upper1 strategy.entry("Long", strategy.long, when = LongCondition) strategy.entry("Short", strategy.short, when = ShortCondition) strategy.close("Long", when = ShortCondition) strategy.close("Short", when = LongCondition) colorBasis = src >= basis ? color.blue : color.orange pBasis = plot(basis, linewidth=2, color=colorBasis) pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles) pUpper2 = plot(upper2, color=color.new(color.blue, 0), style=plot.style_circles) pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles) pLower2 = plot(lower2, color=color.new(color.orange, 0), style=plot.style_circles) fill(pBasis, pUpper2, color=color.new(color.blue, 80)) fill(pUpper1, pUpper2, color=color.new(color.blue, 80)) fill(pBasis, pLower2, color=color.new(color.orange, 80)) fill(pLower1, pLower2, color=color.new(color.orange, 80))