Tendencia de la EMA triple siguiendo la estrategia

El autor:¿ Qué pasa?, Fecha: 2023-12-20 15:00:44
Las etiquetas:

img

Resumen general

La estrategia de seguimiento de tendencias de la EMA triple es una estrategia muy adecuada para seguir las tendencias del mercado. Utiliza tres EMA de diferentes períodos como señales de negociación para establecer posiciones largas o cortas cuando hay suficiente confirmación de tendencia.

La ventaja de esta estrategia es que puede reducir las señales falsas y garantizar una fuerza de tendencia suficiente antes de ingresar a una posición.

Estrategia lógica

Lógico de entrada

La lógica específica es que cuando el precio cruza por encima de los tres EMA al mismo tiempo, vaya largo; cuando el precio cruza por debajo de los tres EMA al mismo tiempo, vaya corto.

Este diseño puede reducir las señales falsas y garantizar que la tendencia sea lo suficientemente clara antes de entrar.

Método de pérdida de parada

La estrategia utiliza un sistema de stop loss adaptativo basado en ATR y drawdown máximo. Calcula la volatilidad de precios en tiempo real y establece líneas de stop loss en consecuencia.

Durante una tendencia alcista, la línea de stop loss se moverá hacia arriba con nuevos máximos, con un buen efecto de persecución. Cuando el precio vuelve a caer al punto más bajo de la zona de amortiguamiento, la línea de stop loss se activará para cerrar posiciones. Esto puede controlar el riesgo de stop loss según las condiciones del mercado.

Método de obtención de beneficios

La estrategia utiliza un método de toma de ganancias de porcentaje fijo. Después de abrir una posición, una línea de toma de ganancias se establecerá en un cierto porcentaje por encima del precio de entrada. Cuando el precio sube a la línea de toma de ganancias, la posición se cerrará para tomar ganancias.

El beneficio de este porcentaje fijo de ganancia es que permite predefinir un nivel de ganancia objetivo que satisfará la salida una vez alcanzada. También evita el riesgo de que los precios vuelvan a caer. El porcentaje de ganancia puede ajustarse según sea necesario.

Análisis de ventajas

  • Puede reducir las señales falsas y garantizar una tendencia de precios relativamente fuerte después de abrir posiciones
  • Utilizar la superposición de los períodos de EMA para captar rápidamente las tendencias del mercado
  • El sistema de stop loss adaptativo puede controlar el riesgo basado en la volatilidad
  • El porcentaje de ganancia fijo satisface el objetivo de ganancia antes de salir
  • Método de stop loss basado en ATR y extracción máxima puede optimizarse en función de las condiciones del mercado
  • Fácil de ajustar el estilo de la estrategia cambiando los parámetros

Análisis de riesgos

  • En los mercados variados, las EMA pueden producir cruces frecuentes, quedando fácilmente atrapadas.
  • Los beneficios fijos no pueden ajustarse en función de las condiciones del mercado, pueden perder mayores beneficios o aumentar las pérdidas.
  • Después de detener el seguimiento del stop loss, incapaz de seguir nuevos máximos de nuevo, las caídas de precios pueden aumentar las pérdidas
  • En tendencias explosivas unilaterales, el porcentaje de ganancia fijo puede ser demasiado conservador, no puede obtener suficientes ganancias

Puede evitar la apertura ciega de posiciones en mercados volátiles mediante la combinación con indicadores de juicio de tendencia; también puede utilizar métodos de movimiento de la tasa de ganancias o ganancias para hacer que los métodos de ganancias sean más flexibles.

Direcciones de optimización

La estrategia también puede optimizarse en los siguientes aspectos:

  1. Utilice más indicadores para determinar el momento de entrada, como MACD, KD, etc., para evitar quedar atrapado en mercados volátiles.

  2. Trate de mover tomar el beneficio, o la relación de beneficios tomar los métodos de beneficio, para hacer que los métodos de tomar el beneficio más flexible.

  3. Añadir un mecanismo de seguimiento descendente al método de stop loss, lo que permite rastrear los puntos más bajos de nuevo cuando el precio cae de nuevo, controlando así el riesgo.

  4. Ajustar los parámetros de los períodos de EMA basados en las características de los diferentes productos, optimizando el juicio de la tendencia.

  5. Añadir módulo de tamaño de posición, puede ajustar por el tamaño de la operación en función de la relación de uso de los fondos.

Conclusión

La estrategia de seguimiento de tendencias triple EMA es una estrategia muy práctica de seguimiento de tendencias. Tiene fuertes capacidades de juicio de tendencias, al tiempo que también tiene mecanismos de toma de ganancias y stop loss adaptativos que pueden administrar automáticamente los pedidos. Desde la perspectiva de optimización, los sistemas de toma de ganancias y stop loss se pueden mejorar aún más para ajustarse en función de las condiciones del mercado en tiempo real. Pero en general, esta estrategia es una opción de riesgo fácil de implementar y controlable.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-06-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(shorttitle='Three EMAs Trend-following Strategy',title='Three EMAs Trend-following Strategy (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.1)


//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false       // create function "within window of time"

ema_1 = ema(close, input(7))
ema_2 = ema(close, input(12))
ema_3 = ema(close, input(21))

Take_profit= ((input (4))/100)

longTakeProfit = strategy.position_avg_price * (1 + Take_profit)


length = input(20, "Length", minval = 2)
src = input(close, "Source")
factor = input(3.0, "Multiplier", minval = 0.25, step = 0.25)
volStop(src, atrlen, atrfactor) =>
    var max     = src
    var min     = src
    var uptrend = true
    var stop    = 0.0
    atrM        = nz(atr(atrlen) * atrfactor, tr)
    max         := max(max, src)
    min         := min(min, src)
    stop        := nz(uptrend ? max(stop, max - atrM) : min(stop, min + atrM), src)
    uptrend     := src - stop >= 0.0
    if uptrend != nz(uptrend[1], true)
        max    := src
        min    := src
        stop   := uptrend ? max - atrM : min + atrM
    [stop, uptrend]

[vStop, uptrend] = volStop(src, length, factor)

go_long = crossover(close, ema_1) and crossover(close, ema_2) and crossover(close, ema_3)



closeLong = close > longTakeProfit or crossunder(close, vStop)



//Entry 
strategy.entry(id="long", long = true, when = go_long and window())



//Exit
strategy.close("long", when = closeLong and window())

plot(vStop,"Vstop", color.black, linewidth=2)
plot(ema_1,"EMA Short", color.green, linewidth=1)
plot(ema_2,"EMA Mid", color.purple, linewidth=1)
plot(ema_3,"EMA Long", color.red, linewidth=1)



Más.