Estrategia de la EMA de múltiples indicadores

El autor:¿ Qué pasa?, Fecha: 2023-09-28 15:57:34
Las etiquetas:

Resumen general

La Estrategia EMA de múltiples indicadores es una estrategia de seguimiento de tendencias que incorpora múltiples indicadores como EMA, MACD, Oscilador, RSI, Estocástico, Bandas de Bollinger para generar señales comerciales.

Estrategia lógica

La estrategia calcula en primer lugar los siguientes indicadores:

  • EMA: promedio móvil exponencial durante un cierto período.

  • Las líneas MACD DIF y DEA.

  • Oscilador: Diferencia entre el cierre y la apertura durante un período.

  • RSI: Índice de fuerza relativa durante un período.

  • Estocástico: valores estocásticos K y D con parámetros.

  • Bandas de Bollinger: Bandas superiores, medias e inferiores durante un período.

A continuación, a cada indicador se le asigna un valor basado en su estado actual. Por ejemplo, el Estocástico por debajo de 20 se le asigna 2, el RSI por encima de 80 se le asigna -2.

Los valores del indicador se suman para derivar un disparador de señal compuesto. Si el disparador >= 7, se genera una señal larga. Si el disparador <= -7, se genera una señal corta.

Al combinar señales de múltiples indicadores, la estrategia puede determinar con mayor precisión la dirección de la tendencia y generar señales comerciales confiables.

Análisis de ventajas

La principal ventaja de esta estrategia de múltiples indicadores es que combina puntos fuertes de múltiples indicadores para una evaluación más completa y precisa, evitando señales falsas de indicadores individuales.

En concreto, las ventajas son:

  1. La combinación de múltiples indicadores proporciona una determinación de tendencia más confiable. Los indicadores individuales pueden dar señales engañosas, mientras que varios indicadores pueden verificarse entre sí y reducir los errores.

  2. Los diferentes indicadores pueden identificar diferentes etapas de una tendencia en función de sus características. Por ejemplo, MACD para el inicio de la tendencia, RSI para el estado de sobrecompra / sobreventa.

  3. Los indicadores con diferentes parámetros pueden capturar características en diferentes marcos de tiempo, por ejemplo, períodos de EMA rápidos y lentos.

  4. Las ponderaciones de cada indicador pueden ser personalizadas.

  5. La mezcla de indicadores y los pesos se pueden optimizar mediante pruebas de retroceso para un mejor rendimiento.

Análisis de riesgos

A pesar del uso de múltiples indicadores, existen algunos riesgos:

  1. La combinación incorrecta de indicadores puede no aprovechar las fortalezas o causar conflictos.

  2. La distribución irracional del peso puede representar inexactamente la importancia del indicador.

  3. Un conjunto de parámetros único puede causar un sobreajuste. Se debe utilizar la validación de marcos de tiempo múltiples.

  4. Las ponderaciones/parámetros de los indicadores estáticos no pueden adaptarse a las condiciones cambiantes del mercado.

  5. Las señales de los indicadores pueden retrasarse.

  6. La mayor complejidad de la estrategia a partir de múltiples indicadores requiere suficientes datos históricos y una mayor dificultad para ajustar los parámetros.

Oportunidades de mejora

Algunas maneras de mejorar la estrategia:

  1. Prueba más tipos de indicadores para encontrar los más sensibles a las condiciones actuales del mercado.

  2. Optimizar los períodos de indicadores para capturar las tendencias en diferentes plazos.

  3. Optimizar las ponderaciones de los indicadores para representar mejor la importancia relativa.

  4. Añadir ajuste dinámico para optimizar los parámetros y pesos en tiempo real adaptándose a las condiciones cambiantes del mercado.

  5. Incorporar estrategias de stop loss con puntos de stop loss racionales para limitar las pérdidas.

  6. Añadir la validación de marcos de tiempo múltiples para evitar el sobreajuste a un marco de tiempo único.

  7. Emplear la optimización gradual y combinatoria para encontrar combinaciones óptimas de parámetros.

  8. Agregue aprendizaje automático para una ponderación dinámica más inteligente.

  9. Optimizar la lógica de entrada y salida para equilibrar el seguimiento de las tendencias y evitar el exceso de negociación.

Conclusión

La Estrategia EMA de múltiples indicadores aprovecha las fortalezas combinadas de EMA, MACD, RSI y más para determinar la dirección de la tendencia del mercado y generar señales comerciales. En comparación con las estrategias de indicadores únicos, ofrece un análisis de mercado más completo y reduce las señales falsas. Con optimizaciones adicionales como el ajuste de parámetros, se puede adaptar a condiciones complejas de mercado cambiantes. En general, la Estrategia EMA de múltiples indicadores es una estrategia de seguimiento de tendencias altamente efectiva.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ally17

//@version=4
// strategy("ELIA MULTI STRATEGY",overlay=true,initial_capital=1000, default_qty_type=strategy.percent_of_equity, commission_type=strategy.commission.percent, commission_value=0.00, default_qty_value=25)

//INPUT
start = timestamp(input(2021, "start year"), 1, 1, 00, 00)
end = timestamp(input(9999, "end year"), 1, 1, 00, 00)

emalen=input(80, title="Ema Len")
macdfast=input(12, title="Macd Fast Len")
macdslow=input(26, title="Macd Fast Len")
macdsig=input(12, title="Macd Signal Len")
occlen=input(15, title="Occ Len")

rsilen=input(2, title="Rsi Len")
stochklen=input(11, title="Stk K Len")
stochdlen=input(3, title="Stk D Len")
stochlen=input(3, title="Stk Smooth Len")
bblength = input(10, minval=1, title="BB Len")
mult = input(2.0, minval=0.001, maxval=50, title="BB Std Dev")

momlen=input(10, title="Mom Len")


//CALCOLI
var trigger = 0.0

var emavar = 0.0
var macdvar = 0.0
var occvar = 0.0

var rsivar = 0.0
var stochvar = 0.0
var bbvar = 0.0

var donvar =0.0

ema = ema(close,emalen)

[macdLine, signalLine, histLine] = macd(close, 12, 26, 9) // MACD

occ = ema(close,occlen) - ema(open,occlen)

rsi = rsi(close, rsilen) // RSI

stoch = sma(stoch(close, high, low, stochklen), stochlen) // Stoch

basis = sma(close, bblength)
dev = mult * stdev(close, bblength)
upper = basis + dev
lower = basis - dev

moment = mom(close, momlen) // Momentum

Obv = obv // OBV


//PLOT


//STRATEGIA
emavar := (close>ema)? 3 : -3
macdvar := (macdLine>signalLine)? 3 : -3
occvar := (occ>0)? 3 : -3

rsivar := (rsi<20)? 2 : (rsi>50 and rsi<80)? 1 : (rsi>80)? -2 : (rsi<50 and rsi>20)? -1 : 0
stochvar := (stoch<20)? 2 : (stoch>80)? -2 : 0
bbvar :=  (close<lower)? 2 : (close>upper)? -2 : 0

trigger := emavar+macdvar+occvar+rsivar+stochvar+bbvar

longcondition = trigger>=7
closelong = trigger<3

shortcondition = trigger<=-7
closeshort = trigger >-3

trendcolor = longcondition ? color.green : shortcondition? color.red : (trigger>3 and trigger<7)? #A2E1BF : (trigger<-3 and trigger>-7)? #E19997 : na
bgcolor(trendcolor, transp=80)


if time > start and time < end
    if longcondition
        strategy.entry("LONG", long=strategy.long)

if closelong
    strategy.close("LONG", comment="CLOSE LONG")
    
if time > start and time < end
    if shortcondition
        strategy.entry("SHORT", long=strategy.short)

if closeshort
    strategy.close("SHORT", comment="CLOSE SHORT")
    
//plotshape(longcondition, color=color.green, text="L", size=size.small, style=shape.triangledown)
//plotshape(shortcondition, color=color.red, "S"(trigger), size=size.small, style=shape.triangledown)
//plotshape(closelong, color=color.purple, text="LC", size=size.small, style=shape.triangledown)
//plotshape(closeshort, color=color.purple, text="SC", size=size.small, style=shape.triangledown)


Más.