Strategi Pembalikan Trend RSI

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

img

Ringkasan

Strategi Pembalikan Trend RSI menggunakan isyarat pembalikan penunjuk RSI untuk mengenal pasti titik pembalikan trend yang berpotensi dan memasuki perdagangan panjang atau pendek.

Logika Strategi

Strategi ini berdasarkan gabungan isyarat pembalikan RSI dan isyarat pembalikan harga, terutamanya termasuk empat situasi:

  1. Pembalikan Bullish Biasa: Apabila RSI membentuk tahap rendah yang lebih tinggi (bermakna trend RSI berbalik dari atas ke bawah) dan harga membentuk tahap rendah yang lebih rendah (bermakna trend harga berbalik dari bawah ke atas), isyarat pembalikan bullish biasa dihasilkan.

  2. Pembalikan Bullish Tersembunyi: Apabila RSI membentuk tahap terendah yang lebih rendah (bermakna trend RSI berterusan dari atas ke bawah) tetapi harga membentuk tahap terendah yang lebih tinggi (bermakna trend harga berbalik dari bawah ke atas), isyarat pembalikan bullish tersembunyi dihasilkan.

  3. Peralihan Bearish Biasa: Apabila RSI membentuk tinggi yang lebih rendah (bermakna trend RSI berbalik dari bawah ke atas) dan harga membentuk tinggi yang lebih tinggi (bermakna trend harga berbalik dari atas ke bawah), isyarat pembalikan bearish biasa dihasilkan.

  4. Peralihan Bearish Tersembunyi: Apabila RSI membentuk tinggi yang lebih tinggi (bermakna trend RSI berterusan dari bawah ke atas) tetapi harga membentuk tinggi yang lebih rendah (bermakna trend harga berbalik dari atas ke bawah), isyarat pembalikan bearish tersembunyi dihasilkan.

Ini menggabungkan kedua-dua isyarat pembalikan RSI dan pembalikan harga untuk menjana isyarat perdagangan, mengelakkan isyarat palsu bergantung hanya pada RSI atau pembalikan harga sahaja, menjadikan strategi lebih mantap.

Analisis Kelebihan

RSI Trend Reversal strategi mempunyai kelebihan berikut:

  1. Menggabungkan RSI dan pembalikan harga menapis banyak isyarat pembalikan palsu dan meningkatkan kualiti isyarat.

  2. Mengenal pasti corak kenaikan dan penurunan yang tersembunyi, yang sering mendahului trend harga yang kuat, membolehkan kemasukan awal.

  3. Parameter RSI yang boleh disesuaikan dan tempoh melihat kembali boleh diselaraskan untuk pasaran yang berbeza, menawarkan fleksibiliti.

  4. Memandangkan corak penunjuk dan isyarat memberikan penilaian keadaan pasaran yang intuitif.

  5. Logik strategi yang mudah dan jelas menjadikannya mudah difahami dan dilaksanakan untuk perdagangan algo.

Analisis Risiko

Strategi Pembalikan Trend RSI juga mempunyai risiko berikut:

  1. RSI dan pembalikan harga yang digabungkan mungkin masih mempunyai penilaian yang salah sesekali.

  2. corak bullish dan bearish yang tersembunyi adalah sukar untuk mengenal pasti dan peluang boleh terlepas tanpa pengalaman.

  3. Tetapan tempoh yang tidak betul boleh menyebabkan titik pembalikan yang hilang atau penghakiman yang tertinggal.

  4. Strategi stop loss harus dilaksanakan untuk mengelakkan kerugian meningkat selepas pembalikan penurunan.

Risiko boleh dikendalikan dengan mengoptimumkan parameter, stop loss yang ketat, mengambil isyarat pembalikan tersembunyi, dll.

Arahan pengoptimuman

RSI Trend Reversal strategi boleh dioptimumkan dalam aspek berikut:

  1. Sesuaikan parameter RSI dan kepekaan ujian untuk mencari tempoh RSI yang optimum untuk pasaran yang berbeza.

  2. Mengoptimumkan parameter tempoh melihat semula untuk mengimbangi menangkap pembalikan awal dan mencegah isyarat palsu.

  3. Tambah analisis jumlah seperti mengesan penggulungan jumlah yang tinggi yang menyebabkan pembalikan harga.

  4. Gabungkan isyarat penunjuk lain seperti MACD, Bollinger Bands untuk meningkatkan ketepatan penilaian.

  5. Tambah strategi stop loss untuk mengehadkan saiz kerugian. Boleh menetapkan stop loss selepas harga memecahkan paras tertinggi / terendah baru.

  6. Memperbaiki logik strategi berdasarkan hasil backtest untuk meningkatkan faktor keuntungan.

Ringkasan

Strategi RSI Trend Reversal mengenal pasti titik perubahan trend yang berpotensi dengan menggabungkan pembalikan RSI dan pembalikan harga. Ia menggunakan keupayaan penilaian trend RSI dengan baik sambil menapis isyarat palsu dengan maklumat harga. Strategi ini mempunyai logik yang mudah dan jelas yang mudah dilaksanakan. Parameter dan stop loss boleh dioptimumkan untuk menguruskan risiko dan meningkatkan prestasi. Secara keseluruhan, strategi RSI Trend Reversal adalah strategi perdagangan jangka pendek yang boleh dipercayai dan praktikal.


/*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 lanjut