Esta estrategia es una estrategia típica de seguimiento de tendencias de la EMA. Utiliza la cruz de oro de una EMA rápida y una EMA lenta para determinar tendencias alcistas, y la cruz de la muerte para determinar tendencias bajistas, para operaciones largas y cortas respectivamente.
La lógica central es:
El uso de EMA de diferentes velocidades puede detectar con eficacia los cambios de tendencia. La EMA rápida reacciona rápidamente a los cambios de precio para la detección temprana de tendencias, mientras que la EMA lenta filtra señales falsas para garantizar la confirmación de tendencias. Juntos forman un sistema de tendencia confiable.
Las cruces doradas indican el comienzo de una tendencia alcista para los tramos largos, mientras que las cruces de muerte indican el comienzo de una tendencia bajista para los cortos.
Mitigantes:
La estrategia puede mejorarse en ámbitos como:
Aprendizaje automático para ajustar automáticamente los parámetros de EMA para una mejor adaptabilidad
Valoración de las posiciones basadas en la volatilidad para ajustarse a la volatilidad del mercado
Osciladores como el RSI para ajustar los puntos de entrada
Añadir paradas de seguimiento, paradas de obtención de beneficios para una mejor gestión del riesgo
Análisis de volumen para medir las entradas/salidas de fondos para la verificación de tendencias
Combinaciones de carteras con estrategias no correlacionadas para reducir las absorciones y aumentar la estabilidad de los rendimientos
La estrategia de seguimiento de tendencias de la EMA es una forma simple y práctica de rastrear tendencias a medio y largo plazo. Utiliza cruces de EMA rápidos y lentos para el tiempo de entrada. Fácil de implementar, también se puede extender en múltiples dimensiones para una mayor adaptabilidad.
/*backtest start: 2023-09-11 00:00:00 end: 2023-09-18 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © HomoDeus666 //@version=5 strategy("EMA12/26 with date backtest range (BTCpair)", overlay=true,initial_capital = 1,commission_type = strategy.commission.percent,currency = currency.BTC) //input date and time useDateFilter = input.bool(true, title="Filter Date Range of Backtest", group="Backtest Time Period") backtestStartDate = input(timestamp("1 Jan 2021"), title="Start Date", group="Backtest Time Period", tooltip="This start date is in the time zone of the exchange " + "where the chart's instrument trades. It doesn't use the time " + "zone of the chart or of your computer.") backtestEndDate = input(timestamp("1 Jan 2022"), title="End Date", group="Backtest Time Period", tooltip="This end date is in the time zone of the exchange " + "where the chart's instrument trades. It doesn't use the time " + "zone of the chart or of your computer.") //check date and time option inTradeWindow = true /// plot and indicator fastEMA = ta.ema(close,12), slowEMA=ta.ema(close,26) plot(fastEMA,color=color.green,linewidth = 2) plot(slowEMA,color=color.red,linewidth=2) //entry when condition longCondition = ta.crossover(fastEMA,slowEMA) if (longCondition) and inTradeWindow strategy.entry("buy", strategy.long) if ta.crossunder(ta.ema(close, 12), ta.ema(close, 26)) and inTradeWindow strategy.close("buy") // trades and cancel all unfilled pending orders if not inTradeWindow and inTradeWindow[1] strategy.cancel_all() strategy.close_all(comment="Date Range Exit")