Estratégia de cruzamento de Heiken Ashi com vários prazos

Autora:ChaoZhang, Data: 2023-09-18 21:50:05
Tags:

Resumo

Esta estratégia usa velas Heiken Ashi em três prazos para gerar sinais quando todos os prazos estão alinhados de alta ou baixa.

Princípios

As velas Heiken Ashi diferem das velas regulares pela suavização da ação do preço para uma identificação mais fácil da tendência.

A estratégia emprega velas Heiken Ashi diárias, semanais e mensais. Quando todos os três se alinham em alta, com velas verdes, é gerado sinal longo. Quando todas as velas vermelhas, é gerado sinal curto.

Sai quando qualquer intervalo de tempo inverte a direção após a entrada.

Vantagens

  1. A confirmação em vários prazos reduz os falsos sinais e aumenta a robustez.

  2. Heiken Ashi suaviza o ruído para identificar tendências.

  3. Regras simples e fáceis de implementar.

  4. Prazos flexíveis adaptáveis a diferentes produtos.

  5. Não é necessária otimização de parâmetros, muito fácil de usar.

Riscos e atenuações

  1. Condições rigorosas podem perder oportunidades, podem relaxar os requisitos da condição.

  2. O atraso de Heiken Ashi permanece, potencialmente atrasando os sinais.

  3. Sem stop loss, incapacidade de controlar o risco, pode adicionar stop loss em movimento.

  4. O risco-recompensa fixo carece de flexibilidade, pode implementar paradas dinâmicas.

  5. Indicador apenas propenso a sinais falsos, pode adicionar confirmação preço-volume.

Oportunidades de melhoria

  1. Teste intervalos de tempo adicionais, como 15 ou 60 metros.

  2. Otimize os parâmetros de Heiken Ashi para sensibilidade.

  3. Adicionar stop loss móvel para controlo de risco.

  4. Incorporar indicadores de estrutura de mercado para evitar intervalos.

  5. Desenvolver condições de reentrada para prorrogar o período de detenção.

Resumo

A estratégia aproveita o Heiken Ashi em todos os prazos para seguir a tendência, mas o design apenas de indicadores é propenso a sinais falsos. Melhorias podem ser feitas por meio de indicadores adicionais, paradas, otimização de parâmetros para torná-lo mais confiável.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-03-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
args: [["v_input_5",true]]
*/

//@version=4
strategy("Heiken Ashi MTF Strategy")
ha_t = heikinashi(syminfo.tickerid)

res = input('D', title="TM 1")
ha_open = security(ha_t, res, open)
ha_close = security(ha_t, res, close)
ha_dif = ha_open-ha_close
ha_diff=iff(ha_dif > 0, 1, iff(ha_dif<0, 2, 3))

res2 = input('W', title="TM 2")
ha_open2 = security(ha_t, res2, open)
ha_close2 = security(ha_t, res2, close)
ha_dif2 = ha_open2-ha_close2
ha_diff2=iff(ha_dif2 > 0, 1, iff(ha_dif2<0, 2, 3))

res3 = input('M', title="TM 3")
ha_open3 = security(ha_t, res3, open)
ha_close3 = security(ha_t, res3, close)
ha_dif3 = ha_open3-ha_close3
ha_diff3=iff(ha_dif3 > 0, 1, iff(ha_dif3<0, 2, 3))

plot(15, title="TF1", color=iff(ha_diff==1, color.red, iff(ha_diff==2, color.green, color.white)), style=plot.style_circles, linewidth=5, join=true)
plot(14, title="TF2", color=iff(ha_diff2==1, color.red, iff(ha_diff2==2, color.green, color.white)), style=plot.style_circles, linewidth=5, join=true)
plot(13, title="TF3", color=iff(ha_diff3==1, color.red, iff(ha_diff3==2, color.green, color.white)), style=plot.style_circles, linewidth=5, join=true)


short = ha_diff ==1 and ha_diff2==1 and ha_diff3 ==1
long = ha_diff ==2 and ha_diff2==2 and ha_diff3 ==2

exitlong = ha_diff ==1 or ha_diff2==1 or ha_diff3 ==1
exitshort = ha_diff ==2 or ha_diff2==2 or ha_diff3 ==2

longA = input(true)
shortA = input(false)

if(longA)
    strategy.entry("long",1,when=long)
    strategy.close("long",when=exitlong)
if(shortA)
    strategy.entry("short",0,when=short)
    strategy.close("short",when=exitshort)

Mais.