Strategi RSI trend reversal menggunakan isyarat reversal indikator RSI untuk menilai titik reversal trend yang berpotensi, masuk ke dalam pasaran dan melakukan lebih banyak penyingkiran. Strategi ini menggabungkan reversal harga dan RSI reversal, dapat menyaring isyarat reversal palsu dengan berkesan.
Strategi ini menggunakan gabungan isyarat reversal RSI dan isyarat reversal harga dalam empat keadaan:
Reversal biasa: apabila RSI membentuk titik rendah yang lebih tinggi (yang bermaksud RSI membalikkan trend ke atas ke bawah), dan apabila harga membentuk titik rendah yang lebih rendah (yang bermaksud trend harga berbalik dari bawah ke atas), menghasilkan isyarat pembalikan biasa.
Hidden Multi-Head Reversal: Apabila RSI membentuk titik rendah yang lebih rendah (yang bermaksud trend RSI terus dari atas ke bawah), tetapi harga membentuk titik rendah yang lebih tinggi (yang bermaksud trend harga berbalik dari bawah ke atas), menghasilkan isyarat pembalikan pelbagai arah yang tersembunyi.
Pembalikan kepala kosong biasa: apabila RSI membentuk titik tinggi yang lebih rendah (yang bermaksud RSI membalikkan trend dari bawah ke atas), dan apabila harga membentuk titik tinggi yang lebih tinggi (yang bermaksud trend harga berbalik dari atas ke bawah), menghasilkan isyarat pembalikan kepala kosong biasa.
Hidden Head Reversal: Apabila RSI membentuk titik tinggi yang lebih tinggi (yang bermaksud trend RSI terus dari bawah ke atas), tetapi harga membentuk titik tinggi yang lebih rendah (yang bermaksud trend harga berbalik dari atas ke bawah), menghasilkan isyarat pembalikan kepala yang tersembunyi.
Dengan cara ini, isyarat perdagangan yang digabungkan dengan perubahan RSI dan perubahan harga dapat dihindari dengan berkesan. Ini dapat meningkatkan kestabilan strategi dengan mengelakkan isyarat palsu yang disebabkan oleh perubahan RSI atau perubahan harga.
Strategi pembalikan trend RSI mempunyai kelebihan berikut:
Gabungan RSI dengan isyarat pembalikan harga, dapat menyaring isyarat pembalikan palsu dengan berkesan, meningkatkan kualiti isyarat. Indeks RSI sendiri tidak dapat menentukan titik pembalikan dengan sepenuhnya, perlu diperiksa bersama dengan pergerakan harga.
Mengenali bentuk berganda dan kosong yang tersembunyi, yang sering menandakan trend harga yang lebih kuat, dan dapat menangkap peluang trend lebih awal.
Parameter RSI dan kitaran semakan semula boleh disesuaikan, boleh disesuaikan dengan pasaran yang berbeza, dan fleksibel.
Memaparkan bentuk dan isyarat penunjuk dengan visual, menilai keadaan pasaran secara intuitif.
Logik strategi ringkas dan jelas, mudah difahami, sesuai untuk strategi perdagangan kuantitatif.
RSI juga mempunyai risiko dengan strategi trend reversal:
RSI berbalik dalam kombinasi dengan harga berbalik, dapat menyaring banyak isyarat palsu, tetapi tidak mengecualikan kemungkinan kesalahan penghakiman. Lagipun, indikator adalah ukuran statistik harga dan tidak boleh sepenuhnya bergantung.
Hidden polyhedra dan Hidden void forms tidak mudah dikenali, dan peluang-peluang ini mungkin terlepas dan memerlukan pertimbangan pengalaman.
Tetapan parameter kitaran semak balik yang tidak betul boleh menyebabkan kehilangan titik balik atau penghakiman yang terlewat. Pasar yang berbeza memerlukan penyesuaian parameter kitaran.
Perlu memastikan strategi henti kerugian digunakan bersama-sama, untuk mengelakkan penurunan berterusan yang menyebabkan kerugian meluas.
Risiko boleh dikawal dengan cara optimasi parameter, hentian ketat, dan pembalikan tersembunyi.
Strategi pembalikan trend RSI boleh dioptimumkan dengan:
Menyesuaikan parameter RSI untuk menguji sensitiviti pasaran yang berbeza terhadap parameter kitaran RSI untuk mencari parameter terbaik.
Mengoptimumkan parameter kitaran semak balik, mengimbangi keperluan untuk menangkap masa pembalikan dan mencegah isyarat palsu.
Analisis statistik untuk meningkatkan jumlah transaksi, contohnya penurunan besar-besaran yang menyebabkan harga berbalik dari pengiktirafan.
Gabungan dengan isyarat penunjuk lain, seperti MACD, pita Brin, dan lain-lain, meningkatkan ketepatan penghakiman.
Tambah strategi hentikan kerugian untuk mengelakkan kerugian meluas. Anda boleh menetapkan hentikan selepas harga menembusi tinggi baru / rendah baru.
Memperbaiki strategi logik berdasarkan hasil tinjauan balik, meningkatkan faktor keuntungan. Contohnya, menyesuaikan hubungan logik syarat pembukaan kedudukan ((dengan, atau, atau tidak), mencari strategi perdagangan terbaik.
Strategi pembalikan trend RSI mengenal pasti titik perubahan trend yang berpotensi melalui kombinasi pembalikan indikator RSI dan pembalikan harga. Ia menggunakan keupayaan penghakiman trend RSI dengan berkesan, sambil menggabungkan isyarat pemfilteran palsu dalam pergerakan harga. Logik strategi ini sederhana, jelas, dan mudah dilaksanakan.
/*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)