Strategi Pembalikan Tren RSI

Penulis:ChaoZhang, Tanggal: 2023-10-23 17:04:13
Tag:

img

Gambaran umum

Strategi pembalikan tren RSI menggunakan sinyal pembalikan indikator RSI untuk mengidentifikasi titik pembalikan tren potensial dan memasuki perdagangan panjang atau pendek.

Logika Strategi

Strategi ini didasarkan pada kombinasi sinyal pembalikan RSI dan sinyal pembalikan harga, terutama mencakup empat situasi:

  1. Reversasi Bullish Reguler: Ketika RSI membentuk titik rendah yang lebih tinggi (yang berarti tren RSI terbalik dari atas ke bawah) dan harga membentuk titik rendah yang lebih rendah (yang berarti tren harga terbalik dari bawah ke atas), sinyal pembalikan bullish reguler dihasilkan.

  2. Hidden Bullish Reversal: Ketika RSI membentuk titik terendah yang lebih rendah (yang berarti tren RSI berlanjut dari atas ke bawah) tetapi harga membentuk titik terendah yang lebih tinggi (yang berarti tren harga berbalik dari bawah ke atas), sinyal pembalikan bullish tersembunyi dihasilkan.

  3. Reversasi Bearish Reguler: Ketika RSI membentuk tinggi yang lebih rendah (yang berarti tren RSI berbalik dari bawah ke atas) dan harga membentuk tinggi yang lebih tinggi (yang berarti tren harga berbalik dari atas ke bawah), sinyal pembalikan bearish reguler dihasilkan.

  4. Hidden Bearish Reversal: Ketika RSI membentuk tinggi yang lebih tinggi (yang berarti tren RSI berlanjut dari bawah ke atas) tetapi harga membentuk tinggi yang lebih rendah (yang berarti tren harga berbalik dari atas ke bawah), sinyal pembalikan bearish tersembunyi dihasilkan.

Ini menggabungkan kedua sinyal pembalikan RSI dan pembalikan harga untuk menghasilkan sinyal perdagangan, menghindari sinyal palsu dari hanya mengandalkan RSI atau pembalikan harga saja, membuat strategi lebih kuat.

Analisis Keuntungan

Strategi RSI Trend Reversal memiliki keuntungan berikut:

  1. Menggabungkan RSI dan pembalikan harga menyaring banyak sinyal pembalikan palsu dan meningkatkan kualitas sinyal. RSI saja tidak sepenuhnya dapat diandalkan dalam mengidentifikasi pembalikan, membutuhkan konfirmasi dari harga.

  2. Mengidentifikasi pola bullish dan bearish tersembunyi, yang sering mendahului tren harga yang kuat, memungkinkan masuk awal.

  3. Parameter RSI yang dapat disesuaikan dan periode lookback dapat disesuaikan untuk pasar yang berbeda, menawarkan fleksibilitas.

  4. Visualisasi pola indikator dan sinyal memberikan penilaian kondisi pasar yang intuitif.

  5. Logika strategi yang sederhana dan jelas membuatnya mudah dipahami dan diimplementasikan untuk perdagangan algo.

Analisis Risiko

Strategi RSI Trend Reversal juga memiliki risiko berikut:

  1. Indikator ini merupakan pengukuran statistik harga dan tidak dapat sepenuhnya diandalkan.

  2. Pola bullish dan bearish yang tersembunyi sulit untuk diidentifikasi dan peluang bisa dilewatkan tanpa pengalaman.

  3. Pengaturan periode lookback yang tidak benar dapat menyebabkan titik pembalikan yang hilang atau penilaian yang tertunda.

  4. Strategi stop loss harus diterapkan untuk menghindari peningkatan kerugian setelah pembalikan penurunan.

Risiko dapat dikelola dengan mengoptimalkan parameter, stop loss yang ketat, mengambil sinyal pembalikan tersembunyi, dll.

Arahan Optimasi

Strategi RSI Trend Reversal dapat dioptimalkan dalam aspek berikut:

  1. Sesuaikan parameter RSI dan sensitivitas uji untuk menemukan periode RSI optimal untuk pasar yang berbeda.

  2. Mengoptimalkan parameter periode lookback untuk menyeimbangkan penangkapan pembalikan awal dan mencegah sinyal palsu.

  3. Tambahkan analisis volume seperti mendeteksi volume tinggi yang menyebabkan pembalikan harga.

  4. Menggabungkan sinyal indikator lain seperti MACD, Bollinger Bands untuk meningkatkan keakuratan penilaian.

  5. Tambahkan strategi stop loss untuk membatasi ukuran kerugian. Dapat mengatur stop loss setelah harga memecahkan titik tertinggi / terendah baru.

  6. Memperbaiki logika strategi berdasarkan hasil backtest untuk meningkatkan faktor keuntungan. menyesuaikan hubungan logika dan menemukan kombinasi optimal.

Ringkasan

Strategi RSI Trend Reversal mengidentifikasi titik balik tren potensial dengan menggabungkan pembalikan RSI dan pembalikan harga. Strategi ini memanfaatkan kemampuan penilaian tren RSI dengan baik sambil menyaring sinyal palsu dengan informasi harga. Strategi ini memiliki logika yang sederhana dan jelas yang mudah diterapkan. Parameter dan stop loss dapat dioptimalkan untuk mengelola risiko dan meningkatkan kinerja. Secara keseluruhan, strategi RSI Trend Reversal adalah strategi perdagangan jangka pendek yang dapat diandalkan dan praktis.


