Chiến lược dừng lỗ theo sau dần dần


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

Chiến lược dừng lỗ theo sau dần dần

Tổng quan

Chiến lược dừng theo dõi dần dần bằng cách điều chỉnh động đường dừng, thực hiện sự kết hợp hữu cơ giữa kiểm soát rủi ro và chặn chặn. Nó sử dụng phạm vi biến động thực tế trung bình để tính toán đường dừng, có thể theo dõi hiệu quả xu hướng giá cổ phiếu, đồng thời bảo vệ lợi nhuận và giảm thiểu các lỗ dừng không cần thiết. Chiến lược này phù hợp với các cổ phiếu có xu hướng mạnh mẽ, có thể thu được lợi nhuận ổn định.

Nguyên tắc

Chiến lược này sử dụng tính toán phạm vi biến động thực tế trung bình ((ATR) làm cơ sở cho dừng động. ATR có thể phản ánh hiệu quả sự biến động của cổ phiếu. Chiến lược đầu tiên nhập tham số chu kỳ ATR, điển hình là 10 ngày.

Cụ thể, chiến lược tính giá trị ATR của dòng K hiện tại, sau đó nhân các tham số chiết khấu nhân chiết khấu, để có được khoảng cách dừng. Nếu giá cổ phiếu cao hơn giá dừng, hãy mở nhiều vị trí; Nếu giá cổ phiếu thấp hơn giá dừng, hãy mở vị trí trống.

Ưu điểm

  • Động thái theo dõi dừng lỗ, có thể điều chỉnh khoảng cách dừng lỗ theo điều kiện thị trường, linh hoạt
  • Sử dụng ATR để tính toán khoảng cách dừng lỗ, có thể theo dõi hiệu quả biến động thị trường
  • Chiến lược đơn giản, dễ sử dụng, dễ thực hiện giao dịch tự động
  • Chu kỳ ATR tùy chỉnh và yếu tố khoảng cách dừng để phù hợp với các loại giao dịch khác nhau
  • Có thể cân bằng dừng lỗ và dừng, giảm khả năng dừng lỗ không cần thiết

Rủi ro

  • ATR là cơ sở dừng động, lựa chọn các tham số phù hợp là rất quan trọng
  • Khả năng dừng quá gần có thể làm tăng khả năng dừng không cần thiết
  • Nếu dừng lỗ quá xa, bạn sẽ không thể dừng lỗ kịp thời và kiểm soát được rủi ro.
  • Chiến lược này không thể tự mình đánh giá xu hướng thị trường, cần xác nhận tín hiệu mua bán bằng tay.
  • Cần chú ý đến tính toán chu kỳ ATR hợp lý và điều chỉnh tham số nhân

Tối ưu hóa

  • Có thể xem xét các tín hiệu lọc chỉ số như đường trung bình di chuyển để giảm khả năng giao dịch sai
  • Các tham số ATR và Stop Loss Distance có thể được tự động tối ưu hóa thông qua các phương pháp học máy
  • Có thể giới thiệu chiến lược dừng tự động, kết hợp với dừng để khóa lợi nhuận
  • Có thể xem xét sử dụng kết hợp với các chỉ số khác để xác minh độ tin cậy của tín hiệu mua và bán
  • Bạn có thể cố gắng cải thiện phương pháp tính toán ATR hoặc động điều chỉnh tham số chu kỳ ATR
  • Có thể nghiên cứu các thuật toán dừng chân theo dõi động khác nhau để tối ưu hóa hiệu quả dừng chân hơn nữa

Tóm tắt

Chiến lược dừng theo dõi dần dần bằng cách điều chỉnh động khoảng cách dừng, đạt được sự cân bằng hiệu quả giữa kiểm soát rủi ro và chặn chặn. Chiến lược này hoạt động đơn giản, có thể tùy chỉnh cao, phù hợp với giao dịch tự động của robot. Tất nhiên, lựa chọn tham số hợp lý và kết hợp chỉ số vẫn cần trải nghiệm bằng tay.

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

//@version=5
strategy("Supertrend Strategy, by Ho.J.", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15)

// 백테스팅 시작일과 종료일 입력
startYear = input(2020, title="Start Year")
startMonth = input(1, title="Start Month")
startDay = input(1, title="Start Day")

endYear = input(9999, title="End Year")
endMonth = input(12, title="End Month")
endDay = input(31, title="End Day")

// 백테스팅 시간 범위 확인
backtestingTimeBool = (year >= startYear and month >= startMonth and dayofmonth >= startDay) and (year <= endYear and month <= endMonth and dayofmonth <= endDay)

atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)

[_, direction] = ta.supertrend(factor, atrPeriod)

var bool longCondition = false
var bool shortCondition = false

if backtestingTimeBool
    prevDirection = direction[1]
    if direction < 0
        longCondition := false
        shortCondition := true
    else if direction > 0
        longCondition := true
        shortCondition := false

if longCondition
    strategy.entry("My Long Entry Id", strategy.long)

if shortCondition
    strategy.entry("My Short Entry Id", strategy.short)

plot(strategy.equity, title="equity", color=color.rgb(255, 255, 255), linewidth=2, style=plot.style_area)