A estratégia de tendência de longo prazo é uma estratégia que rastreia as tendências de preços usando médias móveis dinâmicas. Determina a tendência atual calculando as médias móveis dos preços mais altos e mais baixos em um período e combina-a com o ATR para stop loss dinâmico e take profit. Esta estratégia funciona bem em mercados de tendência, capturando inversões de tendência de maneira oportuna para a detenção de longo prazo.
A estratégia primeiro calcula as médias móveis dos preços mais altos e mais baixos durante um período (default 200 dias) e toma seu ponto médio como a linha de base. Em seguida, mede o desvio do preço da linha de base. Se o preço estiver acima da linha de base em 1 ATR (0,5 vezes 10 dias ATR por padrão), é considerado uma tendência de alta. Se o preço estiver abaixo da linha de base em 1 ATR, é considerado uma tendência de queda. As posições longas ou curtas são inseridas com base no estado da tendência.
Quando o preço retorna à linha de base, os sinais de saída são acionados. Além disso, o ATR dinâmico permite o stop loss e take profit para seguir a tendência principal, evitando o excesso de negociação em flutuações menores.
Os riscos podem ser reduzidos ajustando os parâmetros do ATR, adicionando filtros para configurações de alta probabilidade e avaliando as condições do mercado e o apetite pelo risco.
O Trend Following Long Only Strategy é um sistema de negociação de tendências fácil de usar em geral. Ele identifica a direção da tendência usando médias dinâmicas e define controles de risco com paradas baseadas em ATR. Ele pode efetivamente capturar oscilações lucrativas em mercados de tendência. Os mercados de variação devem ser evitados para evitar batidas. Mais melhorias podem ser feitas através do ajuste de parâmetros, adicionando filtros e integrando técnicas de aprendizado de máquina.
/*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)