Chiến lược giao dịch độ lệch chuẩn kép dựa trên dải Bollinger


Ngày tạo: 2023-12-18 17:23:42 sửa đổi lần cuối: 2023-12-18 17:23:42
sao chép: 0 Số nhấp chuột: 746
1
tập trung vào
1621
Người theo dõi

Chiến lược giao dịch độ lệch chuẩn kép dựa trên dải Bollinger

Tổng quan

Chiến lược này là một chiến lược giao dịch được thiết kế dựa trên mô hình chênh lệch hai tiêu chuẩn của Brin. Nó sử dụng đường ray lên và xuống của Brin và một và hai chênh lệch tiêu chuẩn làm tín hiệu giao dịch.

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

Chiến lược này đầu tiên tính trung tâm, trên và dưới đường ray của băng Brin. Trung tâm là SMA của CLOSE, trên là trung tâm + 2*Tiêu chuẩn kém, đường ray dưới là đường ray trung bình-2*Điểm chênh lệch chuẩn. Khi giá phá vỡ đường đua, nó tạo ra tín hiệu mua nhiều hơn, và khi giá phá vỡ đường đua, nó tạo ra tín hiệu bán. Ngoài ra, chiến lược cũng vẽ đường giữa đường đua + 1 điểm chênh lệch chuẩn và giữa đường đua - 1 điểm chênh lệch chuẩn. Chúng được sử dụng như điểm dừng lỗ.

  1. Tính toán SMA của CLOSE như đường trung tâm của băng tần Brin
  2. Tính STD chênh lệch chuẩn của CLOSE và tính 2*STD
  3. Đường trung tâm + 2*STD cho Brin lên đường ray, đường ray trung tâm-2*Brin bị STD
  4. Làm nhiều hơn khi giá phá vỡ đường ray
  5. Cắt lỗ khi giá phá vỡ đường mòn
  6. Đường trung tâm + 1*STD là đường dừng lỗ, nếu đường dừng lỗ bị phá vỡ thì sẽ bị phá vỡ

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

  1. Sử dụng thiết kế chênh lệch hai tiêu chuẩn, nghiêm ngặt hơn trong đánh giá đột phá, tránh tín hiệu sai
  2. Sử dụng thiết kế hai dây dừng để kiểm soát rủi ro tối đa
  3. Các tham số được tối ưu hóa với không gian lớn, chu kỳ trung đạo và nhân độ chênh lệch chuẩn có thể được điều chỉnh
  4. Rút có thể được kiểm soát bằng cách điều chỉnh điểm dừng

Rủi ro chiến lược

  1. Chiến lược Brin Belt dễ tạo ra các đột phá giả, dẫn đến tín hiệu giao dịch không chính xác
  2. Các thiết lập chênh lệch hai tiêu chuẩn và hai đường dừng có thể quá nghiêm ngặt, dẫn đến tín hiệu ít có cơ hội loại bỏ
  3. Thiết lập tham số không đúng cách có thể làm tăng rủi ro chiến lược
  4. Kiểm soát rút tiền không hoàn hảo, không thể kiểm soát hiệu quả thiệt hại trong trường hợp cực đoan

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

  1. Có thể xem xét kết hợp với các chỉ số khác để lọc tín hiệu giao dịch trong băng tròn để tránh phá vỡ giả
  2. Có thể thử nghiệm các thiết lập tham số khác nhau, tối ưu hóa tham số để có tỷ lệ thu hồi lợi nhuận tốt hơn
  3. Có thể thiết kế các cơ chế dừng động, chẳng hạn như dừng theo dõi hoặc dừng tỷ lệ số dư
  4. Các tham số tự động tối ưu hóa có thể kết hợp với thuật toán học máy

Tóm tắt

Chiến lược này nói chung là một chiến lược đột phá Brinh đai điển hình. Nó sử dụng chênh lệch hai tiêu chuẩn để nâng cao mức độ nghiêm ngặt của tín hiệu phán đoán và sử dụng hai đường dừng để chủ động kiểm soát rủi ro. Chiến lược này có một số không gian tối ưu hóa tham số, có thể đạt được hiệu suất chiến lược tốt hơn bằng cách điều chỉnh các tham số như chu kỳ quỹ đạo trung bình, số lần chênh lệch tiêu chuẩn.

Mã nguồn chiến lược
/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// Bollinger Bands: Madrid : 14/SEP/2014 11:07 : 2.0
// 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(shorttitle='MBB', title='Bollinger Bands', overlay=true)
src = input(close)
length = input.int(34, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)

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

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))
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0))

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))

// Entry conditions
longCondition = ta.crossover(close, upper1)
shortCondition = ta.crossunder(close, lower1)

// Entry and exit strategy
strategy.entry("Buy", strategy.long, when=longCondition)
strategy.entry("Sell", strategy.short, when=shortCondition)

strategy.close("Buy", when=shortCondition)
strategy.close("Sell", when=longCondition)