
Die Strategie kombiniert den Random RSI und EMA, um Trends zu erkennen und Handelssignale zu überprüfen. Es wird ein Mehr-Signal erzeugt, wenn der Preis oberhalb der EMA20 zwischen EMA9 und EMA14 zurückgreift, während der Random RSI unterhalb des Überverkaufs liegt. Es wird ein Fehlsignal erzeugt, wenn der Preis unterhalb der EMA20 zwischen EMA9 und EMA14 zurückgreift, während der Random RSI über dem Überkauf liegt.
Die Kernidee der Strategie besteht darin, den zufälligen RSI zu nutzen, um zu beurteilen, ob ein Rückschlag in einem Haupttrend (ausgedrückt durch EMA20) den geeigneten Überkauf-Überverkauf-Bereich erreicht hat, und gleichzeitig die Stärke des Rückschlags mit der schnellen EMA und der mittleren EMA zu überprüfen. Wenn der Preis die schnellen EMA und die mittleren EMA durchbricht, kann der Rückschlag enden, der Trend kann sich umkehren, und es ist nicht geeignet, einzutreten, und der Rückschlag wird nur dann berücksichtigt, wenn der Preis zwischen EMA9 und EMA14 zurückkehrt.
Die Strategie nutzt Random RSI in Kombination mit EMA und Multi-Condition-Verifizierung, um das Risiko effektiv zu kontrollieren und gleichzeitig die Trendwende zu erfassen. Die Gesamtkonzeption ist einfach und leicht zu verstehen und eignet sich für Anfänger.
/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Crypto-EMA_Pullback=-", overlay=true,initial_capital = 10000000,default_qty_type=strategy.percent_of_equity, default_qty_value=10.0, pyramiding = 10)
// Inputs
lengthRsi = input(14, title="RSI Length")
k = input(3, title="Stoch %K")
d = input(3, title="Stoch %D")
lengthStoch = input(14, title="Stochastic RSI Length")
overSold = input(25, title="Oversold Level")
overBought = input(85, title="Overbought Level")
emaFastLength = input(9, title="Fast EMA Length")
emaMediumLength = input(14, title="Medium EMA Length")
emaSlowLength = input(20, title="Slow EMA Length")
// Calculating EMAs
emaFast = ta.ema(close, emaFastLength)
emaMedium = ta.ema(close, emaMediumLength)
emaSlow = ta.ema(close, emaSlowLength)
// Calculating the RSI and Stoch RSI
rsi = ta.rsi(close, lengthRsi)
stochRsiK = ta.sma(ta.stoch(rsi, rsi, rsi, lengthStoch), k)
stochRsiD = ta.sma(stochRsiK, d)
// Entry Conditions
bullishCondition = close > emaSlow and close < emaFast and close < emaMedium and stochRsiK < overSold
bearishCondition = close < emaSlow and close > emaFast and close > emaMedium and stochRsiK > overBought
// Strategy Execution
if (bullishCondition)
strategy.entry("Long", strategy.long)
if (bearishCondition)
strategy.entry("Short", strategy.short)
// Plotting
plot(emaFast, color=color.blue, title="Fast EMA")
plot(emaMedium, color=color.orange, title="Medium EMA")
plot(emaSlow, color=color.red, title="Slow EMA")
hline(overSold, "Oversold", color=color.green)
hline(overBought, "Overbought", color=color.red)