Estrategia de seguimiento de tendencias basada en indicadores de la EMA

El autor:¿ Qué pasa?, Fecha: 2023-11-27 15:30:29
Las etiquetas:

img

Resumen general

Esta estrategia utiliza principalmente EMA e indicadores de desviación estándar para determinar la dirección de la tendencia a través de señales cruzadas EMA y buscar señales de ruptura con desviación estándar para generar señales de compra y venta. Pertenece al tipo de estrategia de seguimiento de tendencias que genera señales de compra cuando los precios rompen el carril superior y señales de venta cuando los precios rompen el carril inferior.

Estrategia lógica

La estrategia consta de tres partes principales:

  1. Diferencia EMA (s2): Calcular la diferencia entre EMA rápida (ema_range) y EMA lenta (ema_watch) para determinar la dirección de la tendencia del precio.

  2. Canal de desviación estándar (s3): Construye el canal superior e inferior basado en la diferencia EMA con múltiplos de la desviación estándar.

  3. Las banderas y señales: generan señales de compra cuando los precios rompen el carril superior desde abajo hacia arriba, y señales de venta cuando los precios rompen el carril inferior desde arriba hacia abajo.

A través de esta combinación de indicadores, puede capturar la dirección de tendencia de los precios y generar señales de compra y venta en puntos clave, lo que pertenece a una estrategia típica de seguimiento de tendencias.

Análisis de ventajas

La estrategia tiene las siguientes ventajas:

  1. La EMA puede hacer un seguimiento eficaz de las tendencias.
  2. La desviación estándar construye canales para evitar señales falsas.
  3. Las formas de la bandera hacen que las señales sean claras.
  4. Configuración flexible de los parámetros de las medias móviles y de los múltiplos de la desviación estándar.
  5. El control máximo de la extracción ayuda a reducir los riesgos.

Análisis de riesgos

También hay algunos riesgos:

  1. Puede haber más señales falsas en los mercados de rango.
  2. Los múltiplos de desviación estándar demasiado grandes pueden perder oportunidades.
  3. No hay stop loss puede dar lugar a mayores pérdidas durante los retracements.

Las soluciones:

  1. Agregue el juicio de mercado limitado al rango y use otras estrategias en su lugar.
  2. Optimizar los parámetros de desviación estándar.
  3. Añadir un stop loss móvil para controlar la pérdida de operaciones individuales.

Optimización

La estrategia se puede optimizar en las siguientes direcciones:

  1. Añadir más indicadores como Bollinger Bands para mejorar la calidad de la señal.
  2. Optimizar los parámetros de media móvil y desviación estándar.
  3. Añadir estrategias de stop loss para reducir las reducciones.
  4. Establecer los parámetros óptimos de la señal de compra/venta de acuerdo con los diferentes mercados.
  5. Añadir algoritmos de aprendizaje automático para determinar el régimen general del mercado.

Conclusión

En resumen, esta es una estrategia típica de seguimiento de tendencias que utiliza la EMA y la desviación estándar para construir un sistema de indicadores y generar señales de bandera en puntos clave. Las ventajas están en atrapar tendencias y evitar señales falsas con desviación estándar. Los principales riesgos provienen de señales incorrectas en mercados de rango y riesgos de retirada debido a la falta de stop loss. Al agregar indicadores de juicio, optimizar parámetros y agregar stop loss, la estrategia puede mejorarse aún más en términos de estabilidad y rentabilidad. En general, el marco de la estrategia es razonable y tiene un gran potencial de optimización.


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

//@version=5
strategy("ROCKET_EWO", overlay=true)
ema_range = input(5)
ema_watch = input(13)
inval_a = input(open)
inval_b = input(open)
ratio = input(0)
max = 5000
s2=ta.ema(inval_a, ema_range) - ta.ema(inval_b, ema_watch)
c_color=s2 <= ratio ? 'red' : 'lime'
s3 = s2 + (ta.stdev(open, 1)) * 5.618
plotshape(s3, color=color.white, style=shape.cross, location=location.abovebar, size=size.auto, show_last=max, transp=30, offset= 0)
cr = s2 > 0
alertcondition(cr, title='[Rocket_EWO]', message='[Rocket_EWO]')
buy = s2 > 1
sell = s2 < -1
txt  = "🚀" + "\n"+ "\n"+ "\n"+ "\n"
plotshape(buy, color=color.lime, style=shape.triangleup, location=location.belowbar ,color=color.white, text=txt, size=size.normal, show_last=max, transp=1, offset= -3)
plotshape(not buy, color=color.red, style=shape.triangledown, location=location.belowbar, size=size.normal, show_last=max, transp=1, offset= 0)
signalperiod = time
s4 = ta.cross(s2, 0) ? time : na
colsig= s2 <= ratio ? color.red : color.lime
plotshape((time==s4)?7000:na,color=color.blue, style=shape.flag, location=location.abovebar, size=size.large, transp=1)

longCondition =  ta.crossover(s2, 1.618)
if (longCondition)
    strategy.entry("LONG Id", strategy.long)

shortCondition = ta.crossunder(s2, 1.618)
if (shortCondition)
    strategy.entry("SHORT Id", strategy.short)

strategy.close("LONG Id", when = s2 < 0.218)
// strategy.risk.max_drawdown(75, strategy.percent_of_equity)


Más.