Strategi penjejakan pembalikan momentum berasaskan SAR


Tarikh penciptaan: 2024-02-04 17:40:20 Akhirnya diubah suai: 2024-02-04 17:40:20
Salin: 0 Bilangan klik: 620
1
fokus pada
1617
Pengikut

Strategi penjejakan pembalikan momentum berasaskan SAR

Gambaran keseluruhan

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.

Prinsip Strategi

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.

Analisis kelebihan strategi

  • Menggunakan Indeks Parabolic SAR Klasik untuk Menangkap Perpindahan Pasaran
  • Memberi isyarat masuk dan keluar yang jelas dan sistematik
  • Membantu untuk mengesan trend dan mendapatkan pergerakan harga tambahan
  • Sistem perdagangan automatik, tanpa keputusan manusia

Analisis risiko

  • Penunjuk SAR tidak boleh dipercayai 100 peratus dan mungkin memberi isyarat yang salah
  • Kegagalan pembalikan boleh menyebabkan kerugian
  • Kesan jangka masa kontrak terhadap strategi
  • Kesan kos urus niaga ke atas keuntungan strategi

Arah pengoptimuman strategi

  • Optimumkan parameter penunjuk SAR (panjang langkah, nilai awal, nilai maksimum dan sebagainya)
  • Berkongsi dengan indikator isyarat pembalikan lain (seperti RSI, MACD, dan lain-lain) untuk menentukan pembalikan
  • Menambah logik syarat ((volume transaksi dll) penapis isyarat ralat
  • Pertimbangkan untuk menukarkan stop loss tetap kepada stop loss yang boleh dikesan
  • Pertimbangkan untuk menyesuaikan saiz kedudukan secara automatik

ringkaskan

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.

Kod sumber strategi
/*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)