Chiến lược định lượng tần suất cao của Bollinger Bands kết hợp với chiến lược mua-bán phá vỡ các điểm cao và thấp

BB SMA SD RR HH LL
Ngày tạo: 2024-12-04 15:15:50 sửa đổi lần cuối: 2024-12-04 15:15:50
sao chép: 2 Số nhấp chuột: 564
1
tập trung vào
1617
Người theo dõi

Chiến lược định lượng tần suất cao của Bollinger Bands kết hợp với chiến lược mua-bán phá vỡ các điểm cao và thấp

Tổng quan

Chiến lược này là một hệ thống giao dịch tần số cao kết hợp với chỉ số và giá vượt qua Brin. Chiến lược này hoạt động bằng cách theo dõi mối quan hệ giữa giá và vị trí của Brin, kết hợp với tín hiệu phá vỡ điểm cao và thấp trước đó, để thực hiện giao dịch đảo ngược khi thị trường bị mua quá mức. Hệ thống sử dụng tỷ lệ lợi nhuận rủi ro 1: 1 để thiết lập điểm dừng lỗ và hiển thị các giá quan trọng theo cách trực quan, giúp các nhà giao dịch hiểu trực quan xu hướng thị trường.

Nguyên tắc chiến lược

Lý luận cốt lõi của chiến lược được xây dựng trên hai điều kiện phán đoán chính: khi giá phá vỡ mức cao trước và mức cao trước nằm dưới đường đua của Brin, kích hoạt nhiều tín hiệu; khi giá giảm xuống mức thấp trước và mức thấp trước nằm trên đường đua của Brin, kích hoạt tín hiệu trống. Các tham số Brin sử dụng đường trung bình di chuyển 20 chu kỳ với chênh lệch tiêu chuẩn gấp 2 lần để đánh giá phạm vi biến động của thị trường và hệ thống khu vực bán tháo quá mức. Sau khi kích hoạt tín hiệu giao dịch, sẽ tự động thiết lập điểm dừng và điểm mục tiêu tương ứng và hiển thị bằng các đường theo kiểu khác nhau.

Lợi thế chiến lược

  1. Kết hợp hai cách giao dịch phá vỡ xu hướng và quay trở lại giá trị trung bình để duy trì sự ổn định trong các môi trường thị trường khác nhau
  2. Sử dụng tỷ lệ lợi nhuận rủi ro cố định để quản lý vị trí, thuận lợi cho lợi nhuận ổn định lâu dài
  3. Tăng khả năng hoạt động của chiến lược bằng cách hiển thị thị thị vào, dừng và mục tiêu
  4. Việc sử dụng chỉ số BRI giúp xác định thị trường đang quá mua và quá bán, giúp tăng độ chính xác của giao dịch
  5. Lập luận chiến lược đơn giản, rõ ràng, dễ hiểu và dễ thực hiện

Rủi ro chiến lược

  1. Giao dịch tần số cao có thể phải đối mặt với chi phí giao dịch cao hơn, cần xem xét tác động của phí
  2. Các tín hiệu phá vỡ giả có thể xảy ra thường xuyên trong thị trường dao động ngang
  3. Tỷ lệ lợi nhuận rủi ro cố định có thể không nắm bắt được xu hướng lớn
  4. Blink fixed có thể không phù hợp với tất cả các trường hợp thị trường
  5. Cần giám sát thị trường trong thời gian thực để đảm bảo tín hiệu được thực hiện kịp thời

Hướng tối ưu hóa chiến lược

  1. Tiến hành các chỉ số giao thông như tín hiệu xác nhận, tăng độ tin cậy của đột phá
  2. Blink-band tham số được điều chỉnh theo biến động của thị trường
  3. Thêm bộ lọc xu hướng để tránh giao dịch thường xuyên trên thị trường ngang
  4. Xem xét thêm bộ lọc thời gian để tránh giao dịch trong thời gian không hoạt động
  5. Phát triển cơ chế cơ cấu rủi ro so với lợi nhuận thích ứng

Tóm tắt

Đây là một hệ thống giao dịch hoàn chỉnh tích hợp nhiều khái niệm phân tích kỹ thuật. Bằng cách kết hợp các chỉ số Bollinger Bands với các đợt phá vỡ 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 quá mua quá bán trên thị trường. Mặc dù có một số không gian tối ưu hóa, nhưng khung cơ bản của hệ thống có khả năng mở rộng và giá trị thực tế tốt. Với quản lý rủi ro hợp lý và tối ưu hóa tham số, chiến lược này có khả năng tạo ra lợi nhuận ổn định trong giao dịch thực tế.

Mã nguồn chiến lược
/*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)