Strategi dagangan penunjuk perbezaan jangka pendek RSI


Tarikh penciptaan: 2024-01-15 12:09:54 Akhirnya diubah suai: 2024-01-15 12:09:54
Salin: 2 Bilangan klik: 837
1
fokus pada
1617
Pengikut

Strategi dagangan penunjuk perbezaan jangka pendek RSI

Gambaran keseluruhan

Strategi ini membuat keputusan perdagangan dengan mengira perbezaan yang lebih banyak dari indikator RSI. Secara khusus, ia akan membuat keputusan perdagangan sebagai isyarat yang tersembunyi apabila RSI membentuk titik rendah yang lebih rendah tetapi harga membentuk titik rendah yang lebih tinggi.

Prinsip Strategi

Strategi ini adalah berdasarkan kepada teori perbezaan banyak ruang dalam indikator RSI. Apabila RSI dan harga membentuk perbezaan terbalik, ia menandakan potensi pembalikan pasaran. Ia terbahagi kepada empat keadaan berikut:

  1. Isyarat berbilang kepala biasa: RSI membentuk titik rendah yang lebih tinggi, harga membentuk titik rendah yang lebih rendah. Ia menunjukkan bahawa pembeli menaikkan RSI tetapi tidak sepenuhnya mencerminkan harga, yang menunjukkan peningkatan kekuatan berbilang kepala.

  2. Isyarat tersembunyi: RSI membentuk titik rendah yang lebih rendah dan harga membentuk titik rendah yang lebih tinggi. Ia menunjukkan bahawa harga jual telah menurunkan RSI tetapi tidak sepenuhnya mencerminkan harga, yang menunjukkan peningkatan kekuatan pelbagai.

  3. Isyarat kepala kosong biasa: RSI membentuk titik tinggi yang lebih rendah dan harga membentuk titik tinggi yang lebih tinggi. Ia menunjukkan bahawa harga yang lebih tinggi telah didorong oleh penjualan tetapi tidak sepenuhnya mencerminkan RSI, yang menunjukkan peningkatan kekuatan kepala kosong.

  4. Isyarat kepala kosong tersembunyi: RSI membentuk ketinggian yang lebih tinggi, harga membentuk ketinggian yang lebih rendah. Ia menunjukkan bahawa pembeli telah menaikkan RSI tetapi tidak sepenuhnya mencerminkan harga, yang menunjukkan peningkatan kekuatan kepala kosong.

Berdasarkan perbezaan di atas, menilai trend pasaran yang berpotensi kosong, dan peningkatan kekuatan membeli dan menjual, untuk membuat strategi perdagangan.

Kelebihan Strategik

  1. Menggunakan teori perbezaan banyak ruang RSI untuk menilai trend pasaran yang berpotensi.
  2. Dalam pada itu, ia juga boleh digunakan untuk mengesahkan pergerakan harga dan mengelakkan bunyi bising.
  3. Ia juga boleh menangkap isyarat penting sebelum pasaran berbalik dengan cepat, dan membuat keputusan lebih awal.
  4. Tanda isyarat pelbagai ruang yang dapat dilihat, mudah dikendalikan dan intuitif.
  5. Parameter yang boleh disesuaikan untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.

Risiko Strategik

  1. Perbezaan dalam RSI dan harga tidak semestinya menandakan perubahan, tetapi ia mungkin berlaku dalam keadaan normal.
  2. Isyarat tersembunyi lebih kuat daripada bunyi bising, dan boleh menyebabkan kesalahan penghakiman.
  3. Untuk mengesahkan isyarat, lebih banyak indikator atau analisis teknikal diperlukan.
  4. Pengaturan parameter isyarat yang tidak betul juga boleh menjejaskan keputusan.

Arah pengoptimuman

  1. Tambah MACD, KDJ dan lain-lain dalam kombinasi dengan RSI untuk menentukan isyarat isyarat masuk
  2. Meningkatkan strategi penangguhan kerugian dan mengurangkan kerugian tunggal.
  3. Tetapan parameter optimum, seperti mencari parameter kitaran RSI yang lebih sesuai.
  4. Menambah algoritma pembelajaran mesin untuk melatih ketepatan keputusan isyarat masuk.
  5. Menambah keadaan sebenar websocket untuk mengurangkan kelewatan pengesahan isyarat.

ringkaskan

Strategi ini bergantung kepada perbezaan polygon RSI untuk menilai trend polygon yang berpotensi di pasaran, dengan menangkap perubahan kekuatan relatif saham dalam pergerakan harga, dan membuat ramalan untuk bertukar. Ia mempunyai fungsi ramalan awal tertentu. Tetapi terdapat juga risiko isyarat bunyi tertentu.

Kod sumber strategi
/*backtest
start: 2024-01-07 00:00:00
end: 2024-01-14 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Divergence Indicator")
len = input.int(title="RSI Period", minval=1, defval=20)
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, 70)) 
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, 70))
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
	 )