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


Data de criação: 2023-09-21 15:38:05 última modificação: 2023-09-21 15:38:05
cópia: 4 Cliques: 929
1
focar em
1617
Seguidores

Visão geral

A estratégia baseia-se em um indicador de onda dispersa agregada de média móvel logarítmica (Logarithmic MACD) para gerar um sinal de negociação. Ele determina tendências e oportunidades de mercado, calculando a diferença entre as médias móveis logarítmicas rápidas e lentas.

Princípio da estratégia

A principal lógica da estratégia é:

  • Calcule as médias móveis rápidas (default 12 dias) e lentas (default 26 dias)

  • MACD é a diferença entre os dois e expressa a dinâmica do mercado

  • A linha de sinal é a média móvel lisa do MACD (default 9 dias)

  • Quando a linha MACD de baixo quebra a linha de sinalização fazer mais

  • Quando a linha MACD cai da linha de sinal de cima para baixo

  • Diferença entre MACD e linha de sinal expressa em gráficos colunais

Em comparação com o MACD de média móvel simples, o MACD logarítmico pode destacar a tendência de mudança no mercado de crescimento exponencial. Após a conversão logarítmica, os valores com maior flutuação podem permanecer relativamente comparáveis no gráfico.

Vantagens estratégicas

  • Utilizando a conversão logarítmica, pode-se detectar mudanças de preços a nível do índice

  • MACD paralelo para destacar informações sobre oscilações de preços

  • A linha de sinalização suaviza o MACD, formando um sinal de transação

  • A MACD em forma de coluna expressa intuitivamente a direção da tendência

Risco estratégico

  • A conversão numérica pode aumentar a oscilação dos preços

  • Sinais frequentes, fácil de exagerar

  • Não foi levada em conta a gestão de perdas e o controlo de riscos é incompleto.

Medidas de resposta:

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

  • Aumentar as condições de filtragem para evitar a geração de sinais durante a vibração

  • Estabelecer uma estratégia de stop loss para controlar as perdas individuais

Direção de otimização da estratégia

  • Parâmetros de otimização e estabilidade

  • Tente outras conversões de índices, como a média móvel de índices.

  • Indicadores de tendência combinados com filtros de sinais

  • Aumentar a estratégia de stop loss

  • Aprendizagem de máquina para determinar a confiabilidade do sinal

Resumir

A estratégia usa a conversão de logarítmos para melhorar a sensibilidade do indicador MACD e detectar mudanças de tendência mais cedo. Mas é necessário ter cuidado para controlar a frequência de negociação. Com a otimização de parâmetros, controle de vento e outras melhorias, a estratégia pode se tornar um sistema de negociação quantificado estável e personalizado.

Código-fonte da estratégia
/*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")