Type/to search

Chiến lược SuperTrend dựa trên ATR và trailing stop

Common strategy
Created: 2023-11-28 14:56:59
Last modified: 3 years ago
1
Follow
1802
Followers

img

Tổng quan

Chiến lược này thiết kế một đường dừng lỗ di động và đường đảo chiều dựa trên chỉ báo ATR (Average True Range). Nó sẽ trailing stop loss (dừng lỗ theo xu hướng) dựa trên biến động giá. Cụ thể, nếu giá thay đổi hơn 1%, đường dừng lỗ sẽ dịch chuyển theo hướng lợi nhuận với một tỷ lệ cố định. Khi giá phá vỡ đường dừng lỗ, vị thế sẽ tự động được đóng lại. Điều này có thể khóa lợi nhuận, cũng như giảm thiểu thua lỗ.

Nguyên lý chiến lược

Chiến lược sử dụng chỉ báo ATR để tính toán đường dừng lỗ. Công thức cụ thể như sau:

atr = multplierFactor * atr(barsBack) longStop = hl2 - atr shortStop = hl2 + atr

Trong đó multplierFactor là hệ số khuếch đại ATR, barsBack là số chu kỳ ATR. Giá trị ATR càng lớn, biến động thị trường càng mạnh.

Dựa trên giá trị ATR, tính toán đường dừng lỗ cho vị thế mua (longStop) và vị thế bán (shortStop). Khi giá vượt qua hai đường này, tín hiệu giao dịch được phát ra.

Ngoài ra, chiến lược còn đưa vào biến direction để xác định xu hướng:

direction = 1 direction := nz(direction[1], direction) direction := direction == -1 and close > shortStopPrev ? 1 : direction == 1 and close < longStopPrev ? -1 : direction

Nếu direction = 1 có nghĩa là xu hướng tăng, nếu direction = -1 là xu hướng giảm.

Dựa trên giá trị biến direction, sẽ vẽ đường dừng lỗ với màu sắc khác nhau:

if (direction == 1) valueToPlot := longStop colorToPlot := color.green else valueToPlot := shortStop colorToPlot := color.red

Nhờ đó có thể thấy rõ xu hướng hiện tại và vị trí đường dừng lỗ.

Cơ chế trailing stop loss

Điểm mấu chốt của chiến lược này là cơ chế trailing stop loss, cho phép điều chỉnh đường dừng lỗ theo thời gian thực dựa trên diễn biến giá.

Logic cụ thể như sau:

strategyPercentege = (close - updatedEntryPrice) / updatedEntryPrice * 100.00 rideUpStopLoss = hasOpenTrade() and strategyPercentege > 1 if (rideUpStopLoss) stopLossPercent := stopLossPercent + strategyPercentege - 1.0 newStopLossPrice = updatedEntryPrice + (updatedEntryPrice * stopLossPercent) / 100 stopLossPrice := max(stopLossPrice, newStopLossPrice) updatedEntryPrice := stopLossPrice

Nếu giá tăng hơn 1% so với giá vào lệnh, đường dừng lỗ sẽ được điều chỉnh lên trên. Mức điều chỉnh là phần vượt quá 1%.

Điều này cho phép khóa thêm lợi nhuận, đồng thời giảm thiểu thua lỗ.

Phân tích ưu điểm

So với các chiến lược dừng lỗ di động truyền thống, ưu điểm lớn nhất của chiến lược này là có thể điều chỉnh đường dừng lỗ một cách linh hoạt theo điều kiện thị trường. Cụ thể:

  1. Khóa lợi nhuận cao hơn trong xu hướng mạnh

    Cơ chế trailing stop loss cho phép đường dừng lỗ liên tục dịch chuyển theo hướng có lợi nhuận, nhờ đó có thể khóa được lợi nhuận cao hơn khi thị trường tiếp tục tăng mạnh.

  2. Giảm thiểu việc bị quét dừng lỗ trong vùng tích lũy

    Khi xu hướng thị trường thay đổi, đường dừng lỗ di động cố định dễ bị nhảy qua. Trong khi đó, đường dừng lỗ của chiến lược này được tính toán dựa trên biến động thị trường, có thể theo dõi biến động giá một cách hợp lý, tránh bị quét dừng lỗ trong vùng tích lũy.

  3. Thao tác đơn giản, dễ dàng tự động hóa

    Chiến lược hoàn toàn dựa trên tính toán chỉ báo, không có logic xác định xu hướng phức tạp. Có thể triển khai giao dịch tự động rất đơn giản.

  4. Có thể tùy chỉnh tham số, phù hợp với nhiều loại tài sản

    Các tham số như chu kỳ ATR, hệ số khuếch đại, mức dừng lỗ đều có thể tùy chỉnh, cho phép tối ưu hóa cho từng loại tài sản khác nhau, giúp chiến lược có tính phổ quát cao hơn.

