Analisis Strategi RSI Cepat

Penulis:ChaoZhang, Tanggal: 2023-12-04 14:40:02
Tag:

img

Nama Strategi

Strategi Tren RSI Ekstrim Dua Arah

Gambaran umum

Strategi ini menggunakan indikator RSI untuk menentukan tren harga dengan cepat.

Prinsip Strategi

Strategi ini menggunakan indikator RSI yang ditingkatkan untuk menilai status harga yang terlalu banyak dibeli dan terlalu banyak dijual, dikombinasikan dengan penyaringan tubuh lilin untuk mengurangi kebisingan.

Analisis Keuntungan

Strategi ini merespon dengan cepat dan dapat menangkap tren jangka pendek yang lebih cepat. Sementara itu, penyaringan tubuh membantu mengurangi kebisingan dan menghindari tertipu oleh kebocoran palsu.

Analisis Risiko

Strategi ini cukup sensitif terhadap perubahan harga, mudah disesatkan oleh sinyal palsu di pasar. Juga, stop loss dapat memicu sering di pasar volatilitas tinggi.

Arahan Optimasi

Kami dapat menguji parameter periodik yang berbeda dari indikator untuk mengoptimalkan strategi dan menemukan kombinasi parameter terbaik. Juga, menggabungkan indikator lain seperti aturan Turtle Trading dapat membantu lebih lanjut dalam menyaring sinyal. Pelatihan ambang RSI yang lebih baik melalui metode pembelajaran mesin juga bisa menjadi upaya yang bermanfaat.

Ringkasan

Secara keseluruhan, ini adalah strategi jangka pendek yang efisien dan responsif. Dengan beberapa parameter dan optimasi model, ini memiliki potensi untuk lebih meningkatkan stabilitas dan profitabilitas.


/*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()

Lebih banyak