Strategi ini didasarkan pada parameter sistem perpindahan garis paralel, yang digabungkan dengan jendela waktu untuk melakukan pengembalian, untuk mencapai efek stop loss pelacakan dinamis. Strategi ini terutama berlaku untuk varietas yang memiliki tren yang kuat, untuk mencapai stop loss pelacakan tren dengan menyesuaikan titik stop loss secara dinamis.
Parabolic SAR dapat memberikan sinyal pembalikan yang sangat akurat. Ketika harga saham berada dalam tren naik, Parabolic SAR akan terus naik, memberikan dukungan untuk melacak kenaikan. Ketika harga saham mulai turun, Parabolic SAR akan turun dengan cepat, memberikan sinyal stop loss.
Strategi pertama-tama menetapkan tiga parameter untuk Parabolic SAR, termasuk nilai awal, nilai langkah, dan nilai maksimum. Kemudian menghitung nilai Parabolic SAR. Strategi menggunakan Parabolic SAR sebagai stop loss yang dinamis.
Dengan cara ini, strategi dapat melakukan pelacakan tren saat harga saham berada dalam keadaan tren; ketika harga saham mulai berbalik, stop loss cepat, menyelesaikan satu siklus perdagangan.
Strategi ini memanfaatkan sepenuhnya fungsi stop loss yang efisien yang disediakan oleh indikator Parabolic SAR, untuk mencapai efek stop loss yang dilacak secara dinamis. Dibandingkan dengan stop loss yang tetap, strategi ini dapat disesuaikan secara dinamis, dan secara otomatis mengikuti tren untuk stop loss, untuk menghindari posisi terlambat terhenti.
/*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)