
La estrategia RSI Moving Average Crossover Trend es una estrategia que utiliza la señal de cruce de la media del RSI para determinar la tendencia y emitir una señal de compra. La estrategia combina al mismo tiempo con la EMA del precio y emite una señal de compra solo cuando el precio está por encima de la EMA.
El indicador central de la estrategia es el RSI, y se calcula el RSI en las líneas medias de EMA y SMA. Se emite una señal de compra solo cuando la línea EMA del RSI es superior a la línea SMA y el precio es superior a la EMA; cuando la línea EMA del RSI es inferior a la línea SMA, se emite una señal de venta para implementar el seguimiento de la tendencia.
El indicador RSI puede reflejar eficazmente el fenómeno de sobrecompra y sobreventa en el mercado. Una ruptura de 70 en el indicador RSI se considera una sobrecompra en el mercado, mientras que una ruptura de 30 se considera una sobreventa. La estrategia utiliza dos medias móviles EMA y SMA para descubrir la tendencia y el punto de inflexión del indicador RSI.
Cuando el EMA del RSI comienza a subir, indicando que el mercado muestra signos de estabilización, se utiliza el SMA para verificar su dirección; cuando el SMA también comienza a subir, indicando que el RSI está claramente en una tendencia alcista, la estrategia emite una señal de compra, siguiendo la tendencia, suponiendo que el precio sea superior al EMA.
Se trata de una estrategia de seguimiento de tendencias que permite aprovechar de manera efectiva las oportunidades de tendencia en la línea media y larga. En comparación con un solo indicador, la estrategia utiliza EMA y SMA del RSI para formar una verificación cruzada que reduce las señales erróneas y aumenta la estabilidad.
La estrategia también combina los EMA de los precios para asegurar que las compras se realicen sólo en la tendencia de los precios al alza, evitando el riesgo de una situación de choque, lo que mejora la probabilidad de ganancias.
La estrategia se basa principalmente en el indicador RSI, que también emite una señal errónea cuando el RSI produce una señal errónea. Además, el indicador RSI es más adecuado para juzgar el fenómeno de sobreventa y sobreventa, y tiene un cierto atraso en juzgar la tendencia de la línea media y larga.
La estrategia también tiene un cierto retraso de tiempo, especialmente cuando los EMA y SMA del RSI se equilibran, lo que provoca un retraso de la señal. También existe un cierto riesgo de pérdidas durante este período.
Se puede considerar la optimización del RSI para seleccionar los parámetros más adecuados y mejorar su eficacia.
Se puede considerar la inclusión de la lógica de stop loss, para que el riesgo sea controlado de manera efectiva.
Se puede probar la configuración de los parámetros en diferentes períodos de tiempo, optimizar los parámetros para que la estrategia funcione de manera estable en más variedades y más períodos.
La estrategia de tendencia cruzada de línea media RSI, es una estrategia simple que utiliza el indicador RSI para determinar la dirección de la tendencia y la verificación cruzada. Combinada con la EMA de precios, puede aprovechar las oportunidades de dirección en la tendencia alcista.
/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//Created by Sv3nla 5-Jan-2021
strategy(title="Sv3nla RSI EMA SMA Strat", shorttitle="Sv3nla RSI EMA SMA Strat", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === BACKTEST RANGE ===
FromMonth = input(defval = 5, title = "From Month", minval = 1)
FromDay = input(defval = 1, title = "From Day", minval = 1)
FromYear = input(defval = 2015, title = "From Year", minval = 2015)
ToMonth = input(defval = 1, title = "To Month", minval = 1)
ToDay = input(defval = 1, title = "To Day", minval = 1)
ToYear = input(defval = 9999, title = "To Year", minval = 2022)
// syminfo.mintick = 0.01$ for BTCUSDT
testPeriod() => true
//INPUTS
rsilen = input(defval = 16, minval=1, title="RSILength")
RSIemaLen = input(defval = 12, minval=1, title="RSI EMA Length")
RSIsmaLen2 = input(defval = 29, minval=1, title="RSI SMA Length2")
length = input(defval = 8, minval=1, title="EMA price Length")
// RSI
RSIsrc = close
RSIup = rma(max(change(RSIsrc), 0), rsilen)
RSIdown = rma(-min(change(RSIsrc), 0), rsilen)
rsi = RSIdown == 0 ? 100 : RSIup == 0 ? 0 : 100 - 100 / (1 + RSIup / RSIdown)
emavalue=ema(rsi,RSIemaLen)
smavalue=sma(rsi,RSIsmaLen2)
//EMA
ema=ema(close,length)
//PLOT
plot(ema(rsi, RSIemaLen), color=color.yellow, linewidth=2, title="EMA", transp=0)
plot(sma(rsi, RSIsmaLen2), color=color.aqua, linewidth=2, title="SMA", transp=0)
//ORDERS
if (testPeriod())
strategy.entry("long",strategy.long, comment="RSIEMA", when=(emavalue > smavalue and close>ema))
strategy.close(id="long", when=(emavalue < smavalue))
// Colour background when in a trade and 50 horizontal line
backgroundColour = (strategy.position_size > 0) ? color.green : na
bgcolor(color=backgroundColour, transp=85)
hline(50, color=color.yellow)