/*backtest
start: 2023-10-15 00:00:00
end: 2023-10-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//study(title="Divergence Indicator", format=format.price)
strategy(title="RSI Divergence Indicator", overlay=false,pyramiding=1, default_qty_value=2,   default_qty_type=strategy.fixed, initial_capital=10000, currency=currency.USD)

len = input(title="RSI Period", minval=1, defval=5)
src = input(title="RSI Source", defval=close)
lbR = input(title="Pivot Lookback Right", defval=5)
lbL = input(title="Pivot Lookback Left", defval=5)
rangeUpper = input(title="Max of Lookback Range", defval=60)
rangeLower = input(title="Min of Lookback Range", defval=5)
plotBull = input(title="Plot Bullish", defval=true)
plotHiddenBull = input(title="Plot Hidden Bullish", defval=true)
plotBear = input(title="Plot Bearish", defval=true)
plotHiddenBear = input(title="Plot Hidden Bearish", defval=false)

bearColor = color.purple
bullColor = color.green
hiddenBullColor = color.new(color.green, 80)
hiddenBearColor = color.new(color.red, 80)
textColor = color.white
noneColor = color.new(color.white, 100)

osc = rsi(src, len)

plot(osc, title="RSI", linewidth=2, color=#8D1699)
hline(50, title="Middle Line", linestyle=hline.style_dotted)
obLevel = hline(70, title="Overbought", linestyle=hline.style_dotted)
osLevel = hline(30, title="Oversold", linestyle=hline.style_dotted)
fill(obLevel, osLevel, title="Background", color=#9915FF, transp=90)

plFound = na(pivotlow(osc, lbL, lbR)) ? false : true
phFound = na(pivothigh(osc, lbL, lbR)) ? false : true

_inRange(cond) =>
    bars = barssince(cond == true)
    rangeLower <= bars and bars <= rangeUpper

//------------------------------------------------------------------------------
// Regular Bullish

// Osc: Higher Low
oscHL = osc[lbR] > valuewhen(plFound, osc[lbR], 1) and _inRange(plFound[1])

// Price: Lower Low
priceLL = low[lbR] < valuewhen(plFound, low[lbR], 1)

bullCond = plotBull and priceLL and oscHL and plFound

plot(
	 plFound ? osc[lbR] : na,
	 offset=-lbR,
	 title="Regular Bullish",
	 linewidth=2,
	 color=(bullCond ? bullColor : noneColor),
	 transp=0
	 )


plotshape(
	 bullCond ? osc[lbR] : na,
	 offset=-lbR,
	 title="Regular Bullish Label",
	 text=" Bull ",
	 style=shape.labelup,
	 location=location.absolute,
	 color=bullColor,
	 textcolor=textColor,
	 transp=0
	 )

//------------------------------------------------------------------------------
// Hidden Bullish

// Osc: Lower Low
oscLL = osc[lbR] < valuewhen(plFound, osc[lbR], 1) and _inRange(plFound[1])

// Price: Higher Low
priceHL = low[lbR] > valuewhen(plFound, low[lbR], 1)

hiddenBullCond = plotHiddenBull and priceHL and oscLL and plFound

plot(
	 plFound ? osc[lbR] : na,
	 offset=-lbR,
	 title="Hidden Bullish",
	 linewidth=2,
	 color=(hiddenBullCond ? hiddenBullColor : noneColor),
	 transp=0
	 )

plotshape(
	 hiddenBullCond ? osc[lbR] : na,
	 offset=-lbR,
	 title="Hidden Bullish Label",
	 text=" H Bull ",
	 style=shape.labelup,
	 location=location.absolute,
	 color=bullColor,
	 textcolor=textColor,
	 transp=0
	 )

longCondition=bullCond or hiddenBullCond
//? osc[lbR] : na  
//hiddenBullCond
strategy.entry(id="RSIDivLE", long=true,  when=longCondition)


//------------------------------------------------------------------------------
// Regular Bearish

// Osc: Lower High
oscLH = osc[lbR] < valuewhen(phFound, osc[lbR], 1) and _inRange(phFound[1])

// Price: Higher High
priceHH = high[lbR] > valuewhen(phFound, high[lbR], 1)

bearCond = plotBear and priceHH and oscLH and phFound

plot(
	 phFound ? osc[lbR] : na,
	 offset=-lbR,
	 title="Regular Bearish",
	 linewidth=2,
	 color=(bearCond ? bearColor : noneColor),
	 transp=0
	 )

plotshape(
	 bearCond ? osc[lbR] : na,
	 offset=-lbR,
	 title="Regular Bearish Label",
	 text=" Bear ",
	 style=shape.labeldown,
	 location=location.absolute,
	 color=bearColor,
	 textcolor=textColor,
	 transp=0
	 )

//------------------------------------------------------------------------------
// Hidden Bearish

// Osc: Higher High
oscHH = osc[lbR] > valuewhen(phFound, osc[lbR], 1) and _inRange(phFound[1])

// Price: Lower High
priceLH = high[lbR] < valuewhen(phFound, high[lbR], 1)

hiddenBearCond = plotHiddenBear and priceLH and oscHH and phFound

plot(
	 phFound ? osc[lbR] : na,
	 offset=-lbR,
	 title="Hidden Bearish",
	 linewidth=2,
	 color=(hiddenBearCond ? hiddenBearColor : noneColor),
	 transp=0
	 )

plotshape(
	 hiddenBearCond ? osc[lbR] : na,
	 offset=-lbR,
	 title="Hidden Bearish Label",
	 text=" H Bear ",
	 style=shape.labeldown,
	 location=location.absolute,
	 color=bearColor,
	 textcolor=textColor,
	 transp=0
	 )
longCloseCondition=crossover(osc,75) or bearCond
strategy.close(id="RSIDivLE",  when=longCloseCondition)

Lebih banyak