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.
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.
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)