Estratégia de rastreamento dinâmico longo e curto


Data de criação: 2023-10-17 15:55:41 última modificação: 2023-10-17 15:55:41
cópia: 0 Cliques: 650
1
focar em
1617
Seguidores

Estratégia de rastreamento dinâmico longo e curto

Visão geral

A estratégia de seguimento dinâmico multi-espaço é uma estratégia que utiliza a média dinâmica para acompanhar a tendência dos preços. Ela determina a tendência atual através da medição das médias móveis dos preços mais altos e mais baixos em um determinado período e, em combinação com o ATR, realiza um stop loss dinâmico.

Princípio da estratégia

A estratégia primeiro calcula as médias móveis dos preços mais altos e mais baixos em um determinado período de tempo (default 200 dias) e usa o ponto médio dos dois como linha de referência. Em seguida, calcula o grau de desvio do preço da linha de referência, sendo considerado em alta tendência quando o preço é superior a uma ATR de referência (default 10 dias ATR de 0,5 vezes) e em baixa tendência quando o preço é inferior a uma ATR de referência.

Além disso, a mudança dinâmica do ATR pode fazer com que o stop-loss se estenda gradualmente com a tendência maior, reduzindo assim a negociação excessiva causada por flutuações não tendenciais.

Vantagens estratégicas

  1. A média dinâmica é uma forma eficaz de suavizar os dados de preços e identificar a direção das tendências de longo prazo.
  2. O ATR Stop Loss permite que a linha de Stop Loss acompanhe as grandes tendências de forma dinâmica, evitando a hipersensibilidade.
  3. Capturar a reversão da tendência e reduzir o desperdício de dinheiro
  4. É simples, fácil de entender e fácil de implementar.

Risco e cobertura

  1. Transações erradas em mercados em turbulência
  2. Parâmetros mal definidos podem perder o momento da reversão da tendência
  3. O mercado de ações e o mercado de ações podem estar separados, o que requer uma análise da situação de mercado livre.

Pode-se reduzir a sensibilidade ao stop loss através de ajustes apropriados dos parâmetros ATR, ou adicionar outros indicadores para selecionar o momento de negociação de alta determinação. Também pode ser combinado com a tendência do grande mercado para avaliar o apetite de risco, escolhendo se deve fazer mais apenas em situações de grande mercado.

Otimização de ideias

  1. Pode-se considerar uma segunda confirmação através de outros indicadores, como o indicador KDJ, após o sinal de entrada.
  2. Parâmetros de otimização que podem ser combinados com a situação básica das ações, como a flexibilização apropriada do ATR para ações de alta volatilidade
  3. O tamanho do ATR pode ser otimizado de acordo com os resultados dos testes de retorno, equilibrando o fator de lucro e a taxa de troca
  4. Ajustes dinâmicos para a introdução de volatilidade no mecanismo de suspensão de perda
  5. Parâmetros podem ser otimizados automaticamente por meio de aprendizado de máquina

Resumir

A estratégia de acompanhamento dinâmico multi-espaço é, em geral, uma estratégia de acompanhamento de tendências simples e práticas. Determina a direção da tendência através de médias dinâmicas e usa o ATR para implementar paradas de perda dinâmicas, podendo controlar eficazmente o risco. A estratégia é adequada para ambientes de mercado em que a tendência é evidente.

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

//@version=4
strategy("Trend Following Long Only Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

lookback_length = input(200, type=input.integer, minval=1, title="Lookback Length")
smoother_length = input(5, type=input.integer, minval=1, title="Smoother Length")
atr_length = input(10, type=input.integer, minval=1, title="ATR Length")
atr_multiplier = input(0.5, type=input.float, minval=0.5, title="ATR Multiplier")

vola = atr(atr_length) * atr_multiplier
price = sma(close, 3)

l = ema(lowest(low, lookback_length), smoother_length)
h = ema(highest(high, lookback_length), smoother_length)
center = (h + l) * 0.5
upper = center + vola
lower = center - vola
trend = ema(price > upper ? 1 : (price < lower ? -1 : 0), 3)
c = trend < 0 ? upper : lower

pcenter = plot(center, transp=100)
pclose = plot(close, transp=100)
pc = plot(c, transp=100)

buy_signal = crossover(trend, 0.0) 
sell_signal = crossunder(trend, 0.0)

strategy.entry("Buy", strategy.long, when=buy_signal)
strategy.close("Buy", when=sell_signal)

bgcolor(trend >= 0 ? color.green : color.red, transp=95)
fill(pc, pclose, color=trend >= 0 ? color.green : color.red)