Estratégia de cruzamento de média móvel suavizada de três períodos de tempo


Data de criação: 2023-09-18 21:50:05 última modificação: 2023-09-18 21:50:05
cópia: 0 Cliques: 1152
1
focar em
1617
Seguidores

Visão geral

A estratégia é baseada em três períodos de tempo de medias asimetricas suaves, que produzem sinais de negociação quando diferentes indicadores de períodos são otimistas ou pessimistas. O objetivo é usar vários quadros de tempo para confirmar a tendência e reduzir a probabilidade de falsos sinais.

Princípios

O Heiken Ashi é um indicador diferente da linha K comum, que é calculado para suavizar a curva de preços e identificar tendências com maior precisão.

Esta estratégia usa um indicador de média diferencial de planejamento para os três períodos de tempo do Sol, do Cinturão e da Lua. Um sinal de compra é gerado quando os três são favoráveis, ou seja, quando a linha de tocha de todos os períodos de tempo é verde; Um sinal de venda é gerado quando os três são pessimistas, ou seja, quando a linha de tocha é toda vermelha.

Após a entrada, um sinal de equilíbrio é gerado se qualquer período de tempo se deslocar para a média isotônica suave.

Vantagens

  1. A validação de múltiplos prazos reduz os falsos sinais e aumenta a estabilidade.

  2. O indicador de média isotrópica suave identifica tendências e reduz o ruído.

  3. As regras são simples, claras e fáceis de implementar.

  4. A combinação de períodos de tempo pode ser escolhida com flexibilidade para adaptar-se a diferentes variedades.

  5. Otimizado sem parâmetros, fácil de usar.

Riscos e soluções

  1. A restrição de múltiplos requisitos pode fazer com que você perca uma oportunidade de negociação.

  2. O atraso da média asynchronous continua, podendo atrasar o sinal. Pode ser otimizado em combinação com outros indicadores.

  3. Não se estabelece um stop loss, não se controla o risco. Pode-se adicionar uma estratégia de stop loss móvel.

  4. A taxa de ganhos e perdas é fixa, sem flexibilidade. Pode-se configurar o stop loss dinâmico.

  5. O sistema de verificação de quantidade pode ser adicionado.

Otimização de ideias

  1. O teste adiciona mais prazos, como 15 minutos ou 60 minutos.

  2. Optimizar os parâmetros de média diferencial suave e aumentar a sensibilidade.

  3. Acompanhe a estratégia de stop loss móvel para controlar o risco.

  4. Estude os indicadores de estrutura do mercado para evitar oscilações.

  5. Novas condições de reentrada e prolongamento do período de detenção.

Resumir

A estratégia utiliza os benefícios de um indicador de média heterogêneo de suavização de múltiplos períodos de tempo para realizar o acompanhamento de tendências, mas é propensa a produzir falsos sinais apenas com base no indicador. A estratégia pode ser melhorada adicionando mais indicadores, estratégias de parada de perdas e métodos de otimização de parâmetros, etc.

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