Estrategia de tendencia agregada de media móvil mejorada


Fecha de creación: 2023-09-14 16:46:53 Última modificación: 2023-09-14 16:46:53
Copiar: 6 Número de Visitas: 647
1
Seguir
1617
Seguidores

Principio de estrategia

La estrategia se basa en el indicador MACD amplificado para el seguimiento de la tendencia. Calcula simultáneamente el promedio móvil rápido, el promedio móvil lento y la diferencia entre ambos, y luego hace una media móvil de la diferencia para generar una señal de negociación.

La lógica es la siguiente:

  1. Cálculo de un ciclo rápido de EMA, por ejemplo 12 días

  2. Cálculo de un ciclo de EMA lento, como el día 26

  3. Calcula el diferencial de la EMA rápida y lenta en MACD

  4. EMA de línea de señal para MACD, como el EMA del día 9

  5. La diferencia entre el MACD y la línea de señal genera una línea de señal amplificada por EMA

  6. Hacer más cuando se cruza el eje cero en la línea de la señal de potencia

  7. Cuando la señal de refuerzo pasa por el eje cero

La estrategia aprovecha las características de seguimiento de tendencias de los indicadores MACD y realiza filtros de optimización secundaria para mejorar la calidad de la señal y seguir las tendencias de la línea media y larga.

Ventajas estratégicas

  • El aumento de la reducción de ruido MACD mejora la precisión de la señal

  • A medida que la EMA se acerca a la decisión, la dirección y la intensidad

  • Tendencia de la línea larga en los parámetros más lentos

Riesgo estratégico

  • Selección de los parámetros del ciclo EMA

  • No se puede aprovechar la oportunidad de un puesto vacante con tan solo hacer más.

  • La frecuencia de las señales es escasa.

Resumir

La estrategia identifica oportunidades de mediano y largo plazo mediante el aumento de la capacidad de seguimiento de tendencias de MACD. Sin embargo, la optimización de parámetros y el control de riesgos son especialmente importantes. La combinación adecuada de otros factores puede mejorar la eficacia.

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