
Esta estrategia combina el RSI y el EMA aleatorios para detectar tendencias y validar señales de negociación. Se produce una señal de multiplicación cuando el precio se reajusta por encima de EMA20 entre EMA9 y EMA14, mientras que el RSI aleatorio se produce por debajo de los niveles de sobreventa. Se produce una señal de ruptura cuando el precio se reajusta por debajo de EMA20 entre EMA9 y EMA14, mientras que el RSI aleatorio se produce por encima de los niveles de sobreventa.
La idea central de la estrategia es utilizar el RSI aleatorio para determinar si una reversión en la tendencia principal (expresada por EMA20) ha llegado a la zona de sobreventa y sobreventa adecuada, y usar la EMA rápida y la EMA media para verificar la intensidad de la reversión. Si la reversión se termina cuando la tendencia se invierte, la reversión puede terminar si la tendencia supera la EMA rápida y la EMA media.
La estrategia utiliza el RSI aleatorio en combinación con la verificación de múltiples condiciones de la EMA para controlar el riesgo de manera efectiva, al tiempo que capta la reversión de la tendencia, la idea general es simple y fácil de entender, adecuada para el uso de los principiantes. Sin embargo, la estrategia en sí misma también tiene algunas limitaciones, como el mal desempeño en los mercados convulsos, la falta de comprensión de la tendencia, etc., que requiere ajustar los parámetros de manera flexible según la situación real.
/*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)