
Die Strategie zielt darauf ab, eine Scalper-Trading-Strategie zu implementieren, bei der Währungen auf Basis von Random-Index-Glattbewegungs-Durchschnitten (RSI) und Index-Bewegungs-Durchschnitten (EMA) automatisch gekauft und gehalten werden. Sie ist für die 5-Minuten-K-Linie geeignet und für BTC optimiert. Die Strategie zielt darauf ab, so viele Währungen wie möglich zu halten, wenn sie sich überschneiden oder nicht stark fallen.
Die Strategie nutzt den RSI, um zu bestimmen, ob sich ein Überkauf in einer Überverkaufszone befindet, und kombiniert die K- und D-Werte eines zufälligen RSI-Indikators, um ein Kauf- und Verkaufssignal zu senden.
Wenn die K-Linie des zufälligen RSI unter 20 liegt, wird als Überverkauf angesehen und ein Kaufsignal erzeugt, wenn die K-Linie größer als die D-Linie ist. Anschließend wird nach drei Bedingungen entschieden, ob ein Verkauf erfolgt: 1) Ein EMA-Umkehrung nach einem Preisanstieg von mehr als 1%; 2) Wenn die K-Linie des zufälligen RSI unter der D-Linie liegt; 3) Wenn der Stop-Loss-Preis 98.5% des Einstiegspreises erreicht.
Außerdem wird ein kurzfristiger EMA, der nach einem Anstieg nach unten umgedreht wird, als Verkaufssignal angesehen.
Die Strategie integriert die Vorzüge mehrerer Indikatoren, wie beispielsweise der ZufallsrSI und der EMA, und nutzt eine robustere Methode, um zu entscheiden, wann man kauft und verkauft. Durch die Optimierung der Parameter und das Risikomanagement kann die Ertragskraft und Stabilität der Strategie weiter verbessert werden. Insgesamt ist die Strategie logisch und lohnt sich, in der Praxis zu überprüfen und zu optimieren.
/*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)