La estrategia de seguimiento de la EMA es una estrategia de tendencia que utiliza el indicador EMA para rastrear las tendencias.
El indicador central de esta estrategia es EMA. EMA significa promedio móvil exponencial, que es un indicador de seguimiento de tendencias. EMA calcula el precio promedio actual basado en los precios históricos y el período de tiempo establecido.
La estrategia primero calcula el valor de la EMA de 50 períodos de los precios como el principal indicador de juicio. Luego, en función de un cierto porcentaje del valor de la EMA, se establecen los rieles superiores e inferiores. Aquí se establece en ± 0.3% del valor de la EMA. Cuando el precio rompe el rieles superior de la EMA, se genera una señal de compra. Cuando el precio cae por debajo del rieles inferior de la EMA, se genera una señal de venta. Esto puede rastrear los cambios de tendencia dentro del ciclo de la EMA.
La estrategia de seguimiento de la EMA tiene una lógica general clara, juzgando las tendencias de precios a través de indicadores de la EMA y generando señales comerciales con bandas de rango. Las ventajas son reglas simples que son fáciles de entender y pueden evitar cierto ruido. Pero también hay problemas como espacio de sintonización limitado, señales rezagadas, control de descenso pobre, etc. Los próximos pasos podrían ser mejorarlo a través de medios como la combinación de múltiples indicadores, optimización de stop loss, etc. para hacer que la estrategia sea más práctica y estable.
/*backtest start: 2023-01-17 00:00:00 end: 2024-01-23 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="PingEMA50V.3 Piw", shorttitle="EMA50 Piw", overlay=true) // input src = input(title="Data Array",defval=close) ema_period = input(title="EMA period", defval=50) percent = input(title="Band %", type=float,defval=0.003) // ema ema50 = ema(src, ema_period) plot(ema50, color=green) // upper lower upper = ema50 + (ema50*percent) lower = ema50 - (ema50*percent) plot(upper, color=blue) plot(lower, color=blue) // signal buy = src > upper sell = src < lower // bar color bcolor = buy ? lime : red barcolor(color=bcolor) // trade if (buy) strategy.entry("long", strategy.long) if (sell) strategy.close("long")