Parabolic SAR Trailing Stop Loss Strategi

Penulis:ChaoZhang, Tanggal: 2023-09-16 18:54:28
Tag:

Gambaran umum

Parabolic SAR trailing stop loss strategy adalah strategi trading yang didasarkan pada indikator Parabolic SAR. Ini bertujuan untuk mengidentifikasi titik pembalikan tren dan posisi keluar secara tepat waktu ketika tren berbalik.

Logika Strategi

Indikator SAR Parabolik dapat mengidentifikasi tren harga dan memberikan sinyal pembalikan potensial. Ketika titik SAR melintasi di atas candlestick, itu mewakili perubahan dari bullish ke bearish; ketika titik SAR melintasi di bawah candlestick, itu mewakili perubahan dari bearish ke bullish.

Berdasarkan fitur ini dari indikator SAR Parabolik, strategi ini mengidentifikasi pembalikan tren ketika titik SAR melintasi candlestick, dan membuat entri panjang atau pendek yang sesuai.

  1. Hitung nilai SAR Parabolik.

  2. Tentukan apakah ada sinyal pembalikan tren. Jika titik SAR melintasi dari atas ke bawah candlestick, itu mewakili sinyal bearish, pergi pendek; jika titik SAR melintasi dari bawah ke atas candlestick, itu mewakili sinyal bullish, pergi panjang.

  3. Masukkan posisi ketika crossover terjadi, dan keluarkan posisi dengan stop loss ketika titik SAR melintasi candlestick ke arah yang berlawanan lagi.

Keuntungan

  • Menggunakan indikator Parabolic SAR untuk mengidentifikasi titik pembalikan tren, menghindari perdagangan melawan tren.

  • Masuk posisi dengan cepat ketika sinyal pembalikan diidentifikasi, menangkap perubahan tren.

  • Mengatur stop loss di titik penyeberangan SAR untuk berhenti cepat dan kontrol kerugian tepat waktu.

  • Logika strategi yang sederhana dan jelas, mudah diterapkan.

Risiko dan Pengurangan

  • Indikator SAR Parabolik dapat menghasilkan banyak sinyal palsu, menyebabkan perdagangan yang tidak perlu.

  • Mertimbangkan menambahkan filter untuk menghindari periode volatilitas tinggi.

  • Stop loss yang terlalu dekat dapat menyebabkan stop stop yang berlebihan.

  • Mengandalkan satu indikator membuat strategi rentan terhadap keterbatasan pasar tertentu.

Kesimpulan

Parabolic SAR trailing stop loss strategi memanfaatkan kemampuan identifikasi tren dari indikator Parabolic SAR untuk dengan cepat berhenti dan membalikkan arah ketika tren terbalik. Logika strategi sederhana dan jelas. Namun, mengandalkan hanya indikator Parabolic SAR memiliki keterbatasan.


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

//@version=4
strategy(title="Parabolic SAR Strategy (on close) [QuantNomad]", shorttitle="SAR Strategy [QN]", overlay=true)

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

psar      = 0.0 // PSAR
af        = 0.0 // Acceleration Factor
trend_dir = 0   // Current direction of PSAR
ep        = 0.0 // Extreme point

sar_long_to_short = trend_dir[1] == 1  and close <= psar[1] // PSAR switches from long to short
sar_short_to_long = trend_dir[1] == -1 and close >= psar[1] // PSAR switches from short to long

trend_change = barstate.isfirst[1] or sar_long_to_short or sar_short_to_long

// Calculate trend direction
trend_dir    := barstate.isfirst[1] and close[1] > open[1] ? 1 : 
   barstate.isfirst[1] and close[1] <= open[1] ? -1 : 
   sar_long_to_short ? -1 : 
   sar_short_to_long ?  1 : nz(trend_dir[1])

// Calculate  Acceleration Factor
af := trend_change ? start : 
   (trend_dir == 1 and high > ep[1]) or  
   (trend_dir == -1 and low < ep[1]) ? 
   min(maximum, af[1] + increment) : 
   af[1]

// Calculate extreme point
ep := trend_change and trend_dir == 1 ? high :  
   trend_change and trend_dir == -1 ? low : 
   trend_dir == 1 ? max(ep[1], high) : 
   min(ep[1], low)

// Calculate PSAR
psar := barstate.isfirst[1] and close[1] > open[1] ? low[1] : 
   barstate.isfirst[1] and close[1] <= open[1] ? high[1] : 
   trend_change ? ep[1] :    
   trend_dir == 1 ? psar[1] + af * (ep - psar[1]) : psar[1] - af * (psar[1] - ep) 

plot(psar, style=plot.style_cross, color=trend_dir == 1 ? color.green : color.red,  linewidth = 2)

// Strategy 
strategy.entry("Long",  true,  when = sar_short_to_long)
strategy.entry("Short", false, when = sar_long_to_short)

Lebih banyak