Phân tích rủi ro

Mặc dù chiến lược này có nhiều ưu điểm, nhưng vẫn cần lưu ý các rủi ro sau:

  1. Không thể xác định điểm đảo chiều xu hướng, có rủi ro mua đỉnh bán đáy

    Chiến lược không có logic xác định khi nào xu hướng kết thúc. Vào cuối thị trường tăng, dễ xảy ra tình trạng mua đỉnh bán đáy.

  2. Cài đặt tham số không phù hợp có thể mở rộng thua lỗ

    Nếu chu kỳ ATR được đặt quá ngắn, đường dừng lỗ sẽ quá nhạy, có thể bị kích hoạt thường xuyên trong thị trường dao động.

  3. Có rủi ro bị dừng lỗ khi bắt đáy hồi phục

    Chiến lược này không xem xét các điểm phân kỳ làm điểm hỗ trợ dừng lỗ. Do đó, trong các đợt hồi phục ngắn, có thể bị thoát khỏi thị trường.

Để đối phó với các rủi ro trên, có thể tối ưu hóa từ các khía cạnh sau:

  1. Kết hợp với chỉ báo lọc xu hướng, dự báo sớm sự đảo chiều xu hướng

  2. Kiểm tra tối ưu hóa tham số, chọn ra tổ hợp tham số tối ưu

  3. Mở rộng phạm vi dừng lỗ gần các vùng hỗ trợ cụ thể

Hướng tối ưu hóa

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

  1. Kết hợp nhận dạng mô hình nến

    Có thể nhận diện một số mô hình nến điển hình như divergence (phân kỳ), shooting star (sao băng) để đánh giá khả năng đảo chiều xu hướng. Điều này giúp tránh rủi ro mua đỉnh bán đáy.

  2. Tối ưu hóa tham số động

    Có thể cho phép chu kỳ ATR, hệ số khuếch đại… thay đổi linh hoạt, sử dụng chu kỳ ATR dài hơn và phạm vi dừng lỗ rộng hơn trong thị trường biến động mạnh.

  3. Kết hợp mô hình học máy

    Sử dụng các mô hình học sâu như LSTM, RNN để dự đoán khoảng giá có thể xảy ra trong tương lai, từ đó điều chỉnh khoảng cách dừng lỗ một cách linh hoạt.

Tổng kết

Chiến lược này nhìn chung sử dụng chỉ báo ATR để thiết kế đường dừng lỗ di động, đồng thời đưa vào cơ chế trailing stop loss, cho phép điều chỉnh vị trí dừng lỗ theo thời gian thực dựa trên diễn biến thị trường. Điều này mang lại khả năng khóa lợi nhuận cao hơn, đồng thời giảm thiểu rủi ro. Thông qua các bước tối ưu hóa tiếp theo, chiến lược này có thể thích ứng tốt hơn với nhiều tình huống thị trường khác nhau, trở thành một chiến lược giao dịch có tính phổ quát cao.

Source
Pine
/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ 
//  -----------------------------------------------------------------------------
Strategy parameters
Strategy parameters
═══════════════ FROM ═══════════════
Month
Day
Year
════════════════ TO ════════════════
Month
Day
Year
═════════════ STRATEGY ═════════════
Position Type
Initial Stop Loss
ATR Period
ATR multplierFactoriplier
Comment
All comments (0)
No data
No data
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)