La estrategia se basa en el indicador de dispersión de la media móvil logarítmica (Logarithmic MACD) para generar señales de negociación. La estrategia determina la tendencia y la oportunidad del mercado calculando la diferencia entre las medias móviles logarítmicas rápidas y lentas.
La principal lógica de esta estrategia es la siguiente:
Cálculo de las medias móviles rápidas (de 12 días por defecto) y lentas (de 26 días por defecto)
El MACD es el diferencial entre ambos para expresar la dinámica del mercado
La línea de señal es el promedio móvil liso del MACD (default 9 días)
Hacer más cuando la línea MACD se rompe la línea de señal desde abajo
Cuando la línea MACD cae desde arriba y se vacía la línea de señal
La diferencia entre MACD y la línea de señal se expresa en forma de gráfico columnar
En comparación con el MACD de media móvil simple, el MACD logarítmico puede resaltar las tendencias de los cambios en el mercado de crecimiento de escala exponencial. Después de la conversión logarítmica, los valores con mayor volatilidad pueden mantenerse relativamente comparables en el gráfico.
Utilizando la conversión logarítmica, se pueden detectar cambios en los precios a nivel de índice
El MACD paralelo resalta la información sobre las fluctuaciones de precios
Las líneas de señal se suavizan MACD, formando una señal de transacción
El MACD en forma de columnas es una expresión intuitiva de la dirección de la tendencia
La conversión numérica podría aumentar las fluctuaciones de precios
Las señales son frecuentes y se puede comerciar demasiado.
No se ha considerado la gestión de pérdidas y el control de riesgos es incompleto.
Respuesta:
Ajuste de parámetros para reducir la frecuencia de la señal
Aumentar las condiciones de filtración para evitar la generación de señales en las vibraciones
Establezca una estrategia de stop loss para controlar las pérdidas individuales
Optimización de parámetros y estabilidad
Intentar otras conversiones de índices, como promedios móviles de índices
Combinación de indicadores de tendencia para filtrar señales
Aumentar las estrategias de alto riesgo
Aprendizaje automático para determinar la fiabilidad de la señal
La estrategia utiliza la conversión de la simetría para mejorar la sensibilidad del indicador MACD, lo que permite detectar los cambios de tendencia antes. Sin embargo, debe tenerse en cuenta el control de la frecuencia de las transacciones. A través de la optimización de los parámetros, el control del viento y otras mejoras, la estrategia puede convertirse en un sistema de comercio cuantitativo estable y con personalidad.
/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="Logarithmic Moving Average Convergence Divergence Strategy", shorttitle="LMACD Strategy")
// Getting inputs
fast_length = input(title="Fast Length", defval=12)
slow_length = input(title="Slow Length", defval=26)
src = input(title="Source", defval=close)
signal_length = input(title="Signal Smoothing", minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)", defval=false)
sma_signal = input(title="Simple MA(Signal Line)", 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)
lmacd = log(fast_ma) - log(slow_ma)
signal = sma_signal ? sma(lmacd, signal_length) : ema(lmacd, signal_length)
hist = lmacd - signal
plot(hist, title="Histogram", 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(lmacd, title="LMACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)
if (crossover(hist, 0))
strategy.entry("Long", strategy.long, comment="LMACD long")
if (crossunder(hist, 0))
strategy.entry("Short", strategy.short, comment="LMACD short")