
Strategi ini dibangunkan berdasarkan petunjuk StochRSI. Strategi ini digunakan terutamanya untuk menilai keadaan overbought dan oversold, digabungkan dengan penapis RSI untuk memfilter beberapa isyarat palsu, melakukan kosong apabila indikator StochRSI menunjukkan kawasan oversold dan melakukan lebih banyak apabila menunjukkan kawasan oversold, untuk mencapai keuntungan.
Strategi ini digunakan terutamanya untuk menentukan kawasan jual beli di pasaran. Indeks StochRSI terdiri daripada garis K dan garis D, di mana garis K mencerminkan kedudukan nilai RSI semasa dalam julat harga RSI dalam tempoh baru-baru ini, dan garis D adalah purata bergerak garis K. Apabila K melintasi garis D, ia adalah kawasan jual beli, yang boleh dilakukan lebih banyak; apabila K melintasi garis D, ia adalah kawasan jual beli, yang boleh dilakukan dengan kosong.
Khususnya, strategi pertama mengira nilai RSI dengan panjang 14, dan kemudian menggunakan indikator StochRSI pada indikator RSI. Panjang parameter penyetempatan indikator StochRSI adalah 14, garis K untuk kitaran lancar adalah 3, dan garis D adalah 3. Apabila K melintasi kawasan oversold yang ditetapkan oleh pengguna di atas garis, lakukan lebih banyak. Apabila K melintasi kawasan oversold yang ditetapkan oleh pengguna di bawah garis, lakukan kosong.
Di samping itu, strategi juga menetapkan parameter berhenti dan berhenti. Parameter berhenti secara default adalah 10000; berhenti ditetapkan sebagai stop trailing kurva berdasarkan parameter, dengan titik trailing 300 secara default, dan penyingkiran adalah 0.
Untuk menghadapi risiko di atas, anda boleh menetapkan kitaran parameter yang lebih lama atau mempertimbangkan untuk menggunakannya dengan kombinasi indikator lain untuk memfilter isyarat, menyesuaikan parameter overbought dan oversold untuk pasaran yang berbeza, dan menguji parameter stop loss yang berbeza.
Strategi ini berdasarkan kepada petunjuk StochRSI untuk menentukan kawasan overbought dan oversold. Berbanding dengan satu-satunya petunjuk RSI, StochRSI menggabungkan pemikiran KDJ untuk menentukan titik perubahan dengan lebih tepat.
/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version= 2
strategy("STOCHRSI JURE", overlay=false)
lengthrsi = input(10)
overSold = input( 1 )
overBought = input(99)
call_trail_stop = input(300)
call_trail_offset = input(0)
call_sl = input(10000)
price = ohlc4
vrsi = rsi(price, lengthrsi)
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")
rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
plot( k, color=blue, linewidth=1, title="K")
plot( d, color=red, linewidth=1, title="D")
if (crossover(k, overSold) )
strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY")
strategy.exit("BUY EXIT", "BUY", trail_points=call_trail_stop, trail_offset=call_trail_offset, loss = call_sl)
if (crossunder(k, overBought) )
strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", comment="SELL")
strategy.exit("SELL EXIT", "SELL", trail_points=call_trail_stop, trail_offset=call_trail_offset, loss = call_sl)
//if ( ( crossover(k,d)) and ( (vrsi<overSold) or crossover(vrsi,overSold) ) and year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil)
// strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", oca_type=strategy.oca.cancel, comment="BUY")
//else
// strategy.cancel(id="BUY")
//if ( ( crossunder(k,d) ) and ( (vrsi >overBought) or crossunder(vrsi,overBought) ) and year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil )
// strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", oca_type=strategy.oca.cancel, comment="SELL")
//else
// strategy.cancel(id="SELL")