Chiến lược đảo ngược SAR Parabolic

Tác giả:ChaoZhang, Ngày: 2023-09-18 21:59:08
Tags:

Tổng quan

Chiến lược này giao dịch dựa trên chỉ số Parabolic SAR xác định các điểm đảo ngược tiềm năng trong xu hướng.

Nguyên tắc

Parabolic SAR là một chỉ số theo xu hướng chủ yếu xác định sự đảo ngược xu hướng.

Khi SAR dưới giá, nó đại diện cho xu hướng tăng.

Khi SAR trên giá, nó đại diện cho xu hướng giảm.

Chiến lược chỉ đơn giản là giao dịch SAR flip như là hướng tín hiệu, với SAR là dừng lỗ.

Ưu điểm

  1. SAR xác định chính xác các điểm đảo ngược tiềm năng.

  2. Cơ chế theo xu hướng làm giảm tín hiệu sai.

  3. SAR hoạt động như một điểm dừng, tránh bị mắc kẹt.

  4. Không cần các chỉ số hoặc bộ lọc khác.

  5. Tối ưu hóa tham số dễ dàng, mặc định thường hoạt động.

Rủi ro và giảm thiểu

  1. SAR có thể xem xét các thị trường khác nhau.

  2. SAR quá gần với giá có nguy cơ bị ảnh hưởng.

  3. Số lượng được bỏ qua, nguy cơ phân kỳ.

  4. Việc rút vốn có thể rất quan trọng.

  5. Không phải lúc nào cũng có thể thay đổi, cần phải xác nhận.

Cơ hội gia tăng

  1. Kiểm tra xem các thông số SAR có thể được cải thiện hay không.

  2. Thêm các chỉ số như MACD để xác nhận xác suất đảo ngược.

  3. Xây dựng một cơ chế dừng kéo động.

  4. Tối ưu hóa kích cỡ vị trí vào để tận dụng các tín hiệu SAR.

  5. Nghiên cứu thêm logic xác nhận đảo ngược.

Tóm lại

Chiến lược này giao dịch các điểm đảo ngược tiềm năng được xác định bởi SAR, thực hiện giao dịch khi giá SAR đảo ngược. Lợi ích bao gồm dừng lại để tránh bẫy. Nhưng thời gian SAR có thể không chính xác và cần tinh chỉnh. Nhìn chung, khái niệm đảo ngược SAR đáng để học.


/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Parabolic SAR Strategy", overlay=true)

// 
// author: Kozlod
// date: 2018-09-03
// https://www.tradingview.com/u/Kozlod/
// 

start = input(0.02)
increment = input(0.02)
maximum = input(0.2)

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
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 = 1970)
 
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2019, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
 
////////////////////////////////////////////////////////////////////////////////

psar = sar(start, increment, maximum)

// Signals
psar_long  = high[1] < psar[2] and high > psar[1] 
psar_short = low[1]  > psar[2] and low  < psar[1] 

// Plot PSAR
plotshape(psar, location = location.absolute, style = shape.cross, size = size.tiny, color = low < psar[1] and not psar_long ? green : red)


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

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

if (not time_cond)
    strategy.close_all()


Thêm nữa