Crossover de média móvel de momentum e estratégia de vela de cinzas Heiken filtrada por MACD


Data de criação: 2024-01-02 12:18:03 última modificação: 2024-01-02 12:18:03
cópia: 0 Cliques: 932
1
focar em
1621
Seguidores

Crossover de média móvel de momentum e estratégia de vela de cinzas Heiken filtrada por MACD

Visão geral

Esta estratégia utiliza a técnica de Heiken-Ashley para filtrar os sinais de cruzamento de equilíbrio e os indicadores MACD, construindo uma estratégia de acompanhamento de tendências. A estratégia pode capturar as tendências do mercado em diferentes períodos de tempo, gerando sinais de negociação usando cruzamentos de equilíbrio e filtrando os falsos sinais através do indicador MACD, mostrando uma maior taxa de lucro em testes de retorno.

Princípio da estratégia

A estratégia baseia-se em três indicadores técnicos:

  1. A técnica de Heiken-Ashley. Esta técnica consiste em modificar o preço de fechamento para construir um fio de silício sem sombra. Isso pode mostrar com mais clareza a verdadeira tendência dos preços e filtrar o excesso de ruído do mercado.

  2. A EMA rápida é usada para capturar tendências de curto prazo e a EMA lenta é usada para determinar a direção da tendência de longo prazo. Quando a EMA rápida atravessa a EMA lenta, gera um sinal de compra; Quando a EMA rápida atravessa a EMA lenta, gera um sinal de venda.

  3. O indicador MACD. Este indicador combina com uma EMA rápida e lenta, sendo um sinal positivo quando a linha principal do MACD está acima da linha de sinal e um sinal negativo quando a linha principal está abaixo da linha de sinal.

Os sinais de negociação desta estratégia são provenientes de EMAs rápidas e EMAs lentas. Para filtrar sinais falsos, a estratégia introduziu o indicador MACD para julgamento auxiliar, gerando um sinal de negociação final somente quando o indicador MACD emite um sinal de isoterra, o que reduz significativamente a probabilidade de negociação errada.

Especificamente, um sinal de compra é gerado quando um EMA rápido atravessa um EMA lento (fork de ouro) e um MACD principal acima do Signal line (sinal de bullish) simultaneamente; um sinal de venda é gerado quando um EMA rápido atravessa um EMA lento (fork de morte) e um MACD principal abaixo do Signal line (sinal de bearish) simultaneamente.

Esta combinação de filtragem de equilíbrio e MACD permite identificar os pontos de inflexão do mercado e capturar a tendência dos preços.

Vantagens estratégicas

A estratégia tem as seguintes vantagens:

  1. A probabilidade de captura de sinais de tendência é muito melhor. A aplicação da técnica de Heiken-Ashley permite determinar a tendência com mais clareza. O sistema de cruzamento de duas linhas equiláreas também é muito eficiente na geração de sinais, com maior confiabilidade após a filtragem MACD.

  2. O MACD, como um indicador de julgamento auxiliar, pode evitar o risco de parada de perdas até certo ponto, reduzindo efetivamente a perda de liquidação.

  3. Há mais parâmetros ajustáveis. O ciclo de Heiken-Ashley, o ciclo rápido e lento do sistema de linhas médias e os parâmetros do MACD podem ser ajustados de acordo com o mercado, tornando a estratégia mais adaptável a diferentes situações.

  4. A implementação é simples e clara. O preço é expresso em Heiken-Ashley, auxiliado por indicadores de uso comum, fácil de programar, o código é simples e fácil de entender.

  5. Uma estratégia de acompanhamento de tendências permite que a maior parte do tempo o capital funcione de acordo com a direção dominante do mercado, utilizando efetivamente a quantidade de capital para gerar receita.

Risco estratégico

A estratégia também apresenta alguns riscos possíveis:

  1. Quando o mercado está em forte volatilidade, pode haver grandes perdas. Quando os preços são muito altos ou se revertem rapidamente em curto prazo, as medidas de perda podem ser rompidas, causando perdas acima das expectativas.

  2. O MACD também pode produzir erros de julgamento como indicador auxiliar, resultando em posições erradas de estratégia ou posições vazias.

  3. Parâmetros são definidos de forma rígida. Uma combinação de parâmetros estática não é necessariamente adequada para um mercado variável, podendo perder boas oportunidades de negociação.

  4. A frequência de negociação pode ser excessiva. O método de construção de posições seguindo a tendência pode resultar em negociações frequentes, aumentando os custos de negociação e perdas de pontos de deslizamento.

Para evitar e minimizar os riscos acima mencionados, podem ser tomadas as seguintes medidas:

  1. Estabeleça um ponto de parada para limitar perdas individuais. Ao mesmo tempo, não perca o controle sobre o tamanho da posição.

  2. Ajustar os parâmetros do MACD para reduzir a probabilidade de um indicador auxiliar emitir um sinal errado. Também é possível introduzir outros indicadores para verificação múltipla.

  3. Estabelecer mecanismos de otimização de parâmetros. Usar métodos como aprendizado de máquina para otimizar automaticamente as combinações de parâmetros, tornando as estratégias mais adaptáveis.

  4. A liberação adequada das condições de disparo do sinal de negociação, reduzindo a frequência de negociação. Também pode ser configurado o mínimo de variação de preço para a ação de negociação.

Otimização de Estratégia

A estratégia também tem muito espaço para otimização, a partir das seguintes áreas:

  1. Otimização de períodos de Heiken-Ashley. Você pode testar períodos de tempo mais longos ou mais curtos para encontrar períodos de tempo que melhor expressam as tendências do mercado.

  2. Ajuste de parâmetros de um sistema linear mediano. Modifique os parâmetros de ciclo do EMA para encontrar a melhor combinação de parâmetros.

  3. Optimização de múltiplos parâmetros do indicador MACD. Ajustar os parâmetros da linha de média rápida e lenta do MACD e da linha de sinal para encontrar o parâmetro otimizado.

  4. Fortalecimento do módulo de gestão de risco estratégico. Configuração de regras mais científicas de stop loss e stop loss, também pode ser adicionado módulo de controle de posição, gerenciamento de fundos e outros.

  5. Adicionar mais indicadores auxiliares, como a introdução de outros indicadores, como KD, RSI, para verificação multifatorial, melhorando a qualidade do sinal.

  6. Aplicação de técnicas de aprendizagem de máquina. Métodos como redes neurais e algoritmos genéticos para otimizar os parâmetros da estratégia em tempo real e torná-la mais adaptável.

Através de uma combinação iterativa de indicadores técnicos, otimização contínua dos parâmetros e fortalecimento dos módulos de controle de risco, a estratégia pode ser ainda mais avançada, mais estável e mais eficiente.

Resumir

Esta estratégia combina Heiken-Ashley e o sistema de cruzamento de linhas uniformes para capturar tendências de mercado, auxiliar a filtragem com o indicador MACD, identificar efetivamente os pontos de inflexão e gerar sinais de negociação de alta confiabilidade. A estratégia tem excelente desempenho de retorno, alta probabilidade de lucro, baixo risco de retração e forte capacidade de ajuste.

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

//@version=2
//Heikin Ashi Strategy  V1 by nachobuey

strategy("Heikin Ashi Strategy  V2",shorttitle="HAS V2",overlay=true)
res = input(title="Heikin Ashi Candle Time Frame",  defval="15")
hshift = input(0,title="Heikin Ashi Candle Time Frame Shift")
//res1 = input(title="Heikin Ashi EMA Time Frame", type=resolution, defval="180")
res1   = input(title="Time frame (Minutes. Not lower than chart)",defval="300")
mhshift = input(0,title="Heikin Ashi EMA Time Frame Shift")
fama = input(16,"Heikin Ashi EMA Period")
test = input(0,"Heikin Ashi EMA Shift")
sloma = input(21,"Slow EMA Period")
slomas = input(0,"Slow EMA Shift")
macdf = input(false,title="With MACD filter")
res2 = input(title="MACD Time Frame",  defval="60")
macds = input(1,title="MACD Shift")




//Heikin Ashi Open/Close Price
ha_t = heikinashi(syminfo.tickerid)
ha_open = request.security(ha_t, res, open[hshift])
ha_close = request.security(ha_t, res, close[hshift])
mha_close = request.security(ha_t, res1, close[mhshift])

//macd
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
macdl = request.security(ha_t,res2,macdLine[macds])
macdsl= request.security(ha_t,res2,signalLine[macds])

//Moving Average
fma = ema(mha_close[test],fama)
sma = ema(ha_close[slomas],sloma)
plot(fma,title="MA",color=lime,linewidth=2,style=line)
plot(sma,title="SMA",color=red,linewidth=2,style=line)


//Strategy
golong =  crossover(fma,sma) and (macdl > macdsl or macdf == false )
goshort =   crossunder(fma,sma) and (macdl < macdsl or macdf == false )


strategy.entry("Long",strategy.long,when = golong)
strategy.entry("Short",strategy.short,when = goshort)

plotchar(golong,char="L", color=green)
plotchar(goshort,char="S", color=red)

alertcondition(golong, "HAS GO LONG", "OPEN LONG")
alertcondition(goshort, "HAS GO SHORT", "OPEN SHORT")