
Esta estrategia es una estrategia de seguimiento de tendencias basada en el cruce de movimiento de la EMA 34 como señal de entrada. Combina al mismo tiempo la señal de ruptura de la línea de movimiento de la EMA y el cruce de oro de la línea de equilibrio de la EMA 34 para generar una señal de negociación.
La estrategia primero calcula el promedio de 34 períodos de EMA de cerca, alto y bajo, denominados emaClose, emaHigh y emaLow respectivamente. Luego genera señales de compra y venta en función de si el precio supera el emaHigh y el emaLow.
En concreto, cuando el precio de cierre es superior a emaHigh, se genera una señal de compra; cuando el precio de cierre es inferior a emaLow, se genera una señal de venta. Una vez que se genera la señal, se ingresa con el precio de cierre en ese momento y se establece el stop loss en 100 puntos y el stop loss en 50 puntos.
De esta manera, la estrategia utiliza el indicador de dinámica de la EMA 34 para capturar las tendencias del mercado y lograr un seguimiento de tendencias.
La mayor ventaja de esta estrategia es que combina al mismo tiempo la señal de cruce de oro de la línea de paridad y la señal de ruptura del precio, lo que hace que el punto de entrada sea más preciso y pueda filtrar eficazmente las señales falsas. Además, la EMA, como una herramienta de seguimiento de tendencias, puede ayudar a la estrategia a capturar las tendencias del mercado a tiempo y lograr operaciones de seguimiento de tendencias.
El principal riesgo de esta estrategia reside en que es fácil generar pérdidas continuas múltiples. La estrategia puede reducir las pérdidas de posición con frecuencia cuando se inicia una nueva tendencia alcista después de una breve sacudida de ajuste en el mercado. Además, como estrategia de seguimiento de tendencias, no puede obtener una buena ganancia en el ajuste de la situación.
Se puede optimizar y mejorar la probabilidad de éxito de la estrategia ajustando los puntos de parada o añadiendo otros indicadores.
La estrategia puede ser optimizada en las siguientes direcciones:
Se añaden filtros de otros indicadores, como la inclusión de indicadores de volumen de transacciones, para evitar que se encuentre en una brecha falsa.
Optimización de los parámetros del ciclo EMA, ajustándolos a los más adecuados para la variedad.
La adopción de un mecanismo similar al de los salidas de ganancias y pérdidas, en lugar de un simple punto de parada de pérdidas, puede mejorar la estabilidad de la estrategia.
Aumentar el filtrado de la liquidez y evitar los momentos de mala liquidez de las transacciones puede reducir la pérdida de puntos de deslizamiento.
Esta estrategia tiene una gran utilidad como estrategia de seguimiento de tendencias basada en el indicador de la dinámica de la EMA. Al mismo tiempo, combina la señal de ruptura de precios y la señal de cruce dorado de la EMA, para descubrir de manera efectiva la dirección de la nueva tendencia.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA 34 Crossover Strategy_4", overlay=true)
length = 34
exitPoints = 50
emaClose = ta.ema(close, length)
emaHigh = ta.ema(high, length)
emaLow = ta.ema(low, length)
var float[] entryPrices = array.new_float()
var float[] exitLevels = array.new_float()
// Long entry condition: Price crosses above EMA 34 high
enterLong = ta.crossover(close, emaHigh)
// Short entry condition: Price crosses below EMA 34 low
enterShort = ta.crossunder(close, emaLow)
// Exit condition for both long and short trades
exitLong = array.size(entryPrices) > 0 ? close >= array.get(entryPrices, array.size(entryPrices) - 1) + exitPoints : false
exitShort = array.size(entryPrices) > 0 ? close <= array.get(entryPrices, array.size(entryPrices) - 1) - exitPoints : false
if (enterLong)
array.push(entryPrices, close)
array.push(exitLevels, close + exitPoints)
strategy.entry("Buy", strategy.long)
if (enterShort)
array.push(entryPrices, close)
array.push(exitLevels, close - exitPoints)
strategy.entry("Sell", strategy.short)
if (exitLong)
strategy.close("Buy")
if (exitShort)
strategy.close("Sell")
plot(emaClose, color=color.blue, title="EMA 34 Close")
plot(emaHigh, color=color.red, title="EMA 34 High")
plot(emaLow, color=color.green, title="EMA 34 Low")