Esta estrategia utiliza el cruce de las EMA rápidas y lentas para determinar y seguir las tendencias de los precios y tiene como objetivo captar las tendencias a medio plazo.
Estrategia lógica:
Calcular las EMA rápidas y lentas, por lo general de 13 y 48 períodos.
En el caso de las entidades de crédito, se utilizará el formulario de referencia de las entidades de crédito.
Salir largo cuando el precio cruza por debajo de la EMA rápida.
Opción para añadir reglas de lado cortas para el comercio bidireccional.
Ventajas:
La combinación de EMA rápido/lento identifica eficazmente las tendencias intermedias.
El comercio de ruptura permite entradas de tendencia oportunas.
El mecanismo de stop loss simple controla la pérdida por operación.
Riesgos:
El retraso de la EMA hace que se pierdan los mejores puntos de entrada.
Los frenos sueltos para evitar los latigazos excesivos.
Es difícil determinar la dirección de la tendencia durante los rangos.
En resumen, esta estrategia utiliza cruces de EMA para la identificación y seguimiento de tendencias.
/*backtest start: 2022-09-05 00:00:00 end: 2023-09-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // strategy("EMA Strategy 13 48", shorttitle = "EMA Strategy 13 48", overlay=true, pyramiding = 3,default_qty_type = strategy.percent_of_equity, default_qty_value = 1000) // === Inputs === // short ma maFastSource = input(defval = close, title = "Fast MA Source") maFastLength = input(defval = 13, title = "Fast MA Period", minval = 1) // long ma maSlowSource = input(defval = close, title = "Slow MA Source") maSlowLength = input(defval = 48, title = "Slow MA Period", 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(close, fastMA) 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())