Estrategia de avance de la EMA de la Cruz de Oro rápida y lenta

El autor:¿ Qué pasa?, Fecha: 2023-12-01 18:02:24
Las etiquetas:

img

Resumen general

La estrategia de avance de cruce de oro de la EMA rápida y lenta es una estrategia simple y efectiva para rastrear las tendencias del mercado. Utiliza cruces de EMA de diferentes ciclos para generar señales de compra y venta. La idea básica es: cuando la EMA de ciclo corto cruza por encima de la EMA de ciclo más largo, se genera una señal de compra; cuando la EMA de ciclo corto cruza por debajo de la EMA de ciclo más largo, se genera una señal de venta.

Principio de la estrategia

La estrategia se basa principalmente en la comparación de EMA de 5 ciclos, 8 ciclos y 13 ciclos para generar señales de negociación.

  1. Calcular la EMA de 5 ciclos, la EMA de 8 ciclos y la EMA de 13 ciclos.
  2. Cuando la EMA de 5 ciclos se cruza por encima de la EMA de 8 ciclos y la EMA de 13 ciclos, se genera una señal de compra.
  3. Cuando la EMA de 5 ciclos se cruza por debajo de la EMA de 8 ciclos y la EMA de 13 ciclos, se genera una señal de venta.
  4. Al mismo tiempo, combinar el indicador ADX para determinar la fuerza de la tendencia, solo cuando la tendencia sea lo suficientemente fuerte como para generar señales.

Cuando la media móvil de ciclo corto cruza por encima de la media móvil de ciclo largo, significa que la tendencia a corto plazo se ha vuelto alcista y se puede comprar; cuando la media móvil de ciclo corto cruza por debajo de la media móvil de ciclo largo, significa que la tendencia a corto plazo se ha vuelto bajista y debe venderse.

Análisis de ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. Operación simple, fácil de implementar.
  2. Aprovechar al máximo el efecto suavizador de la EMA para realizar un seguimiento eficaz de las tendencias.
  3. Las combinaciones de EMA múltiples implementan el cruce para evitar señales falsas.
  4. Combinado con el indicador ADX, la señal es más confiable.
  5. Relativamente baja utilización y disminución máxima.

Análisis de riesgos

Esta estrategia también presenta algunos riesgos:

  1. El stop loss puede ser mayor cuando la tendencia se invierte bruscamente.
  2. Los parámetros de la EMA pueden ajustarse adecuadamente para reducir la frecuencia de las operaciones.

Dirección de optimización

La estrategia se puede optimizar en los siguientes aspectos:

  1. Optimizar los parámetros de EMA para encontrar la mejor combinación de parámetros.
  2. Añadir otros indicadores para filtrar, como KDJ, BOLL, etc., para mejorar la calidad de la señal.
  3. Ajustar la gestión de posiciones para optimizar el control de riesgos.
  4. Utilice métodos de aprendizaje automático para encontrar mejores reglas de entrada y salida.

Resumen de las actividades

En resumen, el funcionamiento de la estrategia de ruptura de la cruz dorada rápida y lenta de la EMA es suave, las señales son más confiables, el descenso no es alto y es adecuado para rastrear tendencias a mediano y largo plazo.


/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-30 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// 
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gregoirejohnb
// @It is modified by ttsaadet.
// Moving average crossover systems measure drift in the market. They are great strategies for time-limited people.
// So, why don't more people use them?
// 

//
strategy(title="EMA Crossover Strategy by TTS", shorttitle="EMA-5-8-13 COS by TTS", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, currency=currency.TRY,commission_type=strategy.commission.percent,commission_value=0.04, process_orders_on_close = true, initial_capital = 100000)

// === GENERAL INPUTS ===
//strategy start date
start_year = input(defval=2020, title="Backtest Start Year")

// === LOGIC ===
short_period = input(type=input.integer,defval=5,minval=1,title="Length")
mid_period = input(type=input.integer,defval=8,minval=1,title="Length")
long_period = input(type=input.integer,defval=13,minval=1,title="Length")
rsi_period = input(type=input.integer,defval=14,minval=1,title="Length")
longOnly = input(type=input.bool,defval=false,title="Long Only")
shortEma = ema(close,short_period)
midEma = ema(close,mid_period)
longEma = ema(close,long_period)

rsi = rsi(close, rsi_period)

[diplus, diminus, adx] = dmi(short_period, short_period)
plot(shortEma,linewidth=2,color=color.red,title="Fast")
plot(midEma,linewidth=2,color=color.orange,title="Fast")
plot(longEma,linewidth=2,color=color.blue,title="Slow")

longEntry = crossover(shortEma,midEma) and crossover(shortEma,longEma) //or ((shortEma > longEma) and crossover(shortEma,midEma)))and (adx > 25)
shortEntry =((shortEma < midEma) and crossunder(shortEma,longEma)) or ((shortEma < longEma) and crossunder(shortEma,midEma))

plotshape(longEntry ? close : na,style=shape.triangleup,color=color.green,location=location.belowbar,size=size.small,title="Long Triangle")
plotshape(shortEntry and not longOnly ? close : na,style=shape.triangledown,color=color.red,location=location.abovebar,size=size.small,title="Short Triangle")
plotshape(shortEntry and longOnly ? close : na,style=shape.xcross,color=color.black,location=location.abovebar,size=size.small,title="Exit Sign")

// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() =>
    longEntry and 
       time > timestamp(start_year, 1, 1, 01, 01)
exitLong() =>
    crossunder(shortEma,longEma) or crossunder(close, longEma)

strategy.entry(id="Long", long=strategy.long, when=enterLong())
strategy.close(id="Long", when=exitLong())


// === STRATEGY - SHORT POSITION EXECUTION ===

enterShort() =>
    not longOnly and shortEntry and 
       time > timestamp(start_year, 1, 1, 01, 01)
exitShort() =>
    crossover(shortEma,longEma)

strategy.entry(id="Short", long=strategy.short, when=enterShort())
strategy.close(id="Short", when=exitShort())

Más.