Chiến lược dừng mất mát theo dõi điều chỉnh ATR

Tác giả:ChaoZhang, Ngày: 2023-10-25 15:08:04
Tags:

img

Chiến lược này sử dụng chỉ số ATR để tính toán đường dừng lỗ động để kiểm soát rủi ro.

Tổng quan

Chiến lược này sử dụng chỉ số ATR để tính toán một đường dừng lỗ động. Khi giá tăng, đường dừng lỗ sẽ di chuyển lên với giá để khóa lợi nhuận. Khi giá giảm, đường dừng lỗ vẫn không thay đổi để tránh bị dừng. Chỉ số ATR có thể đo biến động và rủi ro của thị trường. nhân nó bằng một hệ số tạo ra đường dừng lỗ, do đó kiểm soát mức độ rủi ro cho mỗi giao dịch.

Nguyên tắc

Chiến lược sử dụng chỉ số ATR và hàm cao nhất để tính toán đường dừng lỗ động.

TS=highest(high-Mult*atr(Atr),Hhv) 

Trong đó Atr là tham số thời gian ATR, Hhv là tham số thời gian xem lại của hàm cao nhất và Mult là hệ số ATR.

Khả năng là đầu tiên tính toán giá trị ATR, sau đó nhân nó với hệ số Mult để có được phạm vi của vùng đệm dừng lỗ. Sau đó sử dụng hàm cao nhất để tìm mức cao nhất trong các khoảng Hhv trước đó và trừ vùng đệm dừng lỗ để có được đường đệm dừng lỗ động TS.

Khi giá tăng, mức cao nhất sẽ liên tục được cập nhật, thúc đẩy đường dừng lỗ tăng và khóa lợi nhuận. Khi giá giảm, đường dừng lỗ sẽ duy trì mức cao trước đó để tránh bị dừng.

Ưu điểm

  1. Đặt lỗ dừng động cho việc thu lợi nhuận kịp thời

Đường dừng lỗ điều chỉnh năng động để theo dõi điểm cao nhất sau khi giá tăng, cho phép lấy lợi nhuận kịp thời.

  1. Tránh dừng lỗ không cần thiết

Các đường dừng lỗ cố định có thể dễ dàng được kích hoạt bởi các pullback bình thường hoặc dừng quá chật. Chiến lược này giữ cho mức dừng lỗ không thay đổi trong thời gian giảm giá để tránh dừng không cần thiết.

  1. Phạm vi dừng mất mát có thể điều chỉnh

Bằng cách điều chỉnh thời gian ATR và các thông số nhân, độ nhạy của điều chỉnh stop loss có thể được điều khiển cho các mức dừng khác nhau.

  1. Rủi ro có thể kiểm soát

ATR tính toán năng động phạm vi dừng lỗ, cho phép phạm vi dừng lỗ hợp lý theo biến động thị trường để kiểm soát rủi ro cho mỗi giao dịch.

Rủi ro

  1. Stop loss quá mạnh trong thời điểm biến động cao

Khi biến động tăng, ATR tăng nhanh chóng và thúc đẩy đường dừng lỗ tăng nhanh chóng, làm tăng cơ hội dừng không cần thiết. Thời gian ATR có thể được điều chỉnh để làm cho đường ít nhạy cảm hơn.

  1. Khó thích nghi với những thay đổi đột ngột

Chiến lược đấu tranh để thích nghi với sự đảo ngược mạnh.

  1. Tối ưu hóa khó

Tối ưu hóa thời gian ATR, thời gian cao nhất và các thông số nhân cùng nhau có thể là một thách thức.

Tối ưu hóa

  1. Tối ưu hóa thời gian ATR

Tăng thời gian ATR để giảm điều chỉnh đường dừng quá thường xuyên, nhưng với chi phí mất mát lớn hơn mỗi điểm dừng.

  1. Tối ưu hóa thời gian cao nhất

Tăng khoảng thời gian cao nhất để làm cho đường dây ổn định hơn, nhưng cân bằng tốc độ theo dõi.

  1. Kiểm tra các hệ số ATR khác nhau

Chọn các nhân ATR phù hợp theo đặc điểm của thiết bị.

  1. Thêm bộ lọc xu hướng

Thêm bộ lọc xu hướng làm giảm khả năng dừng được kích hoạt bởi sự đảo ngược.

Tóm lại

Chiến lược này có lợi thế của các điểm dừng năng động và rủi ro có thể kiểm soát được. Nó phù hợp với thị trường xu hướng nhưng hãy cẩn thận với sự biến động và tối ưu hóa tham số khó khăn. Với các thiết lập, tối ưu hóa và kỹ thuật bổ sung thích hợp, nó có thể được áp dụng cho giao dịch trực tiếp.


/*backtest
start: 2023-10-17 00:00:00
end: 2023-10-24 00:00:00
period: 30m
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/
// © ceyhun

//@version=4
strategy("ATR Trailing Stoploss Strategy ",overlay=true)

Atr=input(defval=5,title="Atr Period",minval=1,maxval=500)
Hhv=input(defval=10,title="HHV Period",minval=1,maxval=500)
Mult=input(defval=2.5,title="Multiplier",minval=0.1)
Barcolor=input(true,title="Barcolor")

TS=highest(high-Mult*atr(Atr),Hhv),barssince(close>highest(high-Mult*atr(Atr),Hhv) and close>close)
Color=iff(close>TS,color.green,iff(close<TS,color.red,color.black))
barcolor(Barcolor? Color:na)

plot(TS,color=Color,linewidth=3,title="ATR Trailing Stoploss")

Buy  = crossover(close,TS)
Sell = crossunder(close,TS)

if Buy
    strategy.entry("Buy", strategy.long, comment="Buy")
    
if Sell
    strategy.entry("Sell", strategy.short, comment="Sell")

Thêm nữa