Estratégia de divergência de convergência da média móvel logarítmica

Autora:ChaoZhang, Data: 23 de janeiro de 2021
Tags:

Resumo

Esta estratégia gera sinais de negociação usando o indicador MACD Logarítmico. Ele calcula a diferença entre médias móveis logarítmicas rápidas e lentas para medir o impulso e as oportunidades do mercado.

Estratégia lógica

A lógica principal é:

  • Calcular o MA logarítmico rápido (padrão 12) e o MA logarítmico lento (padrão 26)

  • O MACD logarítmico é a sua diferença, expressando a dinâmica do mercado

  • A linha de sinal é suavizada MA do MACD (padrão 9)

  • Vá longo quando o MACD cruza acima do sinal de baixo

  • Vai curto quando o MACD cruza abaixo do sinal de cima

  • Diferença do sinal MACD representada por histograma

Em comparação com o MACD simples, o MACD logarítmico pode destacar melhor as tendências de crescimento exponencial.

Vantagens

  • Detecta movimentos de preços exponenciais usando transformação logarítmica

  • Log MACD destaca informações sobre flutuação de preços

  • A linha de sinal suaviza o MACD em sinais de negociação

  • O histograma MACD mostra intuitivamente a direcção da tendência

Riscos

  • A transformação de log pode amplificar o ruído do preço

  • Sinais frequentes, riscos de excesso de negociação

  • Não há gestão de stop loss, controlo de risco incompleto

Atenuantes:

  • Ajustar os parâmetros para reduzir a frequência do sinal

  • Adicionar filtros para evitar sinais em condições agitadas

  • Implementar stop loss para controlar a perda por transação

Oportunidades de melhoria

  • Otimizar parâmetros de estabilidade

  • Tente outras transformações como média móvel exponencial

  • Adicionar filtro de tendência aos sinais da tela

  • Incorporar estratégias de stop loss

  • Usar aprendizado de máquina para julgar a confiabilidade do sinal

Conclusão

A transformação logarítmica aumenta a sensibilidade do MACD para a detecção precoce de tendências. Mas a frequência de negociação deve ser controlada. Com otimizações em parâmetros, gerenciamento de riscos, etc., essa estratégia pode se tornar um sistema quantitativo estável e único.


/*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")

Mais.