Chiến lược Trailing Stop theo phần trăm


Ngày tạo: 2023-09-19 21:18:39 sửa đổi lần cuối: 2023-09-19 21:18:39
sao chép: 0 Số nhấp chuột: 636
1
tập trung vào
1617
Người theo dõi

Tổng quan

Chiến lược này thực hiện một cơ chế theo dõi lỗ hổng phần trăm có thể cấu hình được để kiểm soát rủi ro giao dịch. Nó cho phép thiết lập tỷ lệ phần trăm của lỗ hổng cho các vị trí dài và ngắn, liên tục theo dõi giá cao nhất hoặc thấp nhất theo hướng thuận lợi từ giá nhập, để thực hiện dừng động.

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

Lập luận chính của chiến lược này là:

  1. Tỷ lệ phần trăm lỗ hổng của các vị trí dài và ngắn
  2. Khi dài: Tiếp tục theo dõi mức thấp và tính toán đường dừng lỗ dựa trên giá thấp nhất
  3. Khi ngắn: Tiếp tục theo dõi mức cao và tính toán đường dừng dựa trên mức giá cao nhất
  4. Khi giá chạm đường dừng lỗ, dừng lỗ ngay lập tức và thoát khỏi vị trí hiện tại

Chiến lược cho phép tùy chỉnh tỷ lệ phần trăm dừng lỗ, chẳng hạn như đặt nó là 10%. Trong trường hợp dài, nó sẽ tính toán trực tiếp 10% trên mức giá thấp nhất là đường dừng lỗ; trong trường hợp ngắn, tính toán 10% dưới mức giá cao nhất là đường dừng lỗ.

Bằng cách này, đường dừng sẽ liên tục di chuyển theo hướng thuận lợi, theo dõi động các lệnh dừng, tối đa hóa lợi nhuận và kiểm soát rủi ro.

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

  • Tự động theo dõi lỗ hổng, không cần thao tác thủ công
  • Đường dừng động, bảo vệ lợi nhuận tối đa
  • Tỷ lệ Stop Loss tùy chỉnh, phù hợp với nhiều loại giao dịch
  • Giúp kiểm soát rủi ro, giảm tổn thất ngoài dự kiến
  • Khả năng kết hợp với nhiều chiến lược giao dịch

Rủi ro chiến lược và ứng phó

  • Theo dõi chậm hơn, có nguy cơ không thể ngăn chặn
  • Giảm lỗ có thể gây ra sự gia tăng lỗ
  • Hạn chế quá chặt có thể gây ra quá thường xuyên

Phản ứng:

  1. Tối ưu hóa tỷ lệ dừng lỗ, cân bằng hiệu quả dừng lỗ
  2. Kết hợp với các phương thức dừng khác, chẳng hạn như dừng thời gian
  3. Các tham số dừng lỗ tối ưu hóa theo biến động thị trường
  4. Giữ sự nhất quán dừng lỗ và tránh thay đổi tham số quá ngẫu nhiên

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

Chiến lược này có thể được tối ưu hóa:

  1. Động thái tối ưu hóa các tham số dừng lỗ bằng thuật toán học máy
  2. Tự động điều chỉnh mức dừng lỗ dựa trên các chỉ số như rút tối đa
  3. Đặt điểm dừng cùng với các chỉ số như đường trung bình di chuyển
  4. Lựa chọn cấu hình tham số khác nhau tùy theo tình trạng dao động
  5. Cài đặt một phần dừng lỗ và điều chỉnh vị trí dừng để có lợi nhuận

Tóm tắt

Chiến lược này cung cấp một phương pháp theo dõi tỷ lệ dừng hiệu quả, có thể điều chỉnh động đường dừng. Nó có thể bảo vệ tối đa lợi nhuận và kiểm soát rủi ro hiệu quả.

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

// © theCrypster

//@version=4
strategy("Percent Trailing Stop %", overlay=true)

//ENTER SOME SETUP TRADES FOR TSL EXAMPLE
longCondition = crossover(sma(close, 10), sma(close, 20))
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = crossunder(sma(close, 10), sma(close, 20))
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)
    

//TRAILING STOP CODE
trailStop = input(title="Long Trailing Stop (%)", type=input.float, minval=0.0, step=0.1, defval=10) * 0.01

longStopPrice = 0.0
shortStopPrice = 0.0
longStopPrice := if strategy.position_size > 0
    stopValue = close * (1 - trailStop)
    max(stopValue, longStopPrice[1])
else
    0
shortStopPrice := if strategy.position_size < 0
    stopValue = close * (1 + trailStop)
    min(stopValue, shortStopPrice[1])
else
    999999

//PLOT TSL LINES
plot(series=strategy.position_size > 0 ? longStopPrice : na, color=color.red, style=plot.style_linebr, linewidth=1, title="Long Trail Stop", offset=1, title="Long Trail Stop")
plot(series=strategy.position_size < 0 ? shortStopPrice : na, color=color.red, style=plot.style_linebr, linewidth=1, title="Short Trail Stop", offset=1, title="Short Trail Stop")


//EXIT TRADE @ TSL
if strategy.position_size > 0
    strategy.exit(id="Close Long", stop=longStopPrice)
if strategy.position_size < 0
    strategy.exit(id="Close Short", stop=shortStopPrice)