
La estrategia de seguimiento de la tendencia de los tres EMA se realiza mediante el cálculo de la línea media de EMA de los diferentes períodos, para determinar la dirección de la tendencia de los precios. La estrategia es simple y fácil de implementar y tiene un efecto notable en las variedades en las que la tendencia es evidente.
La estrategia calcula el promedio de tres EMAs de diferentes períodos, es decir, EMAs de 10 períodos, 20 períodos y 30 períodos. En el código se calcula el promedio de tres EMAs a través de la función ema.
La estrategia determina principalmente la dirección de las tres líneas medias. Si las tres líneas medias suben al mismo tiempo, se genera una señal de aumento; si las tres líneas medias bajan al mismo tiempo, se genera una señal de descenso.
La lógica de determinación específica de las señales de más y menos es que si ema1, ema2 y ema3 suben al mismo tiempo en la última línea K, ent_long es verdadero y produce una señal de más. Si ema1, ema2 y ema3 bajan al mismo tiempo en la última línea K, ent_short es verdadero y produce una señal de menos.
De acuerdo con las señales de compra y venta, la estrategia establece las posiciones de compra y venta correspondientes. La lógica de liquidación contrasta con la señal de entrada, si la línea K actual de ema1, ema2 y ema3 no sube al mismo tiempo, entonces exit_long es verdadero y se apaga como una posición de compra y venta. Si la línea K actual de ema1, ema2 y ema3 no baja al mismo tiempo, entonces exit_short es verdadero y se apaga como una posición de venta.
De esta manera, se puede determinar la tendencia general de los precios mediante la determinación de la consistencia de la dirección de las tres líneas medias EMA, lo que permite el seguimiento de tendencias.
El uso de tres líneas medias de EMA permite determinar con mayor precisión la dirección de la tendencia. En comparación con una sola línea media, las tres líneas medias son más fiables para determinar la tendencia y tienen una menor probabilidad de señales erróneas.
La EMA es más sensible a los cambios en los precios y puede reflejar el cambio de tendencia a tiempo. En comparación con otras medias como la SMA, la EMA es más adecuada para determinar la dirección de la tendencia.
El uso combinado de diferentes periodos de EMA permite tomar en cuenta las tendencias a corto y mediano plazo. El EMA de 10 períodos determina las tendencias a corto plazo, el EMA de 20 períodos y el EMA de 30 períodos determina las tendencias a mediano y largo plazo.
La implementación de la estrategia es simple, fácil de entender, adecuada para el aprendizaje de los principiantes. Además, el espacio para optimizar los parámetros es amplio y se pueden ajustar los parámetros para diferentes variedades.
La estrategia se basa en el funcionamiento en línea de la EMA, con un bajo consumo de recursos, adecuado para grandes cantidades y distribución.
La concordancia de las tres EMA en la dirección de la línea media es una condición necesaria pero no suficiente para juzgar la tendencia. Cuando la dirección de la línea media de la EMA se rompe, se produce una señal errónea.
Cuando se produce un cambio de tendencia, el EMA promedio se cruza con retraso y no puede reflejar el punto de cambio de tendencia a tiempo, lo que puede causar pérdidas.
La EMA es sensible a los cambios en los precios, y cuando las conversiones de más y de menos capitales son frecuentes, abre posiciones cerradas con frecuencia, lo que aumenta los gastos de transacción.
En un mercado con una gran volatilidad, la EMA promedio cambia de dirección varias veces y no puede determinar con precisión la tendencia, lo que hace que la estrategia no funcione bien.
Se puede ampliar adecuadamente la brecha de los tres períodos de la línea media de la EMA para reducir la probabilidad de señales falsas. O se pueden agregar otros indicadores para filtrar falsas rupturas.
Se puede combinar con indicadores cuantitativos como la confirmación de tendencias, la identificación de puntos de inflexión de tendencias y la reducción de pérdidas. También se puede relajar adecuadamente el punto de parada.
Se pueden aumentar los parámetros de EMA, reducir la frecuencia de apertura de posiciones cerradas, o utilizar otros indicadores de línea media en su lugar.
Una vez identificado un mercado convulso, se puede suspender la estrategia para evitar una negociación no válida.
Optimización del ciclo: ajustar los parámetros del ciclo de los tres EMA para adaptarlos a las características de las diferentes variedades.
Condiciones de filtración: añadir indicadores como MA, BOLL, etc., para evitar falsas rupturas de EMA.
Estrategias de detención de pérdidas: trailing stop para rastrear las pérdidas y proteger los beneficios.
Gestión de fondos: optimización de la gestión de posiciones y reducción del impacto de las pérdidas individuales en el total.
Determinación de la situación del mercado: determinación del grado de oscilación del mercado según indicadores como la volatilidad y la participación en la estrategia de control.
Adaptación de parámetros: permite que los parámetros del ciclo EMA se optimicen automáticamente según los cambios en el mercado, mejorando la robustez de la estrategia.
Las tres estrategias de seguimiento de tendencias de la EMA para determinar la tendencia del precio a través de la dirección de la línea media de la EMA, para realizar operaciones de seguimiento automático de tendencias. La estrategia es sencilla y práctica, tiene un gran espacio para ajustar los parámetros y se puede optimizar para las características de la variedad.
/*backtest
start: 2023-10-10 00:00:00
end: 2023-11-09 00:00:00
period: 1d
basePeriod: 1h
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/
// © QuantCT
//@version=4
strategy("PMA Strategy Idea",
shorttitle="PMA",
overlay=true,
pyramiding=0,
default_qty_type=strategy.percent_of_equity,
default_qty_value=100,
initial_capital=1000,
commission_type=strategy.commission.percent,
commission_value=0.075)
// ____ Inputs
ema1_period = input(title="EMA1 Period", defval=10)
ema2_period = input(title="EMA2 Period", defval=20)
ema3_period = input(title="EMA3 Period", defval=30)
long_only = input(title="Long Only", defval=false)
slp = input(title="Stop-loss (%)", minval=1.0, maxval=25.0, defval=5.0)
use_sl = input(title="Use Stop-Loss", defval=false)
// ____ Logic
ema1 = ema(hlc3, ema1_period)
ema2 = ema(hlc3, ema2_period)
ema3 = ema(hlc3, ema3_period)
enter_long = (rising(ema1, 1) and rising(ema2, 1) and rising(ema3, 1))
exit_long = not enter_long
enter_short = (falling(ema1, 1) and falling(ema2, 1) and falling(ema3, 1))
exit_short = not enter_short
strategy.entry("Long", strategy.long, when=enter_long)
strategy.close("Long", when=exit_long)
if (not long_only)
strategy.entry("Short", strategy.short, when=enter_short)
strategy.close("Short", when=exit_short)
// ____ SL
sl_long = strategy.position_avg_price * (1- (slp/100))
sl_short = strategy.position_avg_price * (1 + (slp/100))
if (use_sl)
strategy.exit(id="SL", from_entry="Long", stop=sl_long)
strategy.exit(id="SL", from_entry="Short", stop=sl_short)
// ____ Plots
colors =
enter_long ? #27D600 :
enter_short ? #E30202 :
color.orange
ema1_plot = plot(ema1, color=colors)
ema2_plot = plot(ema2, color=colors)
ema3_plot = plot(ema3, color=colors)
fill(ema1_plot, ema3_plot, color=colors, transp=50)