
Die Strategie basiert auf dem RSI-Indikator und dem Kreuzungssignal der beiden EMA-Linien, um den Kauf- und Verkaufspunkt zu bestimmen. Es erzeugt ein Kaufsignal, wenn der Schließungspreis unter EMA100 und EMA20 fällt und der RSI-Wert unter 30 liegt. Es erzeugt ein Verkaufssignal, wenn der Schließungspreis die EMA100 und EMA20 durchbricht und der RSI über 70 liegt.
Die RSI- und EMA-Cross-Signal-Quantifizierungsstrategie ist eine einfache, praktische Quantifizierungsstrategie, die durch die Kombination des RSI-Indikators mit der EMA-Gleichgewichtung die Höhen und Tiefen in einem wackligen Umfeld besser erfasst und differenziert. Die Strategie hat jedoch auch einige Einschränkungen und Risiken, wie z. B. die Ausfallwirkung in einem Trendumfeld, das Fehlen von Positionsmanagement- und Risikokontrollmaßnahmen usw.
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("RSI-EMA100&20 Buy/Sell Signal", overlay=true)
// Input parameters
rsiLength = input.int(14, "RSI Length")
emaCloseLength = input.int(100, "EMA Length (Closing Price)")
emaLowLength = input.int(20, "EMA Length (Low Price)")
oversoldLevel = input.int(30, "Oversold Level")
overboughtLevel = input.int(70, "Overbought Level")
// Calculate RSI
rsi = ta.rsi(close, rsiLength)
// Calculate EMA of closing price
emaClose = ta.ema(close, emaCloseLength)
// Calculate EMA of low price
emaLow = ta.ema(low, emaLowLength)
// Determine overbought and oversold conditions
isOversold = rsi <= oversoldLevel
isOverbought = rsi >= overboughtLevel
// Plot RSI and its EMAs
plot(rsi, color=color.blue, title="RSI")
plot(emaClose, color=color.green, title="EMA 100 (Closing Price)")
plot(emaLow, color=color.orange, title="EMA 20 (Low Price)")
// Strategy entry condition: Closing price is below both EMAs and RSI is less than or equal to oversold level
buySignal = close < emaClose and close < emaLow and isOversold
// Plot buy signals
plotshape(series=buySignal, style=shape.triangleup, location=location.abovebar, color=color.green, size=size.small)
// Strategy entry
if (buySignal)
strategy.entry("Buy", strategy.long)
// Strategy exit condition: Price crosses above both EMAs and RSI is greater than or equal to overbought level
sellSignal = close > emaClose and close > emaLow and isOverbought
// Plot sell signals
plotshape(series=sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// Strategy exit
if (sellSignal)
strategy.entry("Sell", strategy.short)
// Plot sell signals
plotshape(series=sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// Strategy exit
if (sellSignal)
strategy.entry("Sell", strategy.short)