Strategi pembalikan SAR RSI Parabolik menghasilkan isyarat perdagangan berdasarkan indikator
Strategi ini terutamanya menggunakan dua penunjuk teknikal:
SAR Parabolik: Merangka garis SAR parabolik sebagai garis stop-loss dinamik. Apabila harga memecahkan garis ini, kedudukan dan arah garis stop-loss ditetapkan semula, menghasilkan isyarat beli atau jual.
RSI: Mencerminkan kelajuan dan perubahan harga naik dan turun dalam tempoh masa. Di atas 70 adalah zon overbought dan di bawah 30 adalah zon oversold.
Secara khusus, strategi pertama menetapkan nilai awal, langkah, dan nilai maksimum Parabolic SAR berdasarkan input pengguna.
Sementara itu, strategi ini juga memantau RSI untuk menentukan sama ada ia berada di zon overbought / oversold. Posisi panjang ditutup apabila RSI memasuki zon overbought. Posisi pendek ditutup apabila RSI memasuki zon oversold.
Dengan menggabungkan isyarat pembalikan SAR dan isyarat penapis RSI, strategi ini boleh membuat langkah bertentangan dengan tepat pada masanya apabila harga berbalik untuk mencapai harga jual rendah.
Kelebihan utama strategi pengesanan pembalikan ini adalah:
Menangkap Pembalikan Harga - Menggunakan penembusan untuk menjana isyarat pembalikan dan membuat pergerakan bertentangan apabila harga berbalik.
Stop Loss Dinamik - SAR bertindak sebagai stop loss bergerak yang menyesuaikan tahap berhenti berdasarkan harga masa nyata untuk melindungi keuntungan.
Kebolehsesuaian - Parameter yang boleh diselaraskan menjadikan strategi dapat disesuaikan dengan persekitaran pasaran yang berbeza.
RSI Filter - Menyaring pelarian palsu dan mengelakkan langkah yang salah.
Mudah dilaksanakan - Menggunakan penunjuk mudah dengan sedikit kod, mudah dilaksanakan dan backtest.
Risiko termasuk:
Risiko Whipsaw - Pelanggaran palsu menyebabkan isyarat berhenti dan terbalik yang salah, yang membawa kepada kerugian berulang.
Over Optimization - Mengoptimumkan parameter boleh membawa kepada overfit dan kekurangan kestabilan.
Tidak ada asas asas - Didorong semata-mata oleh penunjuk teknikal, mengabaikan asas.
Abaikan Kos Transaksi - Perdagangan yang kerap meningkatkan kos transaksi.
Tertakluk kepada jurang harga - jurang boleh mencetuskan isyarat berhenti dan mundur yang salah.
Strategi ini boleh ditingkatkan dari aspek berikut:
Gabungkan dengan penunjuk lain - mengesahkan isyarat dengan penunjuk lain untuk mengelakkan isyarat palsu.
Penyesuaian parameter - Uji dan optimumkan parameter untuk mencari kombinasi parameter yang optimum.
Ukuran kedudukan - Sesuaikan saiz kedudukan berdasarkan keadaan pasaran untuk mengawal risiko.
Perdagangan pada tahap yang ketara - Hanya berdagang di sekitar tahap sokongan / rintangan utama untuk mengurangkan kekerapan.
Pertimbangkan asas - Tambah faktor asas untuk mengelakkan perdagangan terhadap trend utama.
Strategi pengesanan pembalikan menjana isyarat menggunakan SAR dan RSI untuk menangkap pembalikan. Ia secara dinamik menyesuaikan berhenti untuk menangkap keuntungan jangka pendek dari pecah. Tetapi ia juga terdedah kepada risiko mengikuti bunyi bising. Mengoptimumkan parameter, meningkatkan kualiti keputusan akan meningkatkan kestabilan strategi dan keuntungan.
/*backtest start: 2023-09-07 00:00:00 end: 2023-10-07 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // strategy("SARSI",overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_type = strategy.commission.percent, commission_value = 0.0675, initial_capital = 10000, currency = currency.USD, calc_on_order_fills = true, calc_on_every_tick = true) //study("SARSI",overlay = true) src = input(close, title="Source") len = input(14, minval=1, title="Length") rob = input(title="RSI Overbought Level", defval=82, minval=1, maxval=100) ros = input(title="RSI Oversold Level", defval=21, minval=1, maxval=100) start = input(title="SAR Start", defval=0.007, minval=0.001, maxval=10) inc = input(title="SAR Increment", defval=0.017, minval=0.001, maxval=100) max = input(title="SAR Maximum", defval=0.24, minval=0.01, maxval=10) asar = sar(start,inc,max) xrsi = rsi(close,len) date = timestamp(2018, 8, 1, 00, 00) up = crossunder(asar,src) dn = crossover(asar,src) //ob = crossunder(xrsi,rob) //os = crossover(xrsi,ros) strategy.entry("long", strategy.long, when=up and time>=date, comment="Long") strategy.entry("short", strategy.short, when=dn and time>=date, comment="Short") //strategy.close("long", when=ob) //strategy.close("short", when=os) alertcondition(up, "Long", "Long Msg") alertcondition(dn, "Short", "Short Msg") //uptrend=plotshape(up,"uptrend",shape.triangleup,color=#48A498,transp=0, size = size.tiny, location = location.belowbar,text="฿") //downtrend=plotshape(dn,"downtrend",shape.triangledown,color=#E25655,transp=0, size = size.tiny, location = location.abovebar,text="$") //plotshape(ob,"overbuy",shape.triangleup,color=#48A498,transp=0, size = size.small, location = location.belowbar,text="0฿") //plotshape(os,"oversell",shape.triangledown,color=#E25655,transp=0, size = size.small, location = location.abovebar,text="0$") plot(asar, style=cross, color=gray, transp=0, linewidth=1, title="SAR")