Chiến lược dừng kéo theo động

Tác giả:ChaoZhang, Ngày: 2024-02-27 15:02:34
Tags:

img

Tổng quan

Chiến lược này nhằm mục đích sử dụng chức năng dừng kéo theo của Bitmex để điều chỉnh động giá dừng lỗ cho các điểm dừng chính xác và linh hoạt hơn. Chiến lược này không được sử dụng cho các bước vào hoặc ra, mà thay vào đó cung cấp phạm vi dừng lỗ hợp lý trong các điều kiện thị trường khác nhau.

Chiến lược logic

Chiến lược chủ yếu sử dụng 3 chỉ số: giá cao nhất, giá thấp nhất và giá đóng cửa.longoffsetđối với khoảng cách dừng kéo dài vàshortoffsetcho khoảng cách dừng ngắn. khoảng cách dài mặc định là 228,5 điểm và khoảng cách ngắn là 243,5 điểm.

Sau đó, chiến lược sử dụng logic sau đây để điều chỉnh giá dừng kéo theotrailstop:

  • Nếu giá thấp nhất của nến mới nhất thấp hơn giá dừng kéo dài của nến trước đó, và giá thấp nhất của nến trước đó cao hơn giá dừng kéo dài của 2 nến trước đó, thì giá dừng kéo dài của nến hiện tại = giá đóng + khoảng cách dừng kéo dài ngắn

  • Nếu giá cao nhất của nến mới nhất cao hơn giá dừng theo dõi của nến trước đó, và giá cao nhất của nến trước đó thấp hơn giá dừng theo dõi của 2 nến trước đó, thì giá dừng theo dõi của nến hiện tại = giá đóng - khoảng cách dừng kéo dài

  • Nếu giá cao nhất của nến mới nhất cao hơn giá dừng theo dõi của nến trước, thì giá dừng theo dõi nến hiện tại = max ((giá dừng theo dõi nến trước, giá cao nhất của nến mới nhất - khoảng cách dừng theo dõi dài)

  • Nếu giá thấp nhất của nến mới nhất thấp hơn giá dừng theo dõi của nến trước, thì giá dừng theo dõi nến hiện tại = min ((giá dừng theo dõi nến trước, giá thấp nhất nến mới nhất + khoảng cách dừng theo dõi ngắn)

  • Nếu không, giá dừng sau của nến hiện tại = giá đóng

Điều này điều chỉnh năng động giá dừng kéo theo dựa trên những thay đổi trong giá thị trường cao nhất và thấp nhất để đạt được dừng năng động.

Phân tích lợi thế

Lợi thế lớn nhất của chiến lược này là việc thực hiện các điểm dừng theo dõi thực sự năng động và linh hoạt. So với giá dừng lỗ cố định, việc theo dõi năng động có thể điều chỉnh phạm vi dừng lỗ dựa trên biến động của thị trường, tránh tổn thất không cần thiết do khoảng cách dừng quá lớn, đồng thời tránh bị dừng bởi biến động giá bình thường khi khoảng cách quá nhỏ. Điều này làm giảm tổn thất không cần thiết đồng thời giảm khả năng dừng sớm.

Một lợi thế khác là khoảng cách dừng lỗ có thể được tùy chỉnh và tối ưu hóa. Người dùng có thể chọn phạm vi dừng lỗ phù hợp với bản thân theo đặc điểm của các sản phẩm và phong cách giao dịch khác nhau. Điều này cho phép chiến lược được áp dụng cho một loạt các kịch bản rộng hơn.

Cuối cùng, logic dừng lỗ của chiến lược này là đơn giản và rõ ràng, dễ hiểu, và dễ dàng phát triển hơn nữa và tích hợp vào các chiến lược khác.

Phân tích rủi ro

Những rủi ro chính của chiến lược này là:

  1. Các điểm dừng động chỉ có thể giảm lỗ trong điều kiện thị trường bình thường, nhưng không thể chịu được các sự kiện lớn hoặc điều kiện thị trường cực đoan.

  2. Nếu khoảng cách dừng phía sau được đặt quá lớn, nó có thể dẫn đến tổn thất lớn hơn. Nếu đặt quá nhỏ, nó có thể dừng lại sớm. Cài đặt cần kiểm tra cẩn thận và tối ưu hóa dựa trên đặc điểm của sản phẩm.

  3. Trong vài ngọn nến đầu tiên sau khi mở một vị trí, do cơ chế dừng lại, khoảng cách dừng lại có thể quá lớn, gây ra một số rủi ro bổ sung trong thời gian này.

Hướng dẫn tối ưu hóa

Chiến lược này có thể được tối ưu hóa trong các khía cạnh sau:

  1. Tối ưu hóa tham số cho các sản phẩm khác nhau: Chọn khoảng cách dừng kéo dài và ngắn hợp lý dựa trên biến động, phạm vi trong ngày và các số liệu khác cho các sản phẩm khác nhau.

  2. Giảm rủi ro bổ sung trong nến đầu sau khi mở các vị trí: Hạn chế phạm vi điều chỉnh khoảng cách dừng lại trong vài nến đầu tiên để tránh khoảng cách quá lớn.

  3. Kết hợp các chỉ số khối lượng giao dịch: Ví dụ, giảm khoảng cách dừng trong thời gian tăng khối lượng để tránh bị ngăn chặn bởi chênh lệch.

  4. Kết hợp với các chiến lược nhập / ra khác: Chức năng chính của chiến lược này là dừng lỗ. Nó có thể được tích hợp với các chiến lược khác với các quy tắc nhập và ra.

Kết luận

Chiến lược này thực hiện stop loss theo dõi động dựa trên những thay đổi trong giá thị trường cao nhất và thấp nhất. Nó có thể giảm thiểu hiệu quả những tổn thất không cần thiết trong điều kiện thị trường bình thường, và giải quyết vấn đề khoảng cách cố định quá lớn hoặc quá nhỏ. Các hướng tối ưu hóa chính là kiểm tra các thông số phù hợp trên các sản phẩm khác nhau và kiểm soát rủi ro trong các nến đầu tiên sau khi mở các vị trí. Logic stop loss đơn giản và rõ ràng, dễ hiểu và tích hợp vào các chiến lược khác hoặc sử dụng độc lập như một công cụ stop loss.


/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//By River
strategy("BitMex Trailing Stop Strategy", overlay=true)
longoffset = input(defval=228.5, title="Long Trailing Stop Size", type=float, minval=0.5, maxval=1000, step=0.5)
shortoffset = input(defval=243.5, title="Short Trailing Stop Size ", type=float, minval=0.5, maxval=1000, step=0.5)

hiprice = request.security(syminfo.tickerid, "1", high)
loprice = request.security(syminfo.tickerid, "1", low)
price = request.security(syminfo.tickerid, "1", close)

trailstop = price
trailstop := (loprice <= trailstop[1] and loprice[1] >= trailstop[2]) ? price + shortoffset : ((hiprice >= trailstop[1] and hiprice[1] <= trailstop[2]) ? price - longoffset : (hiprice > trailstop[1] ? max(hiprice - longoffset, trailstop[1]) : (loprice < trailstop[1] ? min(loprice + shortoffset, trailstop[1]) : price)))

trailcol = trailstop > price ? red : green
plot(trailstop, color=trailcol)

longCondition =  trailcol == green
alertcondition(longCondition, "Long Stop alert", "BUY")
if (longCondition)
    strategy.entry("Long", strategy.long)
shortCondition = trailcol == red
alertcondition(shortCondition, "Short alert", "SELL")
if (shortCondition)
    strategy.entry("Short", strategy.short)



Thêm nữa