Chiến lược dừng lỗ của dải Bollinger Band


Ngày tạo: 2023-10-27 16:50:24 sửa đổi lần cuối: 2023-10-27 16:50:24
sao chép: 0 Số nhấp chuột: 640
1
tập trung vào
1617
Người theo dõi

Chiến lược dừng lỗ của dải Bollinger Band

Tổng quan

Chiến lược này dựa trên các chỉ số Bollinger Bands để đánh giá tín hiệu giao dịch và quản lý vị trí bằng cách sử dụng phương pháp dừng lỗ. Chiến lược sẽ giám sát sự phá vỡ của Bollinger Bands lên đường và xuống đường, làm nhiều khi giá vượt qua Bollinger Bands lên đường, làm trống khi phá vỡ đường mòn, và sử dụng vị trí dừng lỗ khi phá vỡ ngược.

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

Chiến lược này sử dụng đường trung đạo, đường trên và đường dưới trong chỉ số Brin. Đường trung đạo là giá trị trung bình trong một khoảng thời gian nhất định, đường trên là đường trung đạo cộng với chênh lệch tiêu chuẩn gấp đôi, đường dưới là đường trung đạo trừ đi chênh lệch tiêu chuẩn gấp đôi.

Mã đầu tiên tính toán đường giữa, đường trên và đường dưới của đường dây Brin. Sau đó, đánh giá xem giá có phá vỡ đường lên hoặc đường dưới không, nếu phá vỡ đường lên thì làm nhiều, nếu phá vỡ đường dưới thì làm trống.

Chính xác thì, chiến lược này có thể diễn ra như sau:

  1. Tính toán đường ray giữa, trên và dưới băng tần Brin
  2. Nếu giá phá vỡ đường mòn, hãy mở thêm vị thế
  3. Nếu giá phá vỡ đường mòn, hãy tháo lỗ.
  4. Nếu có nhiều vị trí, giá phá vỡ đường mòn, sử dụng vị trí dừng lỗ đơn
  5. Nếu có một vị trí giảm giá, giá phá vỡ đường ray, sử dụng vị trí dừng lỗ

Bằng cách này, bạn có thể nắm bắt xu hướng khi giá cổ phiếu có biến động lớn, đồng thời có thể hạn chế tổn thất bằng cách dừng lỗ.

Phân tích lợi thế

  • Sử dụng chỉ số BRI để đánh giá thời gian vào thị trường, có thể nắm bắt hiệu quả xu hướng sau khi giá phá vỡ
  • Làm nhiều hơn để làm rõ tín hiệu, các quy tắc hoạt động đơn giản và rõ ràng
  • Sử dụng chiến lược dừng lỗ để hạn chế tổn thất tối đa cho một giao dịch
  • ParameterHandler có thể điều chỉnh các tham số của dải Brin để tối ưu hóa chiến lược

Phân tích rủi ro

  • Giao dịch Binance dễ gây ra nhiều lỗ hổng dừng nhỏ, gây ra tổn thất tổng thể
  • Thiết lập không đúng các tham số Brin có thể dẫn đến tần số giao dịch quá cao hoặc tín hiệu bị lỗi
  • Chỉ tính đến giá cả, không kết hợp với các chỉ số khác để đánh giá toàn diện
  • Không tính đến điều chỉnh đường dừng gần điểm phá vỡ có thể mở rộng tổn thất

Có thể tối ưu hóa bằng cách kết hợp các chỉ số Combine, điều chỉnh các đơn vị dừng lỗ thích hợp.

Hướng tối ưu hóa

  • Có thể xem xét kết hợp với các chỉ số khác như khối lượng giao dịch, trung bình di chuyển để xác nhận tín hiệu phá vỡ
  • Có thể điều chỉnh tham số Brin theo thị trường khác nhau, tối ưu hóa các tham số
  • Có thể điều chỉnh khoảng cách dừng gần điểm đột phá để tránh quá nhạy cảm
  • Có thể xem xét kết hợp các quy tắc giao dịch biển, chỉ giao dịch khi có xu hướng
  • Có thể kết hợp các thuật toán học máy để tự động tối ưu hóa các tham số Brin

Tóm tắt

Chiến lược này được thiết kế dựa trên các chỉ số Brin, một chiến lược theo dõi xu hướng đơn giản hơn. Nó có thể tạo vị trí nhanh chóng khi giá có đột phá, đồng thời sử dụng dừng để kiểm soát rủi ro. Tuy nhiên, chỉ xem xét các yếu tố giá có thể dẫn đến sai lầm, và dừng quá nhạy cảm có thể làm tăng tần suất giao dịch.

Mã nguồn chiến lược
/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ROBO_Trading

//@version=5
strategy(title = "Bollinger Stop Strategy", shorttitle = "BBStop", overlay = true, default_qty_type = strategy.percent_of_equity, initial_capital = 10000, default_qty_value = 100, commission_value = 0.1)

//Settings
long = input(true)
short = input(true)
length = input.int(20, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
source = input(close)
showbb = input(true, title = "Show Bollinger Bands")
showof = input(true, title = "Show Offset")
startTime = input(defval = timestamp("01 Jan 2000 00:00 +0000"), title = "Start Time", inline = "time1")
finalTime = input(defval = timestamp("31 Dec 2099 23:59 +0000"), title = "Final Time", inline = "time1")

//Bollinger Bands
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev

//Show indicator
offset = showof ? 1 : 0
colorBasis = showbb ? color.gray : na
colorUpper = showbb ? color.blue : na
colorLower = showbb ? color.blue : na
colorBands = showbb ? color.blue : na
p0 = plot(basis, "Basis", color = colorBasis, offset = offset)
p1 = plot(upper, "Upper", color = colorUpper, offset = offset)
p2 = plot(lower, "Lower", color = colorLower, offset = offset)
fill(p1, p2, title = "Background", color = colorBands, transp = 90)

//Trading
truetime = true
if basis > 0 and truetime
    if long
        strategy.entry("Long", strategy.long, stop = upper, when = truetime)
    if short
        strategy.entry("Short", strategy.short, stop = lower, when = truetime)
    if long == false
        strategy.exit("Exit", "Short", stop = upper)
    if short == false
        strategy.exit("Exit", "Long", stop = lower)
if time > finalTime
    strategy.close_all()