Estratégia de negociação MACD DEMA


Data de criação: 2023-09-19 16:10:19 última modificação: 2023-09-19 16:10:19
cópia: 0 Cliques: 1114
1
focar em
1617
Seguidores

Visão geral

A estratégia combina MACD e DEMA indicadores de dupla linha, através de multi-linear de ouro forcados e forcados para formar um sinal de negociação. A estratégia de capturar o MACD indicador de mudança de tempo, usando DEMA filtro de ondas para obter um melhor entrada.

Princípio da estratégia

  1. Calcule a linha rápida DEMAfast, pegue o valor DEMA do preço, com o comprimento do ciclo sendo fastmacd。

  2. Calcule a linha lenta DEMAslow, obtendo o valor de DEMA de prices, com a duração do período slowmacd。

  3. A linha MACD é a diferença entre a linha rápida e a linha lenta: DEMAfast - DEMAslow。

  4. A linha de sinal é o valor DEMA da linha MACD, e o comprimento do período é signalmacd。

  5. O cruzamento de linhas de múltiplos espaços serve como sinal de negociação: o garfo de ouro faz mais, o garfo morto faz menos.

  6. Adicione o filtro de ano, mês e dia para emitir sinais apenas no intervalo de datas especificadas.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. Em combinação com MACD e DEMA, os indicadores são complementares.

  2. O design duplo do DEMA reduz o atraso e o ruído dos indicadores MACD.

  3. O cruzamento de linhas de múltiplos espaços é fácil de julgar, a geração de sinais é simples e clara.

  4. Pode ser ajustado de forma flexível para diferentes estratégias.

  5. Os parâmetros do MACD podem ser combinados de forma otimizada e flexível para várias situações.

Análise de Riscos

Os principais riscos desta estratégia são os seguintes:

  1. O MACD é um indicador de tendência que não é adequado para mercados horizontais.

  2. O cruzamento de múltiplos espaços pode gerar falsos sinais, que devem ser filtrados de forma eficaz.

  3. A estratégia de parada de prejuízos é imperfeita, e é fácil parar com prejuízos excessivos.

  4. A otimização dos parâmetros não é abrangente e os resultados variam muito de uma variedade para outra.

  5. O filtro de data de transação é muito rígido e precisa ser ajustado dinamicamente.

Resolução:

  1. Combinação de indicadores de potência, evitando a travessia.

  2. Aumentar as condições de preços, filtrar os falsos sinais de cruzamento.

  3. Estabelecer um stop loss inicial razoável e um stop loss de seguimento.

  4. Testar o efeito de vários parâmetros de variedades, otimização dinâmica.

  5. A partir de agora, os filtros serão ajustados de acordo com a situação em tempo real.

Direção de otimização

A estratégia pode ser melhorada em alguns pontos:

  1. Aumentar o índice de tráfego para filtrar o sinal.

  2. Otimizar combinações de parâmetros MACD para testar dados de diferentes variedades.

  3. Estabelecer estratégias de stop loss, como stop loss fixo, stop loss de rastreamento, etc.

  4. Ajustar a posição de stop loss de acordo com a volatilidade do mercado.

  5. A tendência é forte ou fraca, ajuste o tamanho da posição.

Resumir

A estratégia MACD DEMA combina vantagens de dois indicadores, aproveitando a tendência de captura de sinais de cruzamento. Mas a MACD tem uma natureza retardada, e é necessário ter cuidado com o filtro de falsos sinais. Além disso, a estratégia de parada de perda precisa ser otimizada para reduzir a parada irracional.

Código-fonte da estratégia
/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(" MACD DEMA STRATEGY ", overlay=true)

source=close
price=source



fastmacd = input(12,title='MACD Fast  Line Length')
slowmacd = input(26,title='MACD Slow Line Length')
signalmacd = input(9,title='Signal Line Length')

macdslowline1 = ema(close,slowmacd)
macdslowline2 = ema(macdslowline1,slowmacd)
DEMAslow = ((2 * macdslowline1) - macdslowline2 )

macdfastline1 = ema(close,fastmacd)
macdfastline2 = ema(macdfastline1,fastmacd)
DEMAfast = ((2 * macdfastline1) - macdfastline2)

MACDLine = (DEMAfast - DEMAslow)

SignalLine1 = ema(MACDLine, signalmacd)
SignalLine2 = ema(SignalLine1, signalmacd)
SignalLine = ((2 * SignalLine1) - SignalLine2 )


MACDSignal = SignalLine-MACDLine


colorbar= MACDSignal>0?green:red




yearfrom = input(2018)
yearuntil =input(2019)
monthfrom =input(1)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)







if ( crossover(MACDLine,SignalLine) ) 
    strategy.entry("MMAL", strategy.long, stop=close, oca_name="TREND",  comment="AL")
    
else
    strategy.cancel(id="MMAL")


if (  crossunder(MACDLine,SignalLine) ) 

    strategy.entry("MMSAT", strategy.short,stop=close, oca_name="TREND",  comment="SAT")
else
    strategy.cancel(id="MMSAT")