Handelsstrategie für den RSI Long-Short Divergenzindikator


Erstellungsdatum: 2024-01-15 12:09:54 zuletzt geändert: 2024-01-15 12:09:54
Kopie: 2 Klicks: 837
1
konzentrieren Sie sich auf
1617
Anhänger

Handelsstrategie für den RSI Long-Short Divergenzindikator

Überblick

Die Strategie beurteilt Markttrends und trifft Handelsentscheidungen durch Berechnung von Abweichungen im RSI-Indikator. Insbesondere wird es als verstecktes Mehrkopfsignal beurteilt, wenn der RSI niedrigere Tiefs bildet, aber Preise höhere Tiefs bilden; und als verstecktes Luftkopfsignal, wenn der RSI höhere Höhen bildet, aber Preise niedrigere Höhen bilden.

Strategieprinzip

Die Strategie basiert hauptsächlich auf der Theorie der Multi-Bohr-Differenz des RSI-Indikators. Wenn der RSI und der Preis sich umgekehrt voneinander unterscheiden, ist dies ein Hinweis auf eine potenzielle Umkehr des Marktes.

  1. Normaler Mehrkopfsignal: Der RSI bildet höhere Tiefs, der Preis bildet niedrigere Tiefs. Es zeigt an, dass die Käufer den RSI erhöht haben, aber nicht vollständig auf den Preis reflektiert sind, was auf eine stärkere Mehrkopfkraft hinweist.

  2. Versteckte Mehrkopfsignale: Der RSI bildet niedrigere Tiefs, der Preis bildet höhere Tiefs. Dies zeigt, dass der Verkaufspreis den RSI nach unten drückt, aber nicht vollständig auf den Preis reflektiert wird, was auf eine stärkere Mehrkopfkraft hinweist.

  3. Normaler Short-Head-Signal: Der RSI bildet niedrigere Höhen und der Preis bildet höhere Höhen. Der Verkaufsschub zeigt, dass der Preis höher ist, aber nicht vollständig auf dem RSI reflektiert wird, was eine Zunahme der Short-Head-Kraft anzeigt.

  4. Verborgene Bilanzsignale: Der RSI bildet höhere Höhen und die Preise niedrigere Höhen. Die Bilanz zeigt an, dass der RSI hoch ist, aber nicht vollständig auf den Preis reflektiert wird, was eine Zunahme der Bilanzstärke bedeutet.

In Anbetracht der oben genannten Meinungsverschiedenheiten werden potenzielle Markttrends und die Zunahme der Kauf- und Verkaufskraft beurteilt, um eine Handelsstrategie zu entwickeln.

Strategische Vorteile

  1. Die Theorie der Mehrspalten-Differenz des RSI wird verwendet, um die potenziellen Trends zu beurteilen.
  2. Es ist wichtig, die Preise zu berücksichtigen, um zu verhindern, dass sich ein “Noise Signal” erzeugt.
  3. Es ist wichtig, dass man die wichtigsten Signale erkennt, bevor sich die Märkte schnell umdrehen.
  4. Ein visualisierter Mehrraumsignal-Hinweis ist realisiert, der intuitiv und bequem zu bedienen ist.
  5. Anpassbare Parameter für unterschiedliche Marktumgebungen.

Strategisches Risiko

  1. Eine Abweichung zwischen dem RSI und den Preisen ist nicht unbedingt ein Hinweis auf eine Umkehrung, sondern kann eine normale Konzentration sein.
  2. Das versteckte Signal ist relativ laut und kann zu Fehleinschätzungen führen.
  3. Es ist notwendig, mehr Indikatoren oder technische Analysemethoden zu kombinieren, um das Signal zu bestätigen.
  4. Die falsche Einstellung der Signalparameter kann auch das Urteilsvermögen beeinträchtigen.

Optimierungsrichtung

  1. Hinzu kommen MACD, KDJ und andere Indikatoren, die mit dem RSI kombiniert werden, um das Eingangssignal zu bestimmen.
  2. Erhöhung der Stop-Loss-Strategie und Verringerung der Einzelschäden.
  3. Optimierung der Parameter-Einstellungen, z. B. die Suche nach geeigneteren RSI-Periodenparametern.
  4. Ein weiterer Schritt ist die Erweiterung der Maschinenlern-Algorithmen, um die Genauigkeit von Eingangssignalen zu bestimmen.
  5. Websocket-Echtzeit-Bewegungen werden hinzugefügt, um die Signalbestätigungsverzögerung zu verringern.

Zusammenfassen

Die Strategie stützt sich hauptsächlich auf die Bollinger-Differenz des RSI, um die potenziellen Bollinger-Trends zu beurteilen. Sie wird durch die Erfassung der Veränderungen der relativen Kräfte der Kauf- und Verkaufsposition in der Preisbewegung umgekehrt. Sie hat eine gewisse Vorhersagefunktion.

Strategiequellcode
/*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
	 )