La estrategia de SMA y RSI sólo a largo plazo

El autor:¿ Qué pasa?, Fecha: 2023-12-18 10:28:10
Las etiquetas:

img

Resumen general

Esta estrategia está adaptada a partir de los artículos de Enrico Malverti. Utiliza principalmente el Simple Moving Average (SMA) y el Relative Strength Index (RSI) para identificar señales de entrada y salida largas.

Estrategia lógica

La señal de entrada se activa cuando el precio de cierre cruza la línea SMA de período más largo.

Las señales de salida incluyen:

  1. cierre largo cuando el RSI se cruza por debajo de 70 o supera 75;
  2. Stop loss cuando el precio de cierre se cruza por debajo de la línea SMA del período más corto;
  3. Tome ganancias cuando el precio de cierre cruce por debajo de la línea SMA de período más corto.

La línea SMA de stop loss y la línea SMA de take profit también se representan.

Análisis de ventajas

Las ventajas de esta estrategia:

  1. Utiliza una combinación de indicadores sencilla y fácil de entender;
  2. Sólo se va a largo para evitar el riesgo de venta corta;
  3. Tiene reglas claras de entrada, stop loss y take profit, riesgo controlable;
  4. Fácil de optimizar ajustando los períodos de SMA, etc.

Análisis de riesgos

Hay algunos riesgos:

  1. Bias psicológicos de perder la confianza después de las pérdidas;
  2. El desplazamiento de la línea SMA puede suponer riesgos;
  3. Las señales de divergencia del RSI pueden ser poco confiables.

Soluciones:

  1. Construir un mecanismo de comercio fijo que siga las reglas;
  2. Optimizar los períodos de SMA;
  3. Añadir otros filtros para señales RSI.

Direcciones de optimización

La estrategia puede optimizarse aún más:

  1. ensayar diferentes parámetros para la SMA;
  2. Añadir otros indicadores como filtros;
  3. añadir la identificación de tendencias para distinguir entre tendencia y consolidación;
  4. Adaptación y optimización de parámetros.

Conclusión

La idea general es simple y clara. Con indicadores básicos y capacidad de control, es adecuado para el comercio a mediano y largo plazo. Pero el ajuste de parámetros y el filtrado de indicadores requieren muchas pruebas y optimización para hacer que la estrategia sea más sólida y confiable. Las ideas simples requieren enormes esfuerzos en optimización y combinación para formar sistemas comerciales realmente utilizables.


/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version= 4
// form the original idea of Enrico Malverti www.enricomalverti.com , trading system 2015  
// https://sauciusfinance.altervista.org
strategy(title="MAs & RSI strategy long only", overlay = true, max_bars_back=500)

///********FROM EMAS TO SIMPLE MA *****
// NON AGGIUNTO SCHAFF INDICATOR, che serve per discriminare quali titoli scegliere dallo screener (segnale già aperto o il primo o, a parità,
//quello più alto) ==> Tolte le bande di Bollinger (che filtrano "poco")

// INPUTS 
emapf = input(14, title ="Ma periodo veloce",  minval=1, step = 1)
emapl = input(14, title ="Ma periodo lungo",  minval=1, step = 1)
emaps = input(7, title ="Ma periodi stop",  minval=1, step = 1)
rsi_period = input(14, title="RSI period", minval = 1, step = 1) 
// CALCULATIONS
maf = sma(close, emapf)
mal = sma(close, emapl)
// rsi
myrsi = rsi(close, rsi_period)
//ema stop long ed ema stop short
//Ema7 messo da "massimo" a "chiusura" come target per posizioni short. Il limite è, in questo caso, sempre ema20 (più restringente - asimmetria)
// in questo t.s., lo short viene soltanto indicato come "rappresentazione grafica", non agito
mass = sma(close, emaps)
masl = sma(low, emaps)
ma200=sma(close,200)
/// Entry
strategy.entry("Long", true, when = crossover(close,mal))

rsi1 = crossunder(myrsi,70)
rsi2 = myrsi > 75
// previously, 80
st_loss_long = crossunder(close,masl)// **chiusura sotto EMA7**
target_long= crossunder(close,maf) //* Chiusura sotto EMA14*
// exits. *RSI**Long: Target if over bandamax, loss if under bandamin. Viceversa, for short
strategy.close("Long", when = rsi1, comment="crossunder RSI")
strategy.close("Long", when = rsi2, comment ="RSI MAX")
strategy.close("Long", when = st_loss_long, comment = "Stop loss")
strategy.close("Long", when = target_long, comment = "target_long" )

plot(masl, title="ma stop long", color=#363A45, linewidth= 1, style=plot.style_cross)
plot(maf, title="MA FAST", color=#FF0000,  linewidth= 1)
plot(mal, title="MA SLOW", color=#0000FF,  linewidth= 2)
plot(mass, title="ma stop short", color=#787B86,linewidth= 1, style=plot.style_cross)
plot(ma200, title="ma200", color=color.black,  linewidth= 1)

Más.