Strategi Perdagangan Divergensi RSI


Tanggal Pembuatan: 2024-01-23 11:08:48 Akhirnya memodifikasi: 2024-01-23 11:08:48
menyalin: 0 Jumlah klik: 655
1
fokus pada
1617
Pengikut

Strategi Perdagangan Divergensi RSI

Ringkasan

Strategi perdagangan deviasi RSI dengan menganalisis deviasi RSI dari harga, menemukan peluang untuk deviasi nilai, melakukan lebih banyak shorting ketika deviasi muncul.

Prinsip Strategi

Strategi ini didasarkan pada perbedaan nilai antara indikator RSI dan harga saat terjadi deviasi. Indikator RSI mencerminkan kekuatan dan kelemahan, dan harga mencerminkan hubungan penawaran dan permintaan. Ketika keduanya terjadi perbedaan, menunjukkan bahwa ada harga yang salah di pasar, dan dapat melakukan pembelian dengan harga rendah atau menjual lebih banyak untuk mendapatkan keuntungan.

Secara khusus, perpecahan multi arah yang biasa terjadi adalah RSI membentuk titik rendah yang lebih tinggi, sementara harga membentuk titik rendah yang lebih rendah. Ini berarti bahwa pasar, meskipun tampak turun, sebenarnya sudah memiliki tanda-tanda resonansi akumulatif.

Perbedaan kepala kosong konvensional adalah sebaliknya, RSI membentuk titik tinggi yang lebih rendah dan harga membentuk titik tinggi yang lebih tinggi. Ini menunjukkan bahwa pasar terlihat lebih bullish, tetapi sebenarnya sudah menunjukkan tanda-tanda kelemahannya. Ketika RSI menyimpang dari harga dan menembus batas 50 ke bawah, Anda dapat mengambil keuntungan dari shorting.

Selain itu, ada juga yang disembunyikan perbedaan multihead dan perbedaan kosong kepala. Dalam hal ini, hubungan RSI dan harga bertentangan dengan perbedaan konvensional, tetapi prinsipnya sama, juga bisa menguntungkan.

Keunggulan Strategis

  1. Menangkap Perbedaan Nilai dan Menemukan Kesalahan Harga Pasar
  2. Perbedaan Indikator dan Harga Meningkatkan Pemenangannya
  3. Membedakan perbedaan pendapat dan menjangkau lebih banyak kesempatan

Analisis risiko

  1. Dalam situasi pasar tertentu, perbedaan yang tidak jelas juga dapat terjadi dan perlu diidentifikasi.
  2. Keuntungan dari melewati batas 50 tidak terlalu tinggi, bisa dioptimalkan dengan tepat.
  3. Kesalahan dalam memilih arah multirumah dapat menyebabkan kerugian yang lebih besar

Arah optimasi

  1. Optimalkan parameter RSI untuk meningkatkan akurasi prediksi indikator
  2. Pertimbangan yang berbeda dalam kombinasi dengan indikator lainnya
  3. Evaluasi Rasio Risiko Keuntungan Lebih Banyak Di Luar Anggaran, Mengontrol Keuntungan dan Kerugian

Meringkaskan

Strategi divergensi indikator RSI adalah strategi arbitrage statistik yang khas dengan menganalisis perbedaan nilai dan harga, menemukan kesalahan harga pasar. Keuntungan dari strategi ini adalah menemukan peluang untuk membalikkan tren secara tepat waktu, dan risikonya adalah akurasi identifikasi divergensi. Dengan terus-menerus mengoptimalkan, Anda dapat memperoleh keuntungan yang stabil dalam pertempuran nyata.

Kode Sumber Strategi
/*backtest
start: 2024-01-15 00:00:00
end: 2024-01-22 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Divergence Indicator")
len = input.int(title="RSI Period", minval=1, defval=14)
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=true)
bearColor = color.red
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 = ta.rsi(src, len)

plot(osc, title="RSI", linewidth=2, color=#2962FF)
hline(50, title="Middle Line", color=#787B86, linestyle=hline.style_dotted)
obLevel = hline(70, title="Overbought", color=#787B86, linestyle=hline.style_dotted)
osLevel = hline(30, title="Oversold", color=#787B86, linestyle=hline.style_dotted)
fill(obLevel, osLevel, title="Background", color=color.rgb(33, 150, 243, 90))

plFound = na(ta.pivotlow(osc, lbL, lbR)) ? false : true
phFound = na(ta.pivothigh(osc, lbL, lbR)) ? false : true
_inRange(cond) =>
	bars = ta.barssince(cond == true)
	rangeLower <= bars and bars <= rangeUpper

//------------------------------------------------------------------------------
// Regular Bullish
// Osc: Higher Low

oscHL = osc[lbR] > ta.valuewhen(plFound, osc[lbR], 1) and _inRange(plFound[1])

// Price: Lower Low

priceLL = low[lbR] < ta.valuewhen(plFound, low[lbR], 1) 
// bull : 상승 Condition : 조건
bullCond = plotBull and priceLL and oscHL and plFound // 상승다이버전스?
strategy.entry("상승 다이버전스 진입", strategy.long, when = bullCond)
strategy.close("상승 다이버전스 진입", when = ta.crossover(osc, 50)) 
plot(
     plFound ? osc[lbR] : na,
     offset=-lbR,
     title="Regular Bullish",
     linewidth=2,
     color=(bullCond ? bullColor : noneColor)
     )

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

//------------------------------------------------------------------------------
// Hidden Bullish
// Osc: Lower Low

oscLL = osc[lbR] < ta.valuewhen(plFound, osc[lbR], 1) and _inRange(plFound[1])

// Price: Higher Low

priceHL = low[lbR] > ta.valuewhen(plFound, low[lbR], 1)
hiddenBullCond = plotHiddenBull and priceHL and oscLL and plFound
// strategy.entry("히든 상승 다이버전스 진입", strategy.long, when = hiddenBullCond)
// strategy.close("히든 상승 다이버전스 진입", when = ta.crossover(osc, 50))
plot(
	 plFound ? osc[lbR] : na,
	 offset=-lbR,
	 title="Hidden Bullish",
	 linewidth=2,
	 color=(hiddenBullCond ? hiddenBullColor : noneColor)
	 )

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

//------------------------------------------------------------------------------
// Regular Bearish
// Osc: Lower High

oscLH = osc[lbR] < ta.valuewhen(phFound, osc[lbR], 1) and _inRange(phFound[1])

// Price: Higher High

priceHH = high[lbR] > ta.valuewhen(phFound, high[lbR], 1)
// bear : 하락 
bearCond = plotBear and priceHH and oscLH and phFound
// strategy.entry("하락 다이버전스 진입", strategy.short, when = bearCond)
// strategy.close("하락 다이버전스 진입", when = ta.crossunder(osc, 50)) 
plot(
	 phFound ? osc[lbR] : na,
	 offset=-lbR,
	 title="Regular Bearish",
	 linewidth=2,
	 color=(bearCond ? bearColor : noneColor)
	 )

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

//------------------------------------------------------------------------------
// Hidden Bearish
// Osc: Higher High

oscHH = osc[lbR] > ta.valuewhen(phFound, osc[lbR], 1) and _inRange(phFound[1])

// Price: Lower High

priceLH = high[lbR] < ta.valuewhen(phFound, high[lbR], 1)

hiddenBearCond = plotHiddenBear and priceLH and oscHH and phFound
// strategy.entry("히든 하락 다이버전스 진입", strategy.short, when = hiddenBearCond)
// strategy.close("히든 하락 다이버전스 진입", when = ta.crossunder(osc, 50)) 
plot(
	 phFound ? osc[lbR] : na,
	 offset=-lbR,
	 title="Hidden Bearish",
	 linewidth=2,
	 color=(hiddenBearCond ? hiddenBearColor : noneColor)
	 )

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