Strategi Jurang RSI Pantas untuk Mata Wang Kripto


Tarikh penciptaan: 2023-11-27 11:22:19 Akhirnya diubah suai: 2023-11-27 11:22:19
Salin: 0 Bilangan klik: 643
1
fokus pada
1617
Pengikut

Strategi Jurang RSI Pantas untuk Mata Wang Kripto

Ringkasan: Strategi ini adalah strategi perdagangan lompat RSI pantas yang digunakan untuk cryptocurrency. Ia menggunakan indikator RSI pantas dan strategi K-line lompat untuk mencari peluang perdagangan.

Prinsip-prinsip strategi: Strategi ini menggunakan dua penunjuk utama pada masa yang sama: RSI pantas dan garis K melompat.

Pertama, ia mengira petunjuk RSI cepat dengan hanya 7 garis K. Ia lebih sensitif dan dapat menangkap fenomena jual beli yang lebih cepat. Ia menetapkan RSI dengan had atas 70 dan had bawah 30. Ia adalah terlalu banyak apabila RSI lebih besar daripada 70 dan lebih kecil daripada 30 adalah terlalu banyak.

Kedua, ia mengesan garis K yang melompat. Melompat menunjukkan harga bukaan dagangan mempunyai jurang yang lebih besar berbanding harga tutup hari sebelumnya. Melompat adalah isyarat yang bergelombang tinggi, yang menandakan kemungkinan pembalikan trend.

Apabila K-line yang melompat ke bawah dikesan dan indikator RSI pantas menunjukkan oversold, buat lebih banyak. Apabila K-line yang melompat ke atas dikesan dan indikator RSI pantas menunjukkan oversold, buat lebih banyak.

Selain itu, strategi ini juga menetapkan garis rata-rata SMA dan indikator minimum maksimum sebagai penapis untuk mengelakkan perdagangan salah. Hanya apabila penapis diluluskan, isyarat perdagangan sebenar akan dikeluarkan.

Analisis kelebihan: Kelebihan terbesar strategi ini adalah untuk menangkap fenomena overbought dan oversold yang cepat dan peluang untuk berbalik. Ia sangat sesuai untuk pasaran cryptocurrency yang bergelombang dan dapat menangkap titik perubahan yang cepat. Berbanding dengan RSI biasa, RSI cepat lebih sensitif dan dapat menyesuaikan diri dengan perdagangan frekuensi tinggi cryptocurrency.

Analisis risiko: Strategi ini mempunyai empat risiko utama:

  1. Indeks RSI cepat terlalu sensitif, menyebabkan risiko banyak isyarat palsu;

  2. Ia mungkin berlaku apabila harga turun naik secara normal dan bukannya berbalik, dan ia boleh menyebabkan strategi terhad kepada risiko kerugian.

  3. “Saya tidak tahu apa-apa tentang apa yang berlaku di Malaysia, tetapi saya tidak tahu apa-apa tentang apa yang berlaku di Malaysia.

  4. Tetapan parameter strategi yang tidak betul, seperti panjang indikator minimum dan maksimum, boleh menyebabkan pelepasan isyarat dan ketidakcekapan.

Oleh itu, langkah-langkah berikut dapat mengurangkan risiko tersebut:

  1. Menyesuaikan parameter RSI pantas dengan meningkatkan jumlah kitaran RSI dengan sewajarnya;

  2. Menggunakan Hentian Bergerak untuk mengunci keuntungan dan mengelakkan kehilangan pelacakan melompat;

  3. Mengoptimumkan tetapan penglibatan strategi, penglibatan strategi kawalan dalam keadaan turun naik rendah;

  4. Uji ulang dan optimumkan parameter untuk mencari parameter terbaik untuk memastikan kesan strategi.

Arah untuk dioptimumkan: Strategi ini dioptimumkan untuk:

  1. Meneroka gabungan antara indikator harga lain seperti MACD, KDJ dan lain-lain untuk meningkatkan ketepatan isyarat;

  2. Tambahan tetapan Stop Loss yang menyesuaikan diri yang secara automatik menyesuaikan titik Stop Loss mengikut turun naik pasaran;

  3. Indikator kuantitatif gabungan seperti OBV untuk memeriksa isyarat pengesahan melompat, mengesahkan trend pembalikan;

  4. Optimumkan panjang dan parameter penapis untuk mencari kombinasi parameter terbaik untuk mengurangkan kesalahan;

  5. Kajian kesesuaian antara pelbagai mata wang kripto dengan parameter strategi, menetapkan parameter yang lebih tepat.

Dengan pengoptimuman ini, kita dapat meningkatkan kestabilan, kebolehan beradaptasi dan kebolehpercayaan strategi.

Kesimpulannya: Strategi RSI yang cepat adalah strategi perdagangan yang cekap yang direka khusus untuk keadaan kripto yang tidak menentu. Ia menggabungkan kepekaan indikator RSI yang cepat dan kemampuan untuk meramalkan garis K. Dengan ujian dan pengoptimuman yang berterusan, anda dapat meningkatkan lagi kemampuan strategi untuk menangkap perubahan pesat di pasaran dan memperoleh keuntungan yang stabil dalam jangka masa panjang dalam pasaran kripto yang tidak menentu.

Kod sumber strategi
/*backtest
start: 2023-10-27 00:00:00
end: 2023-11-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's Fast RSI Strategy v1.5", shorttitle = "Fast RSI str 1.5", overlay = true)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
usersi = input(true, defval = true, title = "Use Fast RSI Strategy")
usemm = input(true, defval = true, title = "Use Min/Max Strategy")
usesma = input(false, defval = false, title = "Use SMA Filter")
smaperiod = input(20, defval = 20, minval = 2, maxval = 1000, title = "SMA Filter Period")
fast = input(7, defval = 7, minval = 2, maxval = 50, title = "Fast RSI Period")
limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit")
rsisrc = input(close, defval = close, title = "RSI Price")
rsibars = input(1, defval = 1, minval = 1, maxval = 20, title = "RSI Bars")
mmbars = input(1, defval = 1, minval = 1, maxval = 5, title = "Min/Max Bars")
showsma = input(false, defval = false, title = "Show SMA Filter")
showarr = input(false, defval = false, title = "Show Arrows")
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), fast)
fastdown = rma(-min(change(rsisrc), 0), fast)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//Limits
bar = close > open ? 1 : close < open ? -1 : 0
uplimit = 100 - limit
dnlimit = limit

//RSI Bars
upsignal = fastrsi > uplimit ? 1 : 0
dnsignal = fastrsi < dnlimit ? 1 : 0
uprsi = sma(upsignal, rsibars) == 1
dnrsi = sma(dnsignal, rsibars) == 1

//Body
body = abs(close - open)
abody = sma(body, 10)

//MinMax Bars
min = min(close, open)
max = max(close, open)
minsignal = min < min[1] and bar == -1 and bar[1] == -1 ? 1 : 0
maxsignal = max > max[1] and bar == 1 and bar[1] == 1 ? 1 : 0
mins = sma(minsignal, mmbars) == 1
maxs = sma(maxsignal, mmbars) == 1

//SMA Filter
sma = sma(close, smaperiod)
colorsma = showsma ? blue : na
plot(sma, color = colorsma, linewidth = 3)

//Signals
up1 = bar == -1 and (strategy.position_size == 0 or close < strategy.position_avg_price) and dnrsi and body > abody / 5 and usersi
dn1 = bar == 1 and (strategy.position_size == 0 or close > strategy.position_avg_price) and uprsi and body > abody / 5 and usersi
up2 = mins and (close > sma or usesma == false) and fastrsi < 70 and usemm
dn2 = maxs and (close < sma or usesma == false) and fastrsi > 30 and usemm 
exit = ((strategy.position_size > 0 and fastrsi > dnlimit and bar == 1) or (strategy.position_size < 0 and fastrsi < uplimit and bar == -1)) and body > abody / 2

//Arrows
col = exit ? black : up1 or dn1 ? blue : up2 or dn2 ? red : na
needup = up1 or up2
needdn = dn1 or dn2
needexitup = exit and strategy.position_size < 0
needexitdn = exit and strategy.position_size > 0
plotarrow(showarr and needup ? 1 : na, colorup = blue, colordown = blue, transp = 0)
plotarrow(showarr and needdn ? -1 : na, colorup = blue, colordown = blue, transp = 0)
plotarrow(showarr and needexitup ? 1 : na, colorup = black, colordown = black, transp = 0)
plotarrow(showarr and needexitdn ? -1 : na, colorup = black, colordown = black, transp = 0)

//Trading
if up1 or up2
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn1 or dn2
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()