Strategi mengikuti tren berdasarkan indikator RSI


Tanggal Pembuatan: 2023-10-26 15:44:15 Akhirnya memodifikasi: 2023-10-26 15:44:15
menyalin: 0 Jumlah klik: 689
1
fokus pada
1617
Pengikut

Strategi mengikuti tren berdasarkan indikator RSI

Ringkasan

Strategi ini dirancang berdasarkan indikator RSI sebagai sistem perdagangan mengikuti tren sederhana, yang dapat digunakan untuk menentukan arah tren pasar melalui indikator RSI dalam rentang waktu tertentu, untuk melakukan opsi over-the-counter secara otomatis.

Prinsip Strategi

Strategi ini menggunakan indikator RSI untuk menilai tren pasar, dan Bollinger Bands untuk menilai zona overbought dan oversold.

Pertama, menghitung nilai RSI, kemudian menghitung rata-rata bergerak dan standar deviasi dari RSI untuk tren naik dan turun Brin. Indikator RSI berfluktuasi antara 0-1, dan Brin menggunakan standar deviasi untuk menentukan zona overbought dan oversold, RSI adalah zona overbought saat berada di atas tren, dan zona oversold saat berada di bawah tren.

Ketika RSI menghasilkan sinyal beli ketika melintasi dari bawah ke atas, dan menghasilkan sinyal jual ketika melintasi dari atas ke bawah, trend mengikuti. Setelah strategi masuk, tidak ada stop loss yang ditetapkan, dan tidak ada posisi kosong sampai akhir tanggal yang ditentukan.

Strategi ini sederhana dan efektif menggunakan indikator RSI untuk menentukan arah tren, ditambah dengan Brin band untuk menentukan waktu perdagangan tertentu. Dengan membatasi jangka waktu perdagangan, risiko yang tidak perlu dapat dihindari.

Analisis Keunggulan

  • Menggunakan indikator RSI untuk menentukan arah tren sederhana dan efektif
  • Sinyal konfirmasi transaksi yang dikombinasikan dengan pita Brin, untuk menghindari penembusan palsu
  • Pembatasan jangka waktu perdagangan membantu menghindari risiko pasar
  • Tidak ada Stop Loss Stop, maksimal trend tracking
  • Parameter yang dapat disesuaikan secara fleksibel untuk berbagai lingkungan pasar

Risiko dan optimasi

  • Pasar mungkin mengalami fluktuasi yang sangat besar, yang dapat menyebabkan kerugian.
  • Tidak ada Stop Loss Stop dan tidak ada kontrol risiko yang efektif
  • Setting parameter yang tidak tepat dapat menyebabkan perdagangan yang sering atau kehilangan kesempatan

Cara Mengoptimalkan:

  • Bergabunglah dengan strategi stop loss dan kendalikan risiko
  • Optimalkan pengaturan parameter untuk meningkatkan tingkat kemenangan
  • Kombinasi dengan indikator lain untuk memfilter sinyal dan menghindari penembusan palsu
  • Dimensi posisi yang disesuaikan secara dinamis

Meringkaskan

Strategi ini secara keseluruhan adalah strategi yang sangat sederhana dan langsung mengikuti tren. Menggunakan RSI untuk menilai tren, Brin membawa sinyal filter, membatasi jangka waktu perdagangan, dapat secara efektif melacak tren dan mengontrol risiko. Namun, strategi dapat dioptimalkan lebih lanjut, dengan tetap sederhana dan efektif, dengan menghentikan stop loss, optimasi parameter, dan penyaringan sinyal.

Kode Sumber Strategi
/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Gidra
//2018

//@version=2
strategy(title = "Gidra's RSI or MFI Strategy v0.1", shorttitle = "Gidra's RSI or MFI v0.1", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 1)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
src = input(close, title="source")
lengthRSI = input(14, title="RSI or MFI length")
// RSI %B
useRSI = input(true, title="use RSI or MFI")
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")

//MFI
upper = sum(volume * (change(src) <= 0 ? 0 : src), lengthRSI)
lower = sum(volume * (change(src) >= 0 ? 0 : src), lengthRSI)
mf = rsi(upper, lower)

//RSI
rsi = useRSI?rsi(src, lengthRSI): mf

// %B
length = input(50, minval=1, title="BB length")
mult = input(1.618, minval=0.001, maxval=50)
basis = sma(rsi, length)
dev = mult * stdev(rsi, length)
upperr = basis + dev
lowerr = basis - dev
bbr = (rsi - lowerr)/(upperr - lowerr)

plot(bbr, color=black, transp=0, linewidth=2)
// band1 = hline(1, color=white, linestyle=dashed)
// band0 = hline(0, color=white, linestyle=dashed)
// fill(band1, band0, color=teal)
hline(0.5, color=white)

//Signals
up = bbr >= 0 and bbr[1] < 0
dn = bbr <= 1 and bbr[1] > 1
//exit = ((bbr[1] < 0.5 and bbr >= 0.5) or (bbr[1] > 0.5 and bbr <= 0.5))

lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]

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

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, 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()