Bollinger Bands Volume Confirmation Chiến lược giao dịch định lượng

Tác giả:ChaoZhang, Ngày: 2024-01-02 11:04:35
Tags:

img

Tổng quan

Chiến lược này được gọi là Bollinger Bands Volume Confirmation Strategy. Ý tưởng cốt lõi của nó là kết hợp chỉ số Bollinger Bands và chỉ số khối lượng để đạt được xác nhận hai lần về chuyển động giá và khối lượng giao dịch, do đó tạo ra các tín hiệu mua và bán đáng tin cậy hơn.

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

Chiến lược chủ yếu bao gồm hai phần:

  1. Bollinger Bands phần. Phần này tính toán trung bình di chuyển đơn giản của giá đóng trong một khoảng thời gian nhất định (chẳng hạn như 20 ngày) và tính toán độ lệch chuẩn của các giá đóng này tương đối với mức trung bình di chuyển của chúng. Sau đó, theo giá trị của độ lệch chuẩn, hai dải được tính toán ở một phạm vi lệch chuẩn trên và dưới mức trung bình di chuyển, được gọi là Bollinger Bands. Khu vực dải của Bollinger Bands có thể cho thấy rõ giá hiện tại có ở trạng thái bất thường hay không.

  2. Phần khối lượng. Phần này tính toán giá trị trung bình động của khối lượng giao dịch trong cùng một khoảng thời gian (chẳng hạn như 20 ngày), và sau đó sử dụng nhân (chẳng hạn như 2.0) để thiết lập ngưỡng khối lượng giao dịch. Chỉ khi khối lượng giao dịch vượt quá ngưỡng này, nó được coi là khối lượng giao dịch lớn hợp lệ.

Khi giá vượt qua đường dẫn trên của Bollinger Bands và khối lượng giao dịch vượt quá ngưỡng khối lượng giao dịch, một tín hiệu mua được tạo ra; khi giá vượt qua đường dẫn dưới của Bollinger Bands, và khối lượng giao dịch vượt quá ngưỡng khối lượng giao dịch, một tín hiệu bán được tạo ra.

Bằng cách xác nhận hai lần giá và khối lượng giao dịch, một số tín hiệu sai có thể được lọc ra, làm cho chiến lược giao dịch đáng tin cậy hơn.

Ưu điểm chiến lược

  1. Cơ chế xác nhận hai lần để tránh đột phá sai và tiếng ồn lọc. Kết hợp các chỉ số giá và khối lượng, tín hiệu chỉ được tạo ra khi cả hai xác nhận cùng một lúc, có thể tránh hiệu quả một số tín hiệu sai do đột phá giá trống.

  2. Các tham số có thể điều chỉnh: Người dùng có thể đặt các tham số thời gian của Bollinger Bands và các tham số nhân của ngưỡng khối lượng giao dịch một cách độc lập để thích nghi với môi trường thị trường khác nhau.

  3. Biểu minh trực quan. Các dải Bollinger trên và dưới, khối lượng giao dịch và chỉ số ngưỡng khối lượng giao dịch cho phép tín hiệu chiến lược trực quan và rõ ràng hơn.

Rủi ro và tối ưu hóa

  1. Bollinger Bands không thể xác định hoàn hảo các điểm đảo ngược xu hướng. Bollinger Bands chỉ có thể hiển thị rõ ràng trạng thái bất thường của giá nhưng không thể dự đoán đảo ngược giá. Do đó, nó vẫn cần được kết hợp với các chỉ số khác để đánh giá.

  2. Các tín hiệu khối lượng có thể bị chậm trễ. Khi có một sự đột phá nhanh chóng của Bollinger Bands trên và dưới, phản ứng của khối lượng giao dịch có thể bị chậm trễ, dẫn đến sự chậm trễ trong việc tạo tín hiệu và không thể nắm bắt hoàn hảo các điểm chuyển đổi.

  3. Cố gắng kết hợp các chỉ số khác. Các chỉ số như KDJ, MACD, vv, giới thiệu nhiều biến để thiết lập các chiến lược giao dịch đa biến phức tạp hơn, do đó cải thiện tính thực tế của chiến lược.

Tóm lại

Bằng cách sử dụng phương pháp xác nhận hai lần và điều chỉnh tham số, chiến lược này đã lọc ra quá nhiều tiếng ồn đến một mức độ nào đó, làm cho các quyết định giao dịch đáng tin cậy hơn.


/*backtest
start: 2022-12-26 00:00:00
end: 2024-01-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Volume + Bollinger Bands Strategy", overlay = true, shorttitle="Vol BB Strategy")

// Bollinger Bands Parameters
length = input(20, title="BB Length")
src = close
mult = input(2.0, title="Multiplier")
basis = ta.sma(src, length)
upper = basis + mult * ta.stdev(src, length)
lower = basis - mult * ta.stdev(src, length)

// Volume Parameters
volMultiplier = input(2.0, title="Volume Multiplier")
avgVolume = ta.sma(volume, length)

// Strategy Logic
buyCondition = close > upper and volume > volMultiplier * avgVolume
sellCondition = close < lower and volume > volMultiplier * avgVolume

// Plotting
plot(upper, color=color.red, title="Upper Band")
plot(lower, color=color.green, title="Lower Band")
plot(volume, color=color.blue, style=plot.style_columns, title="Volume", transp=85)
plot(avgVolume * volMultiplier, color=color.orange, title="Avg Volume x Multiplier")

// Strategy Execution
strategy.entry("Buy", strategy.long, when=buyCondition)
strategy.close("Buy", when=sellCondition)

bgcolor(buyCondition ? color.new(color.green, 90) : sellCondition ? color.new(color.red, 90) : na)


Thêm nữa