Estrategia de negociación cuantitativa cruzada de la EMA de varios períodos

El autor:¿ Qué pasa?, Fecha: 2023-12-27 17:09:23
Las etiquetas:

img

Resumen general

Este artículo presenta una estrategia de negociación cuantitativa basada en los puntos de cruce de las medias móviles exponenciales (EMA) durante tres períodos diferentes.

Principio de la estrategia

La estrategia emplea EMA de tres períodos diferentes: 10 días, 100 días y 200 días. Las señales de compra o venta se generan en función de la dirección del cruce cuando la EMA de corto período (10 días) cruza las EMA de largo período (100 días o 200 días).

Análisis de las ventajas

La fuerza de esta estrategia radica en su simplicidad y alta adaptabilidad. Las EMA de varios períodos proporcionan una visión multidimensional de las tendencias del mercado, aumentando la precisión de las decisiones comerciales. Además, el filtro de tiempo evita la inestabilidad durante períodos específicos del mercado, reduciendo los riesgos potenciales.

Análisis de riesgos

A pesar de su eficacia, la estrategia conlleva ciertos riesgos. El riesgo principal es la volatilidad del mercado debido a eventos imprevistos, que pueden conducir al fracaso de la estrategia. Además, las EMA pueden estar rezagadas, retrasando el reflejo de los cambios del mercado. Los métodos para mitigar estos riesgos incluyen el monitoreo del mercado en tiempo real y la combinación de otros indicadores técnicos para mejorar la precisión de la decisión.

Dirección de optimización

Las direcciones de optimización de la estrategia incluyen el uso integrado de varios indicadores técnicos, como el índice de fuerza relativa (RSI) y las bandas de Bollinger, para profundizar y ampliar el análisis del mercado.

Conclusión

En general, este

La estrategia de negociación cuantitativa cruzada de EMA multiperíodo es una herramienta efectiva que puede ayudar a los operadores a tomar mejores decisiones en un mercado volátil.


/*backtest
start: 2022-12-20 00:00:00
end: 2023-12-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
start = timestamp(2023,1,1,0,0)
end = timestamp(2024,1,1,0,0)
strategy("Tester Emas", overlay = true)

periodo1 = input(10,"Periodo_1")
periodo2 = input(100,"Periodo_2")
periodo3 = input(200,"Periodo_3")

//definir media moviles
ema1 = ta.ema(close,periodo1)
ema2 = ta.ema(close,periodo2)
ema3 = ta.ema(close,periodo3)

//Desde
desde_a = input(2000, title = "Desde año")
desde_m = input.int(   1, title = "Desde mes", minval=1, maxval = 12)
desde_d = input.int(   1, title = "Desde dia", minval=1, maxval = 31)

//Hasta
hasta_a = input(2030, title = "Hasta año")
hasta_m = input.int(   1, title = "Hasta mes", minval=1, maxval = 12)
hasta_d = input.int(   1, title = "Hasta dia", minval=1, maxval = 31)

FechaValida() => true

//Condicion de entradas
longCondition = ta.crossover(ema1, ema2)
shortCondition = ta.crossunder(ema1,ema2)

alcista = (ema1 > ema2) and (ema2 > ema3)
comprado =strategy.position_size > 0



//Comprar o vender segun las condiciones de entradas

//if (longCondition)
if (not comprado and alcista and FechaValida())
    // Round redondea mi capital para comprar las acciones en cantidades enteras
    cantidad = math.round(strategy.equity/ close)
    strategy.entry("Compra", strategy.long, cantidad)
//if (shortCondition)
if (comprado and not alcista and FechaValida())
    //strategy.entry("Venta", strategy.short)
    strategy.close("Compra" , comment = "Venta")

if (comprado and not FechaValida())
    //Cierre x finalizacion de periodo
    //strategy.entry("Venta", strategy.short)
    strategy.close("Compra" , comment = "Venta x fin")

//Graficar las medias moviles
plot(ema1, color = color.green, title = "Ema1")
plot(ema2, color = color.yellow, title = "Ema2")
plot(ema3, color = color.red, title = "Ema2")
//GMarca los cruces de medias
bgcolor(longCondition ? color.green : na)
bgcolor(shortCondition ? color.red : na)

Más.