Chiến lược theo dõi đà dừng lỗ

Tác giả:ChaoZhang, Ngày: 2023-10-27 11:23:18
Tags:

img

Tổng quan

Chiến lược này dựa trên chỉ số Parabolic SAR và kết hợp một cửa sổ thời gian để kiểm tra lại để đạt được hiệu ứng dừng lỗ theo dõi động lực. Nó chủ yếu phù hợp với các sản phẩm có xu hướng mạnh, và điều chỉnh động điểm dừng lỗ để nhận ra xu hướng theo dõi dừng lỗ.

Chiến lược logic

Chiến lược này sử dụng chỉ số Parabolic SAR (Parabolic Stop and Reverse) làm chỉ số kỹ thuật chính. Parabolic SAR có thể cung cấp các tín hiệu đảo ngược rất chính xác. Khi giá đang trong xu hướng tăng, Parabolic SAR sẽ tiếp tục di chuyển lên để theo dõi xu hướng tăng. Khi giá bắt đầu giảm, Parabolic SAR sẽ giảm nhanh chóng để cung cấp các tín hiệu dừng lỗ.

Chiến lược đầu tiên thiết lập ba tham số của Parabolic SAR, bao gồm giá trị bắt đầu, giá trị gia tăng và giá trị tối đa. Sau đó nó tính toán giá trị của Parabolic SAR. Chiến lược sử dụng Parabolic SAR làm điểm dừng lỗ năng động. Khi giá tăng, nó đi xa trên Parabolic SAR; khi giá phá vỡ dưới Parabolic SAR, nó đóng vị trí dài. Tương tự, khi giá giảm, nó đi ngắn dưới Parabolic SAR; khi giá phá vỡ trên Parabolic SAR, nó đóng vị trí ngắn.

Bằng cách này, chiến lược có thể theo dõi xu hướng khi giá đang xu hướng, và nhanh chóng dừng lỗ khi giá đảo ngược, hoàn thành chu kỳ giao dịch.

Phân tích lợi thế

  • Sử dụng hiệu quả cao của Parabolic SAR để cung cấp tín hiệu dài và ngắn chính xác
  • Parabolic SAR có thể phản ứng nhanh chóng với sự thay đổi giá để dừng lỗ kịp thời
  • Tự động điều chỉnh điểm dừng lỗ mà không cần can thiệp bằng tay, tránh bỏ lỡ cơ hội dừng lỗ
  • Cho phép tùy chỉnh sâu các thông số SAR Parabolic phù hợp với phong cách của riêng bạn
  • Kiểm tra ngược trên các cửa sổ thời gian cụ thể để kiểm tra hiệu suất chiến lược trong các môi trường thị trường khác nhau

Phân tích rủi ro

  • Khó xác định kết hợp tham số SAR Parabolic tối ưu, các tham số không phù hợp có thể dẫn đến stop loss quá hung hăng hoặc bảo thủ
  • Dựa trên chỉ số duy nhất SAR Parabolic, dễ biến động bất thường
  • Thích hợp hơn cho các thị trường xu hướng, có thể dừng lỗ quá thường xuyên trong quá trình củng cố
  • Cần phải chọn các cửa sổ thời gian thích hợp cho backtest, mẫu không đầy đủ có thể dẫn đến kết quả thiên vị
  • Backtest chỉ xem xét dữ liệu lịch sử, không thể dự đoán chuyển động giá trong tương lai, hiệu suất trực tiếp có thể khác với kết quả backtest

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

  • Xem xét kết hợp với các chỉ số khác để tạo ra một danh mục chỉ số cho sự ổn định cao hơn
  • Thêm mô-đun tối ưu hóa tham số để tự động tối ưu hóa các tham số Parabolic SAR
  • Thêm kích thước vị trí và các mô-đun quản lý lệnh để kiểm soát việc sử dụng vốn của mỗi giao dịch
  • Thêm các tùy chọn phương pháp dừng lỗ như dừng lỗ, lệnh giới hạn vv để làm cho chiến lược toàn diện hơn
  • Tối ưu hóa lựa chọn cửa sổ thời gian để kiểm tra sự vững chắc của chiến lược trên các môi trường thị trường khác nhau
  • Thêm mô-đun học máy để tối ưu hóa các thông số chiến lược một cách năng động thông qua AI

Tóm lại

Chiến lược này sử dụng đầy đủ chức năng dừng lỗ hiệu quả của chỉ số SAR Parabolic để đạt được hiệu ứng dừng lỗ theo dõi động lực. So với các điểm dừng lỗ cố định, nó có thể điều chỉnh năng động và tự động theo dõi xu hướng dừng lỗ, tránh các vị trí dừng sớm. Trong khi đó, rủi ro của chiến lược không thể bỏ qua, và cần tối ưu hóa và cải tiến đa chiều để có hiệu suất ổn định trên các thị trường khác nhau. Nhìn chung, nó cung cấp một cách hiệu quả đáng kể để dừng lỗ để theo dõi xu hướng, và đáng để nghiên cứu và áp dụng thêm.


/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// === by @Aldovitch ===
// PSAR Strategy
// Based on Parabolic SAR Strategy provided by TradingView
// added a Time Window for Backtests
// 
strategy("Parabolic SAR Strategy w/ Time Window", shorttitle="PSAR Strategy w/ TW", overlay=true)

// === INPUT INDEXES PARAMETERS ===
start = input(0.02)
increment = input(0.02)
maximum = input(0.2)

// === INPUT BACKTEST RANGE ===
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromYear  = input(defval = 2018, title = "From Year", minval = 2016)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToMonth   = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)


// === CONTROL & APPEARENCE ===
timeStart     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
timeFinish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window

// === FUNCTIONS ===
window()  => true // create function "within window of time"


// === COMPUTING INDEXES ===
psar = sar(start, increment, maximum)


if (psar > high)
    strategy.entry("ParLE", strategy.long, stop=psar, comment="ParLE", when=window())
else
    strategy.cancel("ParLE")

if (psar < low)
    strategy.entry("ParSE", strategy.short, stop=psar, comment="ParSE", when=window())
else
    strategy.cancel("ParSE")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Thêm nữa