Estrategia de negociación cruzada de la media móvil diaria MACD 200

El autor:¿ Qué pasa?, Fecha: 2024-01-03 11:50:56
Las etiquetas:

img

Resumen general

Esta estrategia de negociación es una estrategia cuantitativa basada en la operación de cruce de la media móvil de 200 días del indicador MACD. Combina las funciones duales del indicador MACD para juzgar las señales de compra y venta del mercado y la media móvil de 200 días para juzgar las tendencias del mercado, con el objetivo de descubrir tiempos de entrada y salida más precisos.

Principio de la estrategia

Esta estrategia tiene dos puntos clave:

  1. Los cruces de línea rápida y lenta del indicador MACD generan señales de compra y venta. Cuando la línea rápida rompe la línea lenta hacia arriba, se genera una señal de compra. Cuando la línea rápida rompe la línea lenta hacia abajo, se genera una señal de venta.

  2. El promedio móvil de 200 días juzga la tendencia general del mercado. Los precios por encima del promedio móvil de 200 días indican un mercado alcista, y por debajo indican un mercado bajista.

De acuerdo con estos dos puntos, las reglas específicas de negociación de esta estrategia son:

Cuando la línea rápida del MACD rompe la línea lenta del MACD hacia arriba, el histograma es negativo, y el precio está por encima del promedio móvil de 200 días, se realiza una operación de compra.

Análisis de ventajas

  1. La doble confirmación mejora la estabilidad y la tasa de éxito de la estrategia. El MACD juzga las señales de compra y venta, y el promedio móvil de 200 días juzga la tendencia del mercado. La doble confirmación puede filtrar algunas señales comerciales con mayor incertidumbre.

  2. En un mercado de tendencia fuerte, esta estrategia puede traer ganancias relativamente altas.

  3. Cuando el precio termina un largo período de consolidación y entra en una fase de tendencia, esta estrategia puede capturar rápidamente la nueva dirección de tendencia.

Análisis de riesgos

  1. Esta estrategia es muy sensible a la configuración de parámetros.

  2. Al acercarse a los puntos de inflexión de la tendencia, las señales MACD tienden a producir más errores.

  3. Cuando los precios se encuentran en un largo período de consolidación, esta estrategia no puede determinar una dirección de tendencia clara, lo que conduce a una mayor fluctuación de las ganancias y pérdidas y a tiempos de extracción más largos.

Optimización

  1. Se pueden probar diferentes combinaciones de parámetros para encontrar parámetros MACD que producen señales más precisas.

  2. Considere la posibilidad de añadir confirmación de otros indicadores técnicos como el RSI y el KD para formar un consenso de múltiples indicadores, aumentando así la fiabilidad de la estrategia.

  3. Establezca puntos de stop loss para controlar el descenso máximo. Detenga inmediatamente la pérdida cuando los precios realicen una reversión significativa, lo que puede evitar efectivamente aumentar las pérdidas.

Conclusión

La estrategia de cruce de la media móvil de 200 días del MACD combina las funciones duales de juicio de tendencia y juicio de señal comercial, lo que puede mejorar efectivamente la probabilidad de rentabilidad. Es una estrategia comercial cuantitativa relativamente robusta y confiable. Pero esta estrategia también se basa en algunos parámetros y condiciones del mercado. La optimización y prueba continuas pueden mejorar aún más la capacidad estable de generación de ganancias de la estrategia.


/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-02 00:00:00
period: 1m
basePeriod: 1m
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/
// © x11joe

//@version=4
//This strategy is based on a youtube strategy that suggested I do this...so I did!

strategy(title="MacD 200 Day Moving Average Signal Crossover Strategy", overlay=false, precision=2,commission_value=0.26, initial_capital=10000, currency=currency.USD, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Getting inputs
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)

// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal

moving_avg_length = input(title="Moving Average Length", type=input.integer, defval=200)
moving_avg = sma(close,moving_avg_length)

moving_avg_normalized = close - moving_avg
plot(moving_avg_normalized, title="Moving Average Normalized", style=plot.style_line, color=color.orange,linewidth=3)

plot(hist, title="Histogram", style=plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 )
plot(macd, title="MACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)

if(macd>signal and macd<0 and close>moving_avg)
    strategy.entry("buy",strategy.long)

if(close<moving_avg and macd<signal and macd>0)
    strategy.entry("sell",strategy.short)

Más.