Chiến lược đột phá độ lệch chuẩn của dải Bollinger

SMA
Ngày tạo: 2024-04-30 16:51:34 sửa đổi lần cuối: 2024-04-30 16:51:34
sao chép: 3 Số nhấp chuột: 571
1
tập trung vào
1617
Người theo dõi

Chiến lược đột phá độ lệch chuẩn của dải Bollinger

Tổng quan

Chiến lược này dựa trên các chỉ số Brin, mở vị trí nhiều đầu khi giá đóng cửa phá vỡ đường lên, mở vị trí mở đầu khi giá đóng cửa rơi xuống đường. Điều kiện đặt hàng nhiều đầu là giá rơi xuống đường trung và điều kiện đặt hàng bằng không là giá phá vỡ đường trung. Chiến lược này sử dụng giá so với vị trí của Brin để xác định hướng xu hướng và thời gian mở vị trí.

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

  1. Tính toán đường viền trung và dưới trên lằn Brin. đường viền trung là đường trung bình di chuyển đơn giản của giá đóng cửa, đường viền trên và dưới là đường viền trung cộng và trừ đi một số nhân của chênh lệch chuẩn.
  2. Khi giá đóng cửa phá vỡ đường ray, hãy mở một vị trí đầu nhiều.
  3. Khi giá đóng cửa giảm xuống đường, hãy mở một vị trí mở đầu.
  4. Khi nắm giữ nhiều vị thế đầu, nếu giá đóng cửa rơi xuống đường trung bình, vị thế đầu sẽ bị thu hẹp.
  5. Khi nắm giữ vị trí đầu trống, nếu giá đóng cửa phá vỡ đường trung đạo, vị trí đầu trống sẽ bị xóa.

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

  1. Brin Belt có thể phản ánh hiệu quả phạm vi biến động và hướng xu hướng của giá, sử dụng vị trí của giá so với Brin Belt để tạo vị thế bán pháo, có thể nắm bắt xu hướng.
  2. Khoảng cách giữa đường lên xuống và đường xuống có một chênh lệch chuẩn nhất định, có thể thích nghi với sự thay đổi của tỷ lệ biến động giá, chênh lệch chuẩn càng lớn, khoảng cách giữa đường lên xuống càng xa.
  3. Điều kiện bằng phẳng sử dụng đường ray trung tâm, thay vì phá vỡ ngược lên xuống đường ray, có thể ngăn chặn trục trặc càng sớm càng tốt.
  4. Các tham số có thể được điều chỉnh, có thể tối ưu hóa các tham số như chu kỳ băng tần Brinh, nhân chênh lệch tiêu chuẩn để phù hợp với các giống và chu kỳ khác nhau.

Rủi ro chiến lược

  1. Trong một thị trường chấn động, giá sẽ dao động liên tục gần đường đua lên xuống, có thể xảy ra thường xuyên mở lỗ, dẫn đến tăng chi phí giao dịch.
  2. Khi giá tăng tốc xu hướng, điểm mở vị trí tương đối chậm và khả năng theo dõi gió yếu hơn.
  3. Trong giai đoạn đầu của xu hướng biến đổi, sự rút lui chạm vào điểm cân bằng giữa đường ray, và nếu xu hướng tiếp tục phát triển, nó sẽ bị mất tiếp theo.

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

  1. Có thể kết hợp các chỉ số dừng lỗ như ATR để kiểm soát rút lui.
  2. Bạn có thể sử dụng tỷ lệ động của vị trí trống nhiều, tùy thuộc vào cường độ của xu hướng.
  3. Các điều kiện mở kho có thể được kết hợp với các điều kiện lọc hơn, chẳng hạn như chỉ số giá trị, để tăng độ tin cậy của tín hiệu mở kho.

Tóm tắt

Chiến lược này là một chiến lược theo dõi xu hướng cổ điển, thông qua Brin để nắm bắt xu hướng. Logic của chiến lược rõ ràng, lợi thế rõ ràng, nhưng cũng có một số rủi ro. Có thể cải thiện hiệu suất chiến lược, cải thiện khả năng thích ứng bằng cách tối ưu hóa lệnh dừng lỗ, quản lý vị trí và lọc vị trí.

Mã nguồn chiến lược
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
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(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

// Strategy
long_condition = ta.crossover(close, upper1)
short_condition = ta.crossunder(close, lower1)

if (long_condition)
    strategy.entry("Long", strategy.long)
if (short_condition)
    strategy.entry("Short", strategy.short)

// Exit conditions
exit_long_condition = ta.crossunder(close, basis)
exit_short_condition = ta.crossover(close, basis)

if (exit_long_condition)
    strategy.close("Long")
if (exit_short_condition)
    strategy.close("Short")


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