Una estrategia de cruce de la media móvil de inversión de impulso oscilante

El autor:¿ Qué pasa?, Fecha: 2023-12-21 11:21:49
Las etiquetas:

img

Resumen general

Esta estrategia es una estrategia de inversión de impulso basada en el indicador MACD. Genera el indicador MACD calculando la diferencia entre las líneas de promedio móvil rápido y lento. Cuando el indicador MACD pasa de positivo a negativo, se genera una señal de venta. Cuando el indicador MACD pasa de negativo a positivo, se genera una señal de compra. Esta estrategia también incorpora la línea de señal del indicador MACD para suavizar adicionalmente para filtrar algunas señales comerciales ruidosas.

Principio de la estrategia

El indicador central de esta estrategia es el MACD, que consiste en un promedio móvil rápido, un promedio móvil lento y una línea de señal. Primero, se calcula un EMA rápido con un período de 12 días y un EMA lento con un período de 26 días, luego se calcula la diferencia entre ellos como el indicador MACD. El indicador MACD refleja la tendencia de los cambios de precios basados en el concepto de impulso. Cuando el EMA rápido aumenta más rápido que el EMA lento, indica una tendencia al alza del precio, y el MACD es positivo. Por el contrario, cuando el precio de las acciones está en una tendencia a la baja, el MACD es negativo.

Para filtrar el ruido, esta estrategia introduce un indicador de línea de señal para suavizar el MACD adicionalmente. El parámetro de línea de señal se establece en EMA de 9 días. Finalmente, la diferencia entre el MACD y la línea de señal se calcula como señales comerciales. Cuando la diferencia cambia de positiva a negativa, se genera una señal de venta. Cuando la diferencia cambia de negativa a positiva, se genera una señal de compra.

Análisis de ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. Utilizando el indicador MACD para determinar los puntos de reversión de los precios, puede capturar oportunidades de reversión a corto plazo de los precios de las acciones.

  2. Incorporar el suavizado de la línea de señal filtra algunas señales comerciales ruidosas y reduce las señales falsas.

  3. Los parámetros flexibles permiten a los operadores ajustar los parámetros de acuerdo con las condiciones reales del mercado.

  4. La lógica es simple y clara, fácil de entender e implementar, adecuada para que los principiantes aprendan e investiguen.

  5. Las diversas combinaciones de indicadores y señales proporcionan un amplio margen para la optimización de la estrategia y una gran escalabilidad.

Análisis de riesgos

Esta estrategia también presenta algunos riesgos:

  1. El seguimiento de las reversiones a corto plazo puede aumentar la frecuencia de operaciones y los costes de transacción.

  2. El indicador MACD puede generar fácilmente señales falsas durante los aumentos o caídas unilaterales a largo plazo de los precios.

  3. La generación de señal retrasada debido a la configuración incorrecta de los parámetros puede perder el mejor punto de entrada.

  4. Esta estrategia relativamente simple puede tener un rendimiento inferior en condiciones de mercado complejas.

Para mitigar los riesgos mencionados anteriormente, se pueden realizar mejoras de las siguientes maneras:

  1. Optimizar los parámetros para reducir la frecuencia de negociación, por ejemplo, aumentar el ciclo de la línea de señal.

  2. Añadir condiciones de filtrado para evitar quedar atrapados durante las tendencias a largo plazo, por ejemplo, combinar otros indicadores de seguimiento para determinar las tendencias a largo y corto plazo.

  3. Utilice órdenes límite para rastrear el precio óptimo.

  4. Añadir más factores para determinar las condiciones del mercado y evitar el comercio en mercados anormales.

Direcciones de optimización

La estrategia se puede optimizar en los siguientes aspectos:

  1. Optimizar los parámetros MACD y los parámetros de la línea de señal para encontrar la mejor combinación de parámetros.

  2. Añadir otros indicadores auxiliares para determinar las tendencias a largo y corto plazo y evitar negociar contra tendencias, por ejemplo, promedio móvil, bandas de Bollinger, etc.

  3. Incorporar indicadores de volumen de negociación como el volumen del saldo para evitar falsas rupturas.

  4. Establecer parámetros de acuerdo con las diferentes características de las existencias para que la estrategia sea más adaptable.

  5. Añadir los ajustes de precio de stop loss y take profit para controlar los niveles de pérdida y ganancia individuales.

  6. Evaluar los factores de calidad de las existencias, como las métricas financieras, los cambios de calificación, etc., y seleccionar el conjunto óptimo de existencias.

Estas medidas de optimización pueden mejorar la estabilidad, la tasa de ganancia y el nivel de ganancia de la estrategia.

Resumen de las actividades

Esta es una estrategia comercial típica de inversión a corto plazo. Utiliza indicadores MACD simples y claros para reflejar cambios en el impulso de las acciones y líneas de señal para determinar puntos de entrada específicos. Con la configuración adecuada de parámetros, puede aprovechar las oportunidades de inversión de precios a corto plazo para obtener rendimientos excedentes.

Por supuesto, cualquier indicador único y estrategia simple difícilmente puede adaptarse perfectamente a diversas condiciones complejas del mercado. Los inversores deben prestar atención a los riesgos y elegir estrategias de acuerdo con sus propias condiciones y apetito por el riesgo. Mientras tanto, también deben vigilar las condiciones del mercado, optimizar los parámetros de la estrategia y las reglas de negociación. Solo a través del aprendizaje continuo y la mejora se pueden obtener retornos de inversión estables a largo plazo.


/*backtest
start: 2023-11-20 00:00:00
end: 2023-12-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//study(title="MACD Strategy by Sedkur", shorttitle="MACD Strategy by Sedkur")
strategy (title="MACD Strategy by Sedkur", shorttitle="MACD Strategy by Sedkur")


// Getting inputs
dyear = input(title="Year", type=input.integer, defval=2017, minval=1950, maxval=2500)
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
buyh = input(title="Buy histogram value", type=input.float, defval=0.0, minval=-1000, maxval=1000, step=0.1)
sellh = input(title="Sell histogram value", type=input.float, defval=0.0, minval=-1000, maxval=1000, step=0.1)
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

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)

strategy.entry("buy", strategy.long, comment="buy", when = hist[1] <= hist and buyh<=hist and year>=dyear)
strategy.entry("sell", strategy.short, comment="sell", when = hist[1] >= hist and sellh>=hist and year>=dyear)


Más.