
Artikel ini membentangkan strategi pelacakan balik dinamik berdasarkan paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras
Strategi ini digunakan terutamanya untuk peniaga yang lebih suka kaedah perdagangan sistematik, ia memberikan isyarat masuk dan keluar yang jelas. Dengan menangkap trend pasaran, strategi ini membantu mencapai matlamat kewangan peniaga.
Strategi ini menggunakan indikator Parabolic SAR untuk menentukan arah trend harga. Dalam trend bullish, nilai SAR berada di bawah penembusan harga dan bergerak ke atas secara beransur-ansur dengan munculnya titik tertinggi baru; dalam trend turun, nilai SAR berada di atas penembusan harga dan bergerak ke bawah secara beransur-ansur dengan munculnya titik rendah baru.
Apabila nilai SAR naik atau turun pada harga, menunjukkan perubahan trend yang berpotensi, strategi akan melakukan shorting atau overdoing dengan sewajarnya untuk menangkap arah trend baru.
Khususnya, selepas pengiraan awal nilai SAR semasa dan faktor percepatan, strategi terus mengesan harga tinggi atau rendah dan menyesuaikan nilai SAR dengan sewajarnya. Pada garis K yang disahkan, jika tren kenaikan harga adalah shorting di bawah nilai SAR; jika tren penurunan harga adalah lebih tinggi di atas nilai SAR.
Strategi ini menyediakan sistem perdagangan yang menggunakan indikator Parabolic SAR untuk menangkap trend pasaran secara automatik. Ia memberikan isyarat masuk dan keluar yang jelas untuk keputusan perdagangan dan membantu untuk mengesan trend. Tetapi ia juga perlu mempertimbangkan isyarat yang salah dalam indikator, risiko hentian dan sebagainya. Dengan pengoptimuman berterusan, strategi ini dijangka menjadi kaedah pengesanan trend yang dipercayai.
/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-03 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Positional Parabolic SAR Strategy", overlay=true)
initial = input(0.02)
step = input(0.02)
cap = input(0.2)
var bool isUptrend = na
var float Extremum = na
var float SARValue = na
var float Accelerator = initial
var float futureSAR = na
if bar_index > 0
isNewTrendBar = false
SARValue := futureSAR
if bar_index == 1
float pastSAR = na
float pastExtremum = na
previousLow = low[1]
previousHigh = high[1]
currentClose = close
pastClose = close[1]
if currentClose > pastClose
isUptrend := true
Extremum := high
pastSAR := previousLow
pastExtremum := high
else
isUptrend := false
Extremum := low
pastSAR := previousHigh
pastExtremum := low
isNewTrendBar := true
SARValue := pastSAR + initial * (pastExtremum - pastSAR)
if isUptrend
if SARValue > low
isNewTrendBar := true
isUptrend := false
SARValue := math.max(Extremum, high)
Extremum := low
Accelerator := initial
else
if SARValue < high
isNewTrendBar := true
isUptrend := true
SARValue := math.min(Extremum, low)
Extremum := high
Accelerator := initial
if not isNewTrendBar
if isUptrend
if high > Extremum
Extremum := high
Accelerator := math.min(Accelerator + step, cap)
else
if low < Extremum
Extremum := low
Accelerator := math.min(Accelerator + step, cap)
if isUptrend
SARValue := math.min(SARValue, low[1])
if bar_index > 1
SARValue := math.min(SARValue, low[2])
else
SARValue := math.max(SARValue, high[1])
if bar_index > 1
SARValue := math.max(SARValue, high[2])
futureSAR := SARValue + Accelerator * (Extremum - SARValue)
if barstate.isconfirmed
if isUptrend
strategy.entry("ShortEntry", strategy.short, stop=futureSAR, comment="ShortEntry")
strategy.cancel("LongEntry")
else
strategy.entry("LongEntry", strategy.long, stop=futureSAR, comment="LongEntry")
strategy.cancel("ShortEntry")
plot(SARValue, style=plot.style_cross, linewidth=3, color=color.white)
plot(futureSAR, style=plot.style_cross, linewidth=3, color=color.red)