Estrategia de negociación de cruce de señales de media móvil diaria MacD200


Fecha de creación: 2024-01-03 11:50:56 Última modificación: 2024-01-03 11:50:56
Copiar: 0 Número de Visitas: 930
1
Seguir
1621
Seguidores

Estrategia de negociación de cruce de señales de media móvil diaria MacD200

Descripción general

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

Principio de estrategia

La estrategia tiene dos puntos centrales:

  1. El cruce de la línea rápida y lenta del indicador MACD genera señales de compra y venta. Cuando la línea rápida rompe la línea lenta desde abajo, genera una señal de compra; cuando la línea rápida cae desde arriba y rompe la línea lenta, genera una señal de venta.

  2. La media móvil de 200 días determina el movimiento general del mercado. Los precios están por encima de la media de 200 días como el mercado de la cabeza, por debajo del mercado de la cabeza. Sólo se compra cuando el mercado de la cabeza produce una señal de compra y se vende cuando el mercado de la cabeza produce una señal de venta.

En base a estos dos puntos, las reglas de negociación específicas de la estrategia son:

La operación de compra se realiza cuando la línea rápida del MACD rompe la línea lenta del MACD desde la dirección inferior, el gráfico columnar es negativo y el precio está por encima de la media móvil de 200 días; la operación de venta se realiza cuando la línea rápida del MACD cae desde la dirección superior por debajo de la línea larga del MACD, el gráfico columnar es positivo y el precio está por debajo de la media móvil de 200 días.

Ventajas estratégicas

  1. El doble juicio mejora la estabilidad y la tasa de éxito de la estrategia. El MACD determina las señales de compra y venta, la línea media de 200 días determina la tendencia del mercado, y el doble juicio puede filtrar algunas señales de negociación de mayor incertidumbre.

  2. En mercados con una fuerte tendencia, esta estrategia puede generar mayores ganancias. Especialmente en los mercados alcistas, puede capturar rápidamente oportunidades de aumento de precios.

  3. El indicador MACD también es más sensible a salir de la fase de ajuste de la oscilación, y la estrategia puede capturar rápidamente la nueva dirección de la tendencia cuando los precios entran en una situación de tendencia después de un largo período de ajuste de la oscilación.

Análisis de riesgos

  1. Esta estrategia es sensible a la configuración de los parámetros. Si la configuración de los parámetros del indicador MACD es incorrecta, puede generar errores de entrada y salida.

  2. Cerca del punto de inflexión de la tendencia, las señales de compra y venta del MACD producen más errores. En este caso, los beneficios de la estrategia pueden sufrir una mayor retracción.

  3. Cuando los precios están en un estado de reorganización horizontal durante mucho tiempo, la estrategia no puede determinar una dirección de tendencia clara, lo que puede aumentar la volatilidad de las ganancias y pérdidas y prolongar el tiempo de retiro.

Dirección de optimización de la estrategia

  1. Se pueden probar diferentes combinaciones de parámetros para encontrar los parámetros MACD más precisos para generar señales.

  2. Se puede considerar la inclusión de otros indicadores técnicos para la confirmación, como el RSI, KD, etc., formando una resonancia de varios indicadores para mejorar la fiabilidad de la estrategia.

  3. Se puede configurar un punto de parada para controlar el máximo retiro. Cuando el precio tiene una ruptura inversa más grande, se detiene inmediatamente la salida de pérdidas, lo que evita de manera efectiva la expansión de las pérdidas.

Resumir

La estrategia de cruce de línea de la media diaria del MACD 200 combina la doble función de juicio de tendencia y juicio de señales de negociación, lo que puede aumentar efectivamente la probabilidad de ganancias, es una estrategia de negociación cuantitativa más estable y confiable. Pero la estrategia también tiene cierta dependencia de los parámetros y el estado del mercado, y mediante la optimización continua de las pruebas se puede mejorar aún más la rentabilidad estable de la estrategia.[/

Código Fuente 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)