Tendencia siguiendo una estrategia basada en la media móvil

El autor:¿ Qué pasa?, Fecha: 2024-01-22 17:26:04
Las etiquetas:

img

Resumen general

Estrategia lógica

Cuando la EMA rápida cruza la EMA lenta desde abajo, indica que el mercado está entrando en una tendencia al alza y genera una señal de compra.

Análisis de ventajas

Las ventajas de esta estrategia incluyen:

  1. Adopta un enfoque de doble EMA para determinar claramente la dirección de la tendencia.
  2. Permite la optimización de parámetros donde se pueden personalizar los períodos de EMA rápidos y lentos.
  3. Capaz de realizar un seguimiento de las tendencias a medio y largo plazo y de los ajustes a corto plazo.
  4. Lógica simple y clara, fácil de entender e implementar, adecuada para principiantes.

Análisis de riesgos

También existen algunos riesgos:

  1. Es propenso a señales falsas cuando los precios se mueven hacia los lados.
  2. El retraso inherente a los sistemas de MA, puede perder los puntos de inversión de precios.

Direcciones de optimización

Algunas direcciones de optimización:

  1. Optimizar los períodos de EMA para mejorar la rentabilidad.
  2. Agregue estrategias de stop loss para limitar la caída en operaciones individuales.

Conclusión

Esta estrategia construye un sistema de negociación basado en el doble cruce EMA, utilizando relaciones EMA rápidas y lentas para determinar la tendencia del mercado. La generación de señales es simple y clara. Filtra algo de ruido y va junto con las tendencias, adecuado para el comercio de tendencias a mediano y largo plazo. Hay espacio para mejorar la universalidad y la eficiencia a través de la optimización de múltiples indicadores y el control de riesgos.


/*backtest
start: 2023-01-21 00:00:00
end: 2024-01-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("EMA Strategy v2", shorttitle = "EMA Strategy v2", overlay=true, pyramiding = 3,default_qty_type = strategy.percent_of_equity, default_qty_value = 10)


// === Inputs ===
// short ma
maFastSource   = input(defval = close, title = "Fast MA Source")
maFastLength   = input(defval = 30, title = "Fast MA Period", minval = 1)

// long ma
maSlowSource   = input(defval = close, title = "Slow MA Source")
maSlowLength   = input(defval = 100, title = "Slow MA Period", minval = 1)

// invert trade direction
tradeInvert = input(defval = false, title = "Invert Trade Direction?")
// risk management
useStop     = input(defval = true, title = "Use Initial Stop Loss?")
slPoints    = input(defval = 0, title = "Initial Stop Loss Points", minval = 1)
useTS       = input(defval = true, title = "Use Trailing Stop?")
tslPoints   = input(defval = 0, title = "Trail Points", minval = 1)
useTSO      = input(defval = false, title = "Use Offset For Trailing Stop?")
tslOffset   = input(defval = 0, title = "Trail Offset Points", minval = 1)

// === Vars and Series ===
fastMA = ema(maFastSource, maFastLength)
slowMA = ema(maSlowSource, maSlowLength)

plot(fastMA, color=blue)
plot(slowMA, color=purple)

goLong() => crossover(fastMA, slowMA)
killLong() => crossunder(fastMA, slowMA)
strategy.entry("Buy", strategy.long, when = goLong())
strategy.close("Buy", when = killLong())

// Shorting if using
goShort() => crossunder (fastMA, slowMA)
killShort() => crossover(fastMA, slowMA)
//strategy.entry("Sell", strategy.short, when = goShort())
//strategy.close("Sell", when = killShort())

if (useStop)
    strategy.exit("XLS", from_entry ="Buy", stop = strategy.position_avg_price / 1.08 )
    strategy.exit("XSS", from_entry ="Sell", stop = strategy.position_avg_price * 1.58)

Más.