Estrategia de trading cuantitativo de cruce de EMA de múltiples períodos


Fecha de creación: 2023-12-27 17:09:23 Última modificación: 2023-12-27 17:09:23
Copiar: 0 Número de Visitas: 640
1
Seguir
1619
Seguidores

Estrategia de trading cuantitativo de cruce de EMA de múltiples períodos

Descripción general

Este artículo presenta una estrategia de negociación cuantitativa basada en la intersección de tres diferentes períodos. La estrategia tiene como objetivo utilizar la intersección de la EMA para identificar tendencias a largo y corto plazo en el mercado de valores y tomar decisiones de negociación efectivas.

Principio de estrategia

La estrategia utiliza tres diferentes períodos de EMA: 10 días, 100 días y 200 días. Cuando el corto período de EMA (10 días) atraviesa el largo período de EMA (100 días o 200 días), genera una señal de compra o venta según la dirección de la travesía. La estrategia también combina un filtro de tiempo para garantizar que solo se negocie en un período de tiempo específico.

Análisis de las ventajas

La ventaja de esta estrategia reside en su simplicidad y alta adaptabilidad. El EMA multi-periódico ofrece una observación multi-ángulo de las tendencias del mercado, lo que aumenta la precisión de las decisiones de negociación. Al mismo tiempo, el filtro de tiempo evita la inestabilidad en un período específico del mercado y reduce el riesgo potencial.

Análisis de riesgos

A pesar de la eficacia de esta estrategia, existen ciertos riesgos. El principal riesgo es que los eventos inesperados en el mercado pueden conducir al fracaso de la estrategia. Además, los indicadores EMA pueden tener un retraso y un retraso en reflejar los cambios en el mercado. Los métodos para abordar estos riesgos incluyen la supervisión del mercado en tiempo real y la combinación de otros indicadores técnicos para mejorar la precisión de las decisiones.

Dirección de optimización

La dirección de optimización de la estrategia incluye el uso integrado de varios indicadores técnicos, como el índice de fuerza relativa (RSI) y las bandas de Brin, para aumentar la profundidad y la amplitud del análisis del mercado. Además, se puede adaptar mejor a las diferentes condiciones del mercado ajustando el ciclo EMA.

Resumir

En general, esta estrategia de comercio cuantificado de EMA de múltiples períodos es una herramienta eficiente que puede ayudar a los comerciantes a tomar mejores decisiones en mercados cambiantes. Al optimizar y adaptarse constantemente a los cambios en el mercado, esta estrategia tiene el potencial de generar mayores ganancias en operaciones futuras.

Código Fuente de la Estrategia
/*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)