Estrategia de cruce de medias móviles con indicador de momentum


Fecha de creación: 2024-02-01 14:50:26 Última modificación: 2024-02-01 14:50:26
Copiar: 0 Número de Visitas: 359
1
Seguir
1238
Seguidores

Estrategia de cruce de medias móviles con indicador de momentum

Descripción general

La estrategia utiliza el cruce del indicador RSI con su línea media como señal de negociación, y es una estrategia de indicador de dinámica común. Su principio central es seguir el diferencial entre el indicador RSI y el promedio móvil simple SMA_RSI del RSI, y luego calcular el promedio móvil simple SMA_RSI2 de este diferencial.

Principio de estrategia

La estrategia utiliza 3 parámetros para calcular el promedio móvil simple del indicador RSI con sus dos períodos diferentes. En primer lugar, se calcula el indicador RSI convencional, cuyo período es de longitud. Luego, se calcula el promedio móvil simple de longitud 2 del RSI, el SMA_RSI. Finalmente, se calcula el diferencial entre el RSI y el SMA_RSI, y luego se calcula el promedio móvil simple de longitud 3 del período, el SMA_RSI2.

De esta manera, se forma una señal de estrategia de negociación basada en el cruce de la línea media del indicador RSI. Como SMA_RSI2 es la línea media del delta de diferencia, puede reflejar el dinamismo y la tendencia de cambio del indicador RSI, capturando la esencia del indicador RSI en sí mismo.

Análisis de las ventajas

Esta estrategia combina las ventajas del indicador RSI con su línea de equilibrio, permitiendo seguir la tendencia de los precios y evitar ser engañados por el ruido. La estrategia adopta un pensamiento de delta de diferencia más suave, lo que hace que las señales de negociación sean más claras. En general, la estrategia tiene menos retrocesos y se mantiene estable en los beneficios.

Las ventajas concretas son:

  1. El uso de delta diferencial para suavizar las fluctuaciones de precios y reducir las falsas señales
  2. La forma de la cruz es simple, directa y fácil de dominar.
  3. Más parámetros ajustables, adaptados al mercado
  4. Ganancias estables, retiros menores

Riesgos y mejoras

La estrategia también tiene algunos riesgos, como:

  1. En la mayoría de los casos, el stop loss podría ser mayor.
  2. La volatilidad de las ganancias en medio de la tendencia a la caída

En este sentido, se puede mejorar en los siguientes aspectos:

  1. Optimización de parámetros y estabilidad
  2. La participación en el mecanismo de suspensión de pérdidas para controlar las pérdidas individuales
  3. Combinación con otros indicadores para mejorar la calidad de la señal

Resumir

Esta estrategia es más simple y general en general, aumenta la utilidad del indicador RSI en sí mismo mediante el cálculo de la diferencia, utiliza el cruce de la mediana para juzgar, tiene una fuerte capacidad de control de retracción, y es una estrategia de indicador de dinámica muy práctica.

Código Fuente de la Estrategia
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy ("RSI&SMA", overlay=false )
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp((9999), (1), (1), 0, 0)
_testPeriod() => true

length = input(3, minval=1, title = "RSI period")
length2 = input(21, minval=1, title = "RSI SMA-1")
length3 = input(13, minval=1, title = "RSI SMA-2")
threshold  = input(0,step=0.5, title="Threshold")
filter = input(false, title="Use filter?") 


up = rma (max (change (close), 0), length)
down = rma (-min (change (close), 0), length)
RSI = down == 0? 100: up == 0? 0: 100-100 / (1 + up / down)

SMA_RSI = sma(RSI, length2)
delta = RSI-SMA_RSI
SMA_RSI2 = sma(delta, length3)
Long = crossover(SMA_RSI2, threshold) 
Short = crossunder(SMA_RSI2, threshold) 

plot(threshold, color=color.silver)
plot(SMA_RSI2, color= SMA_RSI2 > 0 ? color.blue : color.purple)
//plot(SMA_RSI, color=color.green)
//plot(delta, color=color.red)

long_condition =  Long and (filter ? close > ema(close, 200) : true) and _testPeriod()
strategy.entry('BUY', strategy.long, when=long_condition)  
 
short_condition =  Short
strategy.close('BUY', when=short_condition)