Chiến lược này là một hệ thống giao dịch tần số cao kết hợp các chỉ số Bollinger Bands với các tín hiệu đột phá giá. Chiến lược theo dõi mối quan hệ giữa giá và Bollinger Bands, kết hợp với các tín hiệu đột phá điểm cao và thấp trước đó, để thực hiện các giao dịch đảo ngược trong điều kiện mua quá mức và bán quá mức trên thị trường. Hệ thống thực hiện tỷ lệ rủi ro-lợi nhuận 1: 1 cho mục tiêu lợi nhuận và lỗ, và hình dung các mức giá chính để giúp các nhà giao dịch trực quan hiểu xu hướng thị trường.
Các thông số Bollinger Bands sử dụng một đường trung bình động 20 giai đoạn với 2 độ lệch chuẩn để xác định phạm vi biến động thị trường và các khu vực mua quá mức / bán quá mức. Sau khi kích hoạt các tín hiệu giao dịch, hệ thống tự động thiết lập mức dừng lỗ và mục tiêu tương ứng, hình dung chúng thông qua các kiểu đường khác nhau.
Đây là một hệ thống giao dịch toàn diện tích hợp nhiều khái niệm phân tích kỹ thuật. Thông qua sự kết hợp của các chỉ số Bollinger Bands và đột phá giá, chiến lược có thể nắm bắt các cơ hội đảo ngược trong các khu vực mua quá mức và bán quá mức trên thị trường. Mặc dù có chỗ để tối ưu hóa, khung cơ bản của hệ thống có khả năng mở rộng và giá trị thực tế tốt. Thông qua quản lý rủi ro và tối ưu hóa tham số thích hợp, chiến lược này có tiềm năng đạt được lợi nhuận ổn định trong giao dịch thực tế.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-03 00:00:00 period: 2d basePeriod: 2d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Band Scalping", overlay=true) // Input for Bollinger Bands length and standard deviation bbLength = input(20, title="Bollinger Bands Length") stdDev = input(2.0, title="Bollinger Bands Std Dev") // Calculate and plot the Bollinger Bands basis = ta.sma(close, bbLength) deviation = stdDev * ta.stdev(close, bbLength) upperBB = basis + deviation lowerBB = basis - deviation // Get previous candle's values prevHigh = high[1] // Previous candle high prevLow = low[1] // Previous candle low // Buy Signal Condition: Current high crossed above previous high and previous high is below the lower Bollinger Band buyCondition = ta.crossover(high, prevHigh) and (prevHigh < lowerBB[1]) // Sell Signal Condition: Current low crossed below previous low and previous low is above the upper Bollinger Band sellCondition = ta.crossunder(low, prevLow) and (prevLow > upperBB[1]) // Entry and exit for Buy signals if (buyCondition) strategy.entry("Buy", strategy.long) // Calculate target and stop loss stopLossPrice = prevLow targetPrice = prevHigh + (prevHigh - stopLossPrice) // 1:1 RR target // Set stop loss and target orders strategy.exit("Sell", "Buy", limit=targetPrice, stop=stopLossPrice) // // Plot entry line // line.new(x1=bar_index, y1=prevHigh, x2=bar_index + 12, y2=prevHigh, color=color.green, width=2, style=line.style_solid) // // Plot stop loss line // line.new(x1=bar_index, y1=stopLossPrice, x2=bar_index + 12, y2=stopLossPrice, color=color.red, width=1, style=line.style_dashed) // // Plot target line // line.new(x1=bar_index, y1=targetPrice, x2=bar_index + 12, y2=targetPrice, color=color.blue, width=2, style=line.style_solid) // Entry and exit for Sell signals if (sellCondition) strategy.entry("Sell", strategy.short) // Calculate target and stop loss stopLossPriceSell = prevHigh targetPriceSell = prevLow - (stopLossPriceSell - prevLow) // 1:1 RR target // Set stop loss and target orders strategy.exit("Cover", "Sell", limit=targetPriceSell, stop=stopLossPriceSell) // // Plot entry line // line.new(x1=bar_index, y1=prevLow, x2=bar_index + 12, y2=prevLow, color=color.red, width=2, style=line.style_solid) // // Plot stop loss line // line.new(x1=bar_index, y1=stopLossPriceSell, x2=bar_index + 12, y2=stopLossPriceSell, color=color.green, width=1, style=line.style_dashed) // // Plot target line // line.new(x1=bar_index, y1=targetPriceSell, x2=bar_index + 12, y2=targetPriceSell, color=color.blue, width=2, style=line.style_solid) // Plotting Bollinger Bands with 70% transparency plot(upperBB, color=color.red, title="Upper Bollinger Band", transp=70) plot(lowerBB, color=color.green, title="Lower Bollinger Band", transp=70) plot(basis, color=color.blue, title="Middle Band", transp=70)