
Cette stratégie combine le RSI et l’EMA au hasard pour détecter les tendances et vérifier les signaux de négociation. Un signal de multiplication est généré lorsque le prix est rétabli au-dessus de l’EMA20 entre l’EMA9 et l’EMA14 et que le RSI au hasard est inférieur au niveau de survente. Un signal de vide est généré lorsque le prix est rétabli au-dessous de l’EMA20 entre l’EMA9 et l’EMA14 et que le RSI au hasard est supérieur au niveau de survente.
L’idée centrale de cette stratégie est d’utiliser le RSI au hasard pour juger si un rebond dans la tendance principale (indiqué par EMA20) a atteint la zone de survente appropriée, en utilisant les EMA rapides et les EMA moyennes pour vérifier l’intensité du rebond. Si le prix dépasse les EMA rapides et les EMA moyennes, le rebond peut être terminé et la tendance peut être inversée.
La stratégie utilise la vérification de conditions multiples du RSI aléatoire combinée à l’EMA pour contrôler efficacement le risque tout en saisissant le retournement de tendance. L’idée générale est simple et facile à comprendre et convient aux débutants. Cependant, la stratégie elle-même présente également certaines limites, telles que le mauvais rendement des marchés sur le tremblement de terre, l’insuffisance de la maîtrise de la tendance, etc.
/*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)