
Strategi Trend RSI Dua Arah
Strategi ini adalah strategi cepat yang menggunakan RSI untuk menentukan trend harga. Ia mempunyai keupayaan untuk melakukan lebih banyak dan lebih sedikit pada masa yang sama, untuk menangkap harga garis pendek yang lebih cepat.
Strategi ini menggunakan indikator RSI yang lebih baik untuk menilai keadaan harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga yang lebih baik daripada harga.
Strategi ini bertindak balas dengan cepat dan dapat menangkap trend garis pendek yang lebih cepat; dan penapisan entiti membantu untuk menghilangkan kebisingan dan mengelakkan penipuan oleh terobosan palsu. Strategi ini digunakan untuk varieti berfluktuasi tinggi dan dapat memperoleh keuntungan yang lebih tinggi.
Strategi ini lebih sensitif terhadap tindak balas perubahan harga dan mudah disesatkan oleh isyarat palsu di pasaran; di samping itu, penurunan pasaran dengan kadar turun naik yang tinggi mungkin lebih kerap dicetuskan. Anda boleh meluaskan margin berhenti dengan betul dan mengoptimumkan parameter RSI untuk mengurangkan kebarangkalian isyarat palsu.
Anda boleh menguji parameter indikator kitaran yang berbeza untuk mengoptimumkan strategi dan mencari kombinasi parameter yang terbaik. Anda juga boleh mempertimbangkan untuk memasukkan parameter lain, seperti peraturan perdagangan pirus, untuk membantu memfilter isyarat. Latihan RSI yang lebih baik yang digabungkan dengan kaedah pembelajaran mesin mungkin merupakan percubaan yang baik.
Strategi ini secara keseluruhan adalah strategi garis pendek yang sensitif dan cekap. Dengan beberapa parameter dan model yang dioptimumkan, ia diharapkan dapat meningkatkan kestabilan dan keuntungan lebih lanjut. Strategi ini patut dikaji dan dikesan oleh peniaga kuantitatif.
/*backtest
start: 2023-11-03 00:00:00
end: 2023-12-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title = "Noro's Fast RSI Strategy v1.1", shorttitle = "Fast RSI str 1.1", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 5)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
rsiperiod = input(7, defval = 7, minval = 2, maxval = 50, title = "RSI Period")
limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit")
rsisrc = input(close, defval = close, title = "RSI Source")
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//Fast RSI
fastup = rma(max(change(rsisrc), 0), rsiperiod)
fastdown = rma(-min(change(rsisrc), 0), rsiperiod)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
uplimit = 100 - limit
dnlimit = limit
//Body
body = abs(close - open)
emabody = ema(body, 30) / 3
//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up = bar == -1 and fastrsi < dnlimit and body > emabody
dn = bar == 1 and fastrsi > uplimit and body > emabody
exit = ((strategy.position_size > 0 and fastrsi > dnlimit) or (strategy.position_size < 0 and fastrsi < uplimit)) and body > emabody
//Trading
if up
strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
if dn
strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
if time > timestamp(toyear, tomonth, today, 00, 00) or exit
strategy.close_all()