Parabolik SAR Trailing Stop Loss Strategi

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

Ringkasan

Strategi Stop Loss Trailing Parabolic SAR adalah strategi perdagangan berdasarkan penunjuk Parabolic SAR. Ia bertujuan untuk mengenal pasti titik pembalikan trend dan kedudukan keluar dengan tepat pada masanya apabila trend berbalik.

Logika Strategi

Indikator SAR Parabolik dapat mengenal pasti trend harga dan memberikan isyarat pembalikan yang berpotensi. Apabila titik SAR melintasi di atas candlestick, ia mewakili perubahan dari bullish ke bearish; apabila titik SAR melintasi di bawah candlestick, ia mewakili perubahan dari bearish ke bullish.

Berdasarkan ciri ini dari penunjuk SAR Parabolik, strategi ini mengenal pasti pembalikan trend apabila titik SAR melintasi candlestick, dan membuat entri panjang atau pendek yang sepadan.

  1. Mengira nilai SAR Parabolik.

  2. Tentukan sama ada terdapat isyarat pembalikan trend. Jika titik SAR melintasi dari atas ke bawah lilin, ia mewakili isyarat penurunan, pergi pendek; jika titik SAR melintasi dari bawah ke atas lilin, ia mewakili isyarat kenaikan, pergi panjang.

  3. Masukkan kedudukan apabila persilangan berlaku, dan keluarkan kedudukan dengan stop loss apabila titik SAR melintasi lilin ke arah yang bertentangan lagi.

Kelebihan

  • Menggunakan penunjuk SAR Parabolik untuk mengenal pasti titik pembalikan trend, mengelakkan perdagangan terhadap trend.

  • Memasuki kedudukan dengan cepat apabila isyarat pembalikan dikenal pasti, menangkap perubahan trend.

  • Menetapkan stop loss di titik persimpangan SAR untuk hentian pantas dan kawalan kehilangan tepat pada masanya.

  • Logik strategi yang mudah dan jelas, mudah dilaksanakan.

Risiko dan Pengurangan

  • Indikator SAR Parabolik boleh menghasilkan banyak isyarat palsu, menyebabkan perdagangan yang tidak perlu.

  • Rendah untuk dipukul dalam pasaran yang berbalik dengan cepat.

  • Hentikan kerugian terlalu dekat boleh menyebabkan berhenti yang berlebihan.

  • Bergantung pada satu penunjuk menjadikan strategi terdedah kepada batasan khusus pasaran.

Kesimpulan

Strategi Stop Loss Parabolic SAR menggunakan keupayaan pengenalan trend dari indikator Parabolic SAR untuk berhenti dengan cepat dan membalikkan arah apabila trend berbalik. Logik strategi adalah mudah dan jelas. Walau bagaimanapun, bergantung kepada hanya indikator Parabolic SAR mempunyai batasan.


/*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 lanjut