Estrategia de negociación de tendencia cruzada y pendiente de la EMA

El autor:¿ Qué pasa?, Fecha: 2023-09-20 14:32:22
Las etiquetas:

Resumen general

Esta estrategia utiliza la dirección de la pendiente y las relaciones cruzadas entre múltiples EMA para determinar la dirección de la tendencia, para el comercio de tendencia sin parar.

Estrategia lógica

  1. Calcular 3 grupos de EMA: EMA rápidas, medianas y lentas.

  2. Cuando la EMA rápida cruza por encima de la EMA media y la pendiente de la EMA media se vuelve positiva, se genera una señal larga.

  3. Cuando la EMA rápida cruza por debajo de la EMA media y la pendiente de la EMA media se vuelve negativa, se genera una señal corta.

  4. Ir largo cuando el precio cruza por encima de la EMA lenta, y corto cuando el precio cruza por debajo de la EMA lenta.

  5. Las relaciones de pendiente de la EMA reflejan los cambios de tendencia.

Análisis de ventajas

  1. Las múltiples EMA mejoran la precisión en el juicio de tendencias.

  2. Las EMA rápidas, medianas y lentas distinguen razonablemente entre tendencia y consolidación.

  3. Los cambios en la pendiente de la EMA dan indicios tempranos de cambios de tendencia.

  4. Los cruces de precios se confirman aún más para evitar falsas rupturas.

  5. Mantener siempre una posición captura completamente las oportunidades de tendencia.

Análisis de riesgos

  1. El hecho de confiar únicamente en las EMA conlleva grandes riesgos de posición durante los períodos de rango.

  2. Los parámetros incorrectos de la EMA pueden perder puntos de inflexión.

  3. La imposibilidad de determinar la fuerza de la tendencia, corre el riesgo de entradas invertidas prematuras.

  4. No hay un control efectivo de pérdidas comerciales.

Direcciones de mejora

  1. Prueba diferentes combinaciones de EMA para encontrar los parámetros óptimos.

  2. Agregue otros indicadores como el MACD para determinar la fortaleza.

  3. Añadir mecanismos de stop loss para el control de riesgos.

  4. Evaluar la fuerza de la tendencia para evitar entradas invertidas prematuras.

  5. Optimizar el tamaño de las posiciones para la gestión de capital.

  6. Deje temporalmente de operar cuando la tendencia se vuelve inestable.

Resumen de las actividades

La estrategia utiliza combos de EMA para determinar la tendencia. Pero la dependencia exclusiva de EMA tiene limitaciones, dejando un gran espacio de optimización para incorporar más indicadores. También se necesitan mecanismos de control de riesgos para mejorar la estabilidad. En general, el marco está diseñado científicamente y tiene el potencial de convertirse en una estrategia de trading de tendencia fuerte después de mejoras continuas.


/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 6h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("EMA Slope + EMA Cross Strategy (by ChartArt)", shorttitle="CA_-_EMA_slope_cross", overlay=true)

// ChartArt's EMA Slope + EMA Cross Strategy
//
// Version 1.0
// Idea by ChartArt on March 10, 2018.
//
// This strategy uses divergences between
// three moving averages and their slope
// directions as well as crosses between
// the price and the moving averages
// to switch between long/short positions.
//
// The strategy is non-stop in the market
// and always either long or short.
// 
// In addition the moving averages are colored
// depending if they are trending up or down.
//
// List of my work: 
// https://www.tradingview.com/u/ChartArt/

// Input
price = input(close)
MA1_Length = input(2,step=1, title="EMA 1 Length")
MA2_Length = input(4,step=1, title="EMA 2 Length")
MA3_Length = input(20,step=1, title="EMA 3 Length")

switch1=input(true, title="Show Bar Color?")
switch2=input(true, title="Show Moving Averages?")

// Calculation
MA1 = ema(price, MA1_Length)
MA2 = ema(price, MA2_Length)
MA3 = ema(price, MA3_Length)

// Strategy
long = crossunder(price, MA3) or ( change(price)<0 and change(MA1)<0 and crossunder(price,MA1) and change(MA2)>0 )
short = crossover(price, MA3) or ( change(price)>0 and change(MA1)>0 and crossover(price,MA1)  and change(MA2)<0 ) 

if long
    strategy.entry("Long", strategy.long, comment="Long")

if short
    strategy.entry("Short", strategy.short, comment="Short")

// Strategy Alert
alertcondition(long, title='EMA Slope + EMA Cross Strategy, Long Alert', message='Go Long!')
alertcondition(short, title='EMA Slope + EMA Cross Strategy, Short Alert', message='Go Short!')

// MA trend bar color
up =  change(MA2)>0 and change(MA3)>0
dn =  change(MA2)<0 and change(MA3)<0
bar_color = up?green:dn?red:blue
barcolor(switch1?bar_color:na)

// MA trend output color
MA2_color = change(MA2)>0?lime:change(MA2)<0?red:blue
MA3_color = change(MA3)>0?lime:change(MA3)<0?red:blue

// MA output
EMA2 = plot(switch2?MA2:na, title="EMA 2", style=linebr, linewidth=2, color=MA2_color)
EMA3 = plot(switch2?MA3:na, title="EMA 3", style=linebr, linewidth=4, color=MA3_color)
fill(EMA2, EMA3, color=silver, transp=50)

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Más.