Chiến lược này dựa trên một cơ chế dừng lỗ theo dõi năng động để thiết lập các đường dừng lỗ cho các vị trí dài và ngắn dựa trên giá cao nhất và thấp nhất của một cổ phiếu. Khi giá đạt đến đường dừng lỗ, nó sẽ đóng vị trí hiện tại và mở một vị trí mới theo hướng ngược lại. Chiến lược đơn giản và hiệu quả trong việc kiểm soát rủi ro giao dịch duy nhất.
Các bước chính của chiến lược này là:
Điều trên là logic cơ bản của chiến lược. Khi giá di chuyển, đường dừng lỗ luôn được cập nhật để theo dõi năng động. Bằng cách theo dõi dừng lỗ, nó có thể kiểm soát hiệu quả lỗ trên mỗi giao dịch.
Những lợi thế chính của chiến lược này:
Tóm lại, thông qua các cơ chế dừng lỗ kéo dài đơn giản, chiến lược này có thể quản lý hiệu quả các vị trí và là một chiến lược quản lý rủi ro điển hình.
Ngoài ra còn có một số rủi ro cần lưu ý:
Những rủi ro này có thể được tối ưu hóa bằng cách điều chỉnh thời gian, giảm trượt một cách hợp lý để tạo ra các đường dừng lỗ hợp lý hơn.
Chiến lược có thể được nâng cấp từ các khía cạnh sau:
Chiến lược giao dịch thực hiện quản lý vị trí năng động thông qua các phương pháp dừng lỗ sau đơn giản. Nó dễ hiểu và thực hiện, và có thể kiểm soát hiệu quả lỗ giao dịch duy nhất. Chúng tôi đã phân tích những lợi thế, rủi ro tiềm năng và hướng tối ưu hóa trong tương lai. Kết luận, đây là một chiến lược quản lý rủi ro rất điển hình và thực tế.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2019 //@version=4 strategy(title = "Noro's Trailing-Stop Strategy", shorttitle = "Trailing", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(false, defval = false, title = "Short") length = input(20, minval = 1) shift = input(0.0, minval = 0, title = "Trailing Stop") background = input(false) //Levels max = highest(high, length) min = lowest(low, length) //Trailing size = strategy.position_size longtrailing = 0.0 shorttrailing = 0.0 longtrailing := size <= 0 ? min - ((min / 100) * shift) : max(min - ((min / 100) * shift), longtrailing[1]) shorttrailing := size >= 0 ? max + ((max / 100) * shift) : min(max + ((max / 100) * shift), shorttrailing[1]) trailing = size <= 0 ? shorttrailing : longtrailing col = size == size[1] ? size > 0 ? color.red : color.lime : na plot(trailing, color = col, linewidth = 2, transp = 0) //Background bgcol = background ? size > 0 ? color.lime : color.red : na bgcolor(bgcol, transp = 80) if trailing > 0 and size <= 0 strategy.entry("Long", strategy.long, needlong ? na : 0, stop = trailing) if trailing > 0 and size >= 0 strategy.entry("Short", strategy.short, needshort ? na : 0, stop = trailing)