
Strategi ini adalah strategi perdagangan Swing yang menggunakan titik geser garis parabola dengan garis K untuk melakukan operasi silang, untuk melakukan pelacakan dan penghentian momentum. Strategi ini akan membangun posisi over dan short dalam situasi bullish dan bearish, dan melunasi posisi stop saat harga berbalik.
Strategi ini bergantung pada parameter garis parabola ((Parabolic SAR) untuk menentukan apakah saat ini harga sedang naik atau turun. Ketika parameter Parabolic SAR berada di bawah garis K, yang menunjukkan bahwa saat ini harga sedang naik, strategi ini akan memeriksa apakah nilai Parabolic SAR berada di bawah garis K, jika tidak ada penembusan, strategi ini akan membangun posisi yang lebih banyak. Jika Parabolic SAR berada di atas garis K, yang menunjukkan bahwa tren naik telah berbalik ke bawah, maka strategi ini akan berhenti. Sebaliknya, ketika parameter Parabolic SAR berada di atas garis K, yang menunjukkan bahwa saat ini harga sedang turun.
Dengan prinsip operasi seperti itu, strategi ini dapat secara berurutan membangun posisi di bawah tren harga yang dikonfirmasi, dan menghentikan kerugian pada saat pertama, sehingga dapat mengunci keuntungan. Pada saat yang sama, garis parallax, sebagai indikator momentum, dapat dengan lebih akurat menentukan apakah tren berbalik, yang juga membuat stop loss lebih akurat.
Metode untuk meningkatkan kebugaran strategi meliputi: mengoptimalkan pengaturan stop loss agar cukup ketat; mengkombinasikan penilaian indikator lain sebagai konfirmasi; menyesuaikan parameter indikator untuk menyesuaikan dengan perubahan lingkungan pasar; memilih kombinasi parameter optimal sesuai dengan varietas yang berbeda.
Strategi Swing garis parabola secara keseluruhan adalah strategi operasi garis pendek yang lebih efektif. Ini menggunakan indikator garis parabola untuk menentukan arah tren dan perubahan dinamika harga, bekerja dengan metode perdagangan swing, dan secara berulang-ulang membangun posisi jual dan jual di fase kenaikan dan penurunan varietas.
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Parabolic SAR Strategy", overlay=true)
start = input(0.05)
increment = input(0.075)
maximum = input(1)
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 = 2000, title = "From Year", minval = 1970)
//monday and session
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
var bool uptrend = na
var float EP = na
var float SAR = na
var float AF = start
var float nextBarSAR = na
if bar_index > 0
firstTrendBar = false
SAR := nextBarSAR
if bar_index == 1
float prevSAR = na
float prevEP = na
lowPrev = low[1]
highPrev = high[1]
closeCur = close
closePrev = close[1]
if closeCur > closePrev
uptrend := true
EP := high
prevSAR := lowPrev
prevEP := high
else
uptrend := false
EP := low
prevSAR := highPrev
prevEP := low
firstTrendBar := true
SAR := prevSAR + start * (prevEP - prevSAR)
if uptrend
if SAR > low
firstTrendBar := true
uptrend := false
SAR := max(EP, high)
EP := low
AF := start
else
if SAR < high
firstTrendBar := true
uptrend := true
SAR := min(EP, low)
EP := high
AF := start
if not firstTrendBar
if uptrend
if high > EP
EP := high
AF := min(AF + increment, maximum)
else
if low < EP
EP := low
AF := min(AF + increment, maximum)
if uptrend
SAR := min(SAR, low[1])
if bar_index > 1
SAR := min(SAR, low[2])
else
SAR := max(SAR, high[1])
if bar_index > 1
SAR := max(SAR, high[2])
nextBarSAR := SAR + AF * (EP - SAR)
if barstate.isconfirmed and time_cond
if uptrend
strategy.entry("ParSE", strategy.short, stop=nextBarSAR, comment="ParSE")
strategy.cancel("ParLE")
else
strategy.entry("ParLE", strategy.long, stop=nextBarSAR, comment="ParLE")
strategy.cancel("ParSE")
plot(SAR, style=plot.style_cross, linewidth=3, color=color.orange)
plot(nextBarSAR, style=plot.style_cross, linewidth=3, color=color.aqua)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)