Estrategia EMA de indicadores múltiples


Fecha de creación: 2023-09-28 15:57:34 Última modificación: 2023-09-28 15:57:34
Copiar: 1 Número de Visitas: 495
1
Seguir
1222
Seguidores

Descripción general

La estrategia de EMA de indicadores múltiples es una estrategia de seguimiento de tendencias que utiliza una combinación de varios indicadores, como EMA, MACD, Oscillator, RSI, Stochastic y Bollinger Bands. La estrategia calcula la señal combinada de varios indicadores para determinar si se encuentra en una tendencia alcista o bajista, lo que genera señales de compra y venta.

Principio de estrategia

La estrategia comienza por calcular varios de los siguientes indicadores:

  • EMA: Calcula el promedio móvil del índice de un determinado período.

  • MACD: Calcula las líneas DIF y DEA del indicador MACD.

  • Oscilador: calcula la diferencia entre el precio de cierre y el precio de apertura de un determinado período.

  • RSI: Indicador de la fuerza y debilidad relativa de un ciclo determinado.

  • Stochastic: Calcula los valores de los indicadores aleatorios K y D de ciertos parámetros.

  • Bollinger Bands: Las bandas de Bollinger de un determinado período son las bandas de Bollinger en la vía ascendente, media y baja.

Luego se les asigna diferentes valores según el estado actual de estos indicadores. Por ejemplo, cuando el estocástico es menor que 20, se asigna un valor de 2; cuando el RSI es mayor que 80, se asigna un valor de -2.

Luego se suman los valores de todos los indicadores para calcular un combinado de la señal de la activación. Si la activación es mayor que 7 se genera una señal de compra; si la activación es menor que 7 se genera una señal de venta.

Al calcular señales combinadas de varios indicadores, se puede determinar con mayor precisión la dirección de la tendencia actual, lo que genera señales de negociación más confiables.

Análisis de las ventajas

La mayor ventaja de esta estrategia de múltiples indicadores es que se pueden combinar las ventajas de varios indicadores para un juicio más completo y preciso, evitando las señales erróneas causadas por un solo indicador.

En concreto, las ventajas de esta estrategia se reflejan en:

  1. El uso integrado de varios indicadores ayuda a determinar tendencias de manera más confiable. Un solo indicador puede generar señales engañosas, mientras que múltiples indicadores pueden verificarse entre sí y reducir los errores.

  2. Utiliza las diferentes características de los indicadores para identificar las diferentes etapas de la tendencia. Por ejemplo, el MACD puede identificar el inicio de la tendencia, el RSI puede determinar si se está sobrecalentando, etc.

  3. Los indicadores con diferentes parámetros pueden capturar características de diferentes períodos, como el EMA de período rápido y el EMA de período lento.

  4. Se puede personalizar el peso de cada indicador. Para los indicadores más importantes, se les puede dar un peso más alto.

  5. Se puede optimizar la combinación de indicadores y la asignación de peso en función de los resultados de las pruebas de retroceso para obtener mejores resultados estratégicos.

Análisis de riesgos

A pesar de que la estrategia utiliza una combinación de varios indicadores para evaluar las tendencias, existen los siguientes riesgos:

  1. La combinación de múltiples indicadores es inadecuada, no puede aprovechar las ventajas de cada indicador, o causa conflictos de juicio. Se necesita comprender el contexto de aplicación de cada indicador.

  2. La distribución de las ponderaciones no es razonable y no permite expresar con precisión la importancia de cada indicador. La optimización de las ponderaciones es necesaria mediante pruebas repetidas.

  3. La configuración de los parámetros de un solo ciclo puede ser incorrecta. Se debe usar una verificación de varios períodos de tiempo.

  4. Las ponderaciones y parámetros fijos de los indicadores no pueden adaptarse a los cambios en el mercado, por lo que es necesario introducir un mecanismo de ajuste dinámico.

  5. Si hay un retraso en la señal de indicador, el tiempo de parada de pérdida debe ser evaluado en combinación con otros métodos técnicos.

  6. La combinación de múltiples indicadores aumenta la complejidad de la estrategia, requiere suficiente soporte de datos históricos y es más difícil de ajustar los parámetros.

Dirección de optimización

La estrategia se puede optimizar en los siguientes aspectos:

  1. Pruebe más tipos de indicadores para encontrar indicadores más sensibles al entorno actual del mercado.

  2. Optimizar los parámetros de ciclo de cada indicador para que puedan capturar características de tendencia a diferentes niveles.

  3. Optimizar la distribución de las ponderaciones de los indicadores para expresar con mayor precisión la importancia relativa de cada uno.

  4. Aumentar el mecanismo de ajuste dinámico, optimización en tiempo real de los parámetros y las ponderaciones para adaptarse a los cambios en el mercado.

  5. En combinación con una estrategia de stop loss, establezca un punto de parada razonable para reducir el riesgo de pérdidas.

  6. Aumentar la verificación de múltiples ciclos de tiempo para evitar la optimización excesiva de un solo ciclo.

  7. Utiliza el método de optimización progresiva y la optimización de combinación para encontrar la combinación óptima de parámetros.

  8. El uso de métodos avanzados, como el aprendizaje automático, para lograr un ajuste de peso de indicadores más inteligente.

  9. Optimizar la lógica de compra y venta de la estrategia, evitando transacciones demasiado frecuentes mientras se mantiene el seguimiento de la tendencia.

Resumir

La estrategia de EMA de indicadores múltiples utiliza la combinación de las ventajas de varios indicadores, como EMA, MACD y RSI, para determinar la dirección de la tendencia actual del mercado y generar señales de negociación. En comparación con la estrategia de un solo indicador, la estrategia puede analizar el mercado de manera más completa y reducir la generación de señales erróneas.

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