Stochastischer RSI mit Auto Buy Scalper Strategie

Schriftsteller:ChaoZhang, Datum: 2023-10-31 11:34:47
Tags:

img

Übersicht

Diese Strategie zielt darauf ab, eine automatische Buy-in- und Hold-Münzen-Scalper-Handelsstrategie auf der Grundlage der Stochastic RSI und EMA-Technischen Indikatoren umzusetzen.

Strategie Logik

Die Strategie verwendet den RSI-Indikator, um Überkauf- und Überverkaufswerte zu bestimmen, kombiniert mit der Beziehung zwischen den K- und D-Werten des stochastischen RSI, um Kauf- und Verkaufssignale zu generieren.

Es wird ein Kaufsignal auslösen, wenn die stochastische RSI-K-Linie unter 20 liegt und als überverkauft angesehen wird und K über D liegt. Danach entscheidet es, ob es anhand von drei Bedingungen zu verkaufen ist: 1) der Preis steigt um mehr als 1% gefolgt von einer EMA-Umkehrung; 2) die stochastische RSI-K-Linie liegt unter D; 3) der Stop-Loss-Preis erreicht 98,5% des Einstiegspreises.

Darüber hinaus wird auch eine Abwärtswende der kurzfristigen EMA nach einem Aufwärtstrend als Verkaufssignal angesehen.

Vorteile

  • Die Verwendung des Stochastic RSI für den Eintrittszeitplan ist zuverlässiger und filtert falsche Ausbrüche effektiv.
  • Durch die Einbeziehung von EMA kann der Trendwechsel besser erkannt werden.
  • Die Anwendung von Stop-Loss hilft, Verluste effektiv zu kontrollieren.
  • Wenn Sie Münzen so viel wie möglich halten, reduzieren sich die Handelsfrequenz und die Gebühren.

Risiken

  • Eine Feinabstimmung der RSI-Parameter kann helfen, zu optimieren.
  • Ein zu eng eingestellter Stop-Loss kann zu erweiterten Verlusten führen.
  • Eine falsche Einstellung der EMA-Parameter kann dazu führen, dass der Trend-Wechsel-Timing verfehlt wird.

Optimierungsrichtlinien

  • Versuche verschiedene Kombinationen von RSI- und stochastischen RSI-Parametern für eine optimale Einstellung.
  • Versuchen Sie verschiedene Stop-Loss-Prozentsätze, um Verlustverhütung und Pullbacks auszugleichen.
  • Test der Kombination von langen und kurzen EMAs, um die besten Parameter für die Erfassung von Trendänderungen zu ermitteln.
  • Überlegen Sie, weitere Indikatoren hinzuzufügen, um die Genauigkeit der Ein- und Ausstiegszeit zu verbessern.

Zusammenfassung

Diese Strategie integriert die Stärken von Stochastic RSI, EMA und anderen Indikatoren und verwendet relativ robuste Methoden zur Bestimmung des Ein- und Ausstiegszeitpunkts. Weitere Verbesserungen der Rentabilität und Stabilität können durch Parameteroptimierung und Risikomanagement erzielt werden.


/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Stochastic RSI W Auto Buy Scalper Scirpt III ", shorttitle="Stoch RSI_III", format=format.price, precision=2)
smoothK = input.int(3, "K", minval=1)
smoothD = input.int(3, "D", minval=1)
lengthRSI = input.int(14, "RSI Length", minval=1)
lengthStoch = input.int(14, "Stochastic Length", minval=1)
src = input(close, title="RSI Source")
rsi1 = ta.rsi(src, lengthRSI)
k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = ta.sma(k, smoothD)
plot(k, "K", color=#2962FF)
plot(d, "D", color=#FF6D00)
h0 = hline(80, "Upper Band", color=#787B86)
hline(50, "Middle Band", color=color.new(#787B86, 50))
h1 = hline(20, "Lower Band", color=#787B86)

longStopLoss  = strategy.opentrades.entry_price(0)* (.985)

stochDropping = ta.falling(k,2)
shortSma = ta.sma(hlc3,12)
shorterSma = ta.sma(hlc3,3)
plot(shortSma[3])

shortSmaFlip = (ta.change(shortSma,3)>0) and ta.falling(hlc3,1)
shorterSmaFlip = (ta.change(shorterSma,2)>0) and ta.falling(hlc3,1)
messageSellText ='"type": "sell", "symbol": "BTCUSD", "marketPosition": "{{strategy.market_position}}"'

messageBuyText ='"type": "buy", "symbol": "BTCUSD", "marketPosition": {{strategy.market_position}}"'

fill(h0, h1, color=color.rgb(33, 150, 243, 90), title="Background")

strategy.entry("Tech", strategy.long, when=(strategy.position_size <= 0 and k<17 and k>d),alert_message=messageBuyText)
//original: strategy.close("TL", when=(strategy.position_size >= 0 and (k>90 and k<d)))

takeProfit = hlc3 > strategy.opentrades.entry_price(0)*1.01
//longStopLoss  = strategy.opentrades.entry_price(0)* (.995)

strategy.close("Tech", when=(strategy.position_size >= 0 and (k>90 and k<d and stochDropping)) or close<longStopLoss, comment="rsi or Stop sell",alert_message=messageSellText)
//strategy.close("Tech", when=(strategy.position_size >= 0 and close<longStopLoss), comment="stopLoss sell",alert_message=messageSellText)

strategy.close("Tech", when=(shortSmaFlip and k>20 and takeProfit),comment="Sma after profit",alert_message=messageSellText)



Mehr