Estratégia de negociação Span baseada no sistema EMA duplo


Data de criação: 2023-09-20 11:39:40 última modificação: 2023-09-20 11:39:40
cópia: 0 Cliques: 692
1
focar em
1617
Seguidores

Visão geral

Esta estratégia é uma estratégia típica de acompanhamento de tendências, calculada rapidamente e lentamente por dois indicadores EMA, gerando sinais de compra e venda de acordo com a sua interseção. Quando a linha rápida atravessa a linha lenta, faça mais, e a linha baixa atravessa a linha mais baixa; quando a linha rápida atravessa a linha lenta, faça espaço, e a linha baixa atravessa a linha baixa.

Princípio da estratégia

A estratégia calcula duas linhas médias de EMA de forma rápida e lenta, com períodos de 13 e 50, respectivamente. Quando a linha rápida de baixo para cima quebra a linha lenta, gera um sinal de compra. Quando a linha rápida de cima para baixo quebra a linha lenta, gera um sinal de venda.

Depois de fazer mais, se a linha rápida cair novamente sobre a linha lenta, um sinal de cabeça plana é gerado; depois de fazer a vaga, se a linha rápida voltar a romper a linha lenta, um sinal de cabeça plana é gerado.

Análise de vantagens

A estratégia usa o sistema comum de duplo EMA para julgar as tendências de mercado e os pontos de entrada de acordo com o cruzamento de diferentes períodos de EMA. A dupla EMA é usada em conjunto para filtrar o ruído e identificar as tendências.

A operação é simples, intuitiva e fácil de automatizar. E só precisa ser realizada com base na informação de preços, sem considerar outros fatores complexos. O ciclo EMA pode ser ajustado livremente para se adaptar a diferentes ambientes de mercado.

Análise de Riscos

O sistema de duplo cruzamento de EMA é geralmente eficaz na identificação de tendências de variações de curvatura. Em mercados de zonas de turbulência, os sinais de cruzamento de EMA são frequentes e fáceis de serem presos.

O intervalo semanal do EMA pode ser ampliado de forma apropriada, reduzindo a frequência de cruzamento. Indicadores como volume de transação ou taxa de flutuação também podem ser incluídos para julgamento auxiliar. Além disso, a otimização da estratégia de parada de perdas também pode reduzir o risco de cobertura.

Direção de otimização

  1. Teste para otimizar os parâmetros do ciclo EMA para encontrar o parâmetro otimizado.

  2. Regras de julgamento, como indicadores de aumento de capacidade ou indicadores de taxa de flutuação.

  3. A partir de janeiro, os visitantes poderão entrar em contato com o site da empresa, através de um e-mail.

  4. Aplicação de aprendizagem de máquina para prever tendências de preços, auxiliando a EMA a determinar a qualidade do sinal.

  5. Optimizar estratégias de stop loss, como stop loss móvel, stop loss médio e outros.

  6. Ajustar posições de forma dinâmica e otimizar a gestão de fundos.

Resumir

A estratégia pertence a um típico sistema de cruzamento de duplas EMAs, julgando tendências por um simples conjunto de indicadores. A vantagem é que é fácil de implementar, mas também é fácil de gerar sinais errôneos. A combinação de mais indicadores e otimização de parâmetros pode aumentar a estabilidade da estratégia.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © himanshumahalle

//@version=4
strategy("CROSS_ALGO SYSTEM")


// INPUT CONTROLS

lengthSEMA= input(title="LSEMA", type = input.integer, defval=13,minval=1,maxval=100,step=1)
lengthLEMA= input(title="LLEMA", type = input.integer, defval=50,minval=1,maxval=100,step=1)

//INDICATOR

SEMA= ema(close,lengthSEMA)
LEMA= ema(close,lengthLEMA)

// BUY AND SELL

buy = crossover(SEMA,LEMA)
sell = crossunder(SEMA,LEMA)

//EXITS

buyexit = crossunder(SEMA,LEMA)
sellexit = crossover(SEMA,LEMA)


//EXECUTION

strategy.entry("long",strategy.long,when=buy,comment = "Buy")
strategy.entry("short",strategy.short,when=sell,comment = "Sell")

strategy.close("long",when= buyexit , comment= "Sell")
strategy.close("short",when= sellexit , comment= "Buy")