Estratégia de cruzamento de média móvel dupla SuperTrend


Data de criação: 2023-09-19 21:38:06 última modificação: 2023-09-19 21:38:06
cópia: 0 Cliques: 827
1
focar em
1617
Seguidores

Visão geral

A estratégia é baseada no indicador SuperTrend. O indicador SuperTrend é composto por duas linhas de equilíbrio que se cruzam como um sinal de compra e venda. A estratégia é uma estratégia de acompanhamento de tendências.

Princípio da estratégia

  1. Calcule a linha rápida de demafast, com a fórmula: 2*ema5 - ema(ema5,5)

  2. Calcule a linha lenta de demaslow com a fórmula: 2*ema2 - ema(ema2,2)

  3. A linha rápida é composta por 5 dias de EMA, respondendo mais rapidamente às mudanças de preço; a linha lenta é composta por 2 dias de EMA, respondendo mais lentamente às mudanças de preço.

  4. Quando a linha rápida quebra a linha lenta de baixo, gera um sinal de compra; quando a linha rápida cai de cima para baixo e quebra a linha lenta, gera um sinal de venda.

  5. Assim, o uso de duas linhas de equilíbrio com diferentes velocidades de resposta para determinar a mudança na tendência de preços é uma estratégia típica de acompanhamento de tendências.

  6. Execução real de transações de acordo com os sinais de compra e venda.

A ideia central da estratégia é simples e clara: ajustar os parâmetros da linha média para os mercados de diferentes períodos é uma estratégia comum de acompanhamento de tendências.

Análise de vantagens

  1. O uso de duas linhas de equilíbrio para determinar mudanças na direção da tendência é um indicador técnico simples e prático.

  2. Os parâmetros de linha rápida e lenta são ajustáveis e podem ser otimizados para diferentes períodos.

  3. Os sinais de estratégia são claros e a execução é simples.

  4. A função de detecção está pronta para verificar a eficácia da estratégia.

  5. A interface visual mostra o cruzamento de forma intuitiva.

  6. A estratégia é fácil de entender e apropriada para quem está começando.

Análise de Riscos

  1. O cruzamento de duas linhas equiláreas pode ocasionar um sinal de atraso ou falso sinal. Pode-se ajustar os parâmetros de forma apropriada ou adicionar condições de filtragem para melhorar.

  2. Não é possível lidar eficazmente com a correção ou oscilação do mercado, sendo fácil de parar. Pode ser adicionado ao mecanismo de avaliação de tendências para otimização.

  3. Os parâmetros de detecção podem ser otimizados em espaço limitado, e o efeito do disco rígido deve ser verificado.

  4. Os custos de transação devem ser tidos em conta.

Direção de otimização

  1. Teste combinações de parâmetros de diferentes comprimentos de linha média para encontrar a melhor correspondência.

  2. Adicionar outros indicadores para filtragem de sinais, como o indicador KDJ.

  3. A inclusão de um mecanismo de parada de prejuízos para controlar as perdas individuais.

  4. Adição de funções de gerenciamento de posições, com diferentes porcentagens de transação em diferentes condições de mercado.

  5. Otimizar a estratégia de gestão de fundos e definir indicadores de risco, como a taxa de ganho e perda.

  6. Considere a inclusão de algoritmos de aprendizado de máquina para otimização de parâmetros ou julgamento de sinais.

Resumir

A estratégia SuperTrend é uma estratégia simples de acompanhamento de tendências, que pode ser aplicada de forma prática, adaptando-se a diferentes períodos com a adaptação de parâmetros. Em combinação com outros indicadores técnicos para otimizar a escala e o controle de risco, pode aumentar ainda mais a estabilidade da estratégia. A estratégia é fácil de aprender, mas também tem um grande potencial de expansão, é uma estratégia de negociação quantitativa muito prática.

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"}]
*/

strategy(title = "SuperTrend", shorttitle = "BTC")
ema5=ta.ema(close, 5)
ema2=ta.ema(close, 2)
 
demaFast =  request.security(syminfo.tickerid, "30", 2 * ema5 - ta.ema(ema5, 5)  )

plotchar((2 * ema5 - ta.ema(ema5, 5)), "d", "", location = location.top)
plotchar(demaFast, "fast", "", location = location.top)

demaSlow  = request.security(syminfo.tickerid,"30", 2 * ema2 - ta.ema(ema2, 2)  )
plotchar(demaSlow, "slow", "", location = location.top)

buy = ta.crossover(demaSlow, demaFast)
sell = ta.crossunder(demaSlow, demaFast)
strategy.entry("BUY", strategy.long, 1, when = buy)
strategy.entry("SELL", strategy.short, 1, when = sell )