Estrategia de tendencia de convergencia de la media móvil mejorada

El autor:¿ Qué pasa?, Fecha: 14 de septiembre de 2023 16:46:53
Las etiquetas:

Estrategia lógica

Esta estrategia de seguimiento de tendencias utiliza un indicador MACD mejorado. Calcula la EMA rápida, la EMA lenta, su diferencia y la EMA de esa diferencia para generar señales.

La lógica es:

  1. Calcular el período de EMA rápido, por ejemplo, 12 días

  2. Calcular el período de EMA lento, por ejemplo, 26 días

  3. Sustraer rápido de la EMA lenta para obtener el MACD

  4. Tome la EMA del MACD como línea de señal, por ejemplo, 9 días

  5. La EMA del MACD menos la señal da una señal mejorada

  6. Ir largo cuando la señal mejorada cruza por encima de la línea cero

  7. Cierre largo cuando la señal reforzada cruza por debajo de la línea cero

La estrategia aprovecha la capacidad de seguimiento de tendencias del MACD y lo optimiza aún más para señales de tendencia de calidad a medio y largo plazo.

Ventajas

  • El MACD mejorado reduce el ruido y mejora las señales

  • Indicadores de dirección y fuerza de la combinación EMA rápida/lenta

  • Los parámetros más lentos se centran en las tendencias a medio y largo plazo

Los riesgos

  • Se requiere una optimización cuidadosa de los períodos de EMA

  • LONG sólo incapaz de utilizar las oportunidades cortas

  • Ocurrencia menos frecuente de la señal

Resumen de las actividades

Esta estrategia aprovecha el MACD mejorado para mejorar la identificación de tendencias a medio y largo plazo. Pero la optimización y los controles de riesgos son clave. La combinación con otros factores puede mejorar el rendimiento.


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

//@version=3
//study("MACDAS")
// strategy("macdas",shorttitle="macdas",overlay=true,default_qty_value=10000,initial_capital=10000,currency=currency.USD)

// Date range filter
testStartYear = input(2018, "Backtest Start Year")
testStartMonth = input(4, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)

testStopYear = input(2018, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)

inTimeRange = true


fastperiod = input(12,title="fastperiod",minval=1,maxval=500)
slowperiod = input(26,title="slowperiod",minval=1,maxval=500)
signalperiod = input(9,title="signalperiod",minval=1,maxval=500)
fastMA = ema(close, fastperiod)
slowMA = ema(close, slowperiod)
macd = fastMA - slowMA
signal = ema(macd, signalperiod)
macdAS = macd - signal
signalAS = ema(macdAS, signalperiod)
plot(macdAS, color=blue, linewidth=2)
plot(signalAS, color=red, linewidth=2)
plot(0, color=black)

strategy.entry("LONG", strategy.long, when =inTimeRange and crossover(macdAS,signalAS))
strategy.close("LONG", when= inTimeRange and crossunder(macdAS,signalAS))

plotshape(crossover(macdAS, signalAS) , style = shape.arrowup, text="Long",color=green,size=size.huge)
plotshape(crossover(signalAS,macdAS) , style = shape.arrowdown, text="End Long",color=red,size=size.huge)



Más.