A estratégia de trilha de stop loss dinâmica calcula a faixa verdadeira média (ATR) das ações como referência, combinada com os coeficientes ATR definidos pelos usuários para definir dinamicamente as linhas de stop loss e as linhas de trilha para alcançar o propósito da trilha de stop loss.
A estratégia usa principalmente o indicador técnico ATR para calcular a faixa média verdadeira dos preços das ações e combina os coeficientes ATR inseridos pelos usuários como pontos de referência para compras de ruptura de ações e vendas de stop loss. Especificamente, a estratégia primeiro calcula o valor ATR da ação nos últimos 120 dias, em seguida, multiplica pelo coeficiente ATR de venda definido pelo usuário para obter o preço de referência de venda de stop loss, ou seja, a linha de stop loss; multiplica pelo coeficiente ATR de compra para obter o preço de referência de compra, ou seja, a linha de trilha. Quando o preço mais alto de hoje quebra a linha de trilha, uma posição longa é estabelecida usando uma estratégia de rastreamento de tendência; quando o preço mais baixo de hoje cai abaixo da linha de perda e mantém uma posição longa, uma posição curta é estabelecida usando uma estratégia de reversão.
A estratégia também traça linhas de stop loss e trail lines. As posições dessas duas linhas mudarão de acordo com as flutuações nos preços das ações, com algumas capacidades de rastreamento dinâmico. O indicador ATR pode refletir melhor a faixa de flutuação média verdadeira de um estoque. Usar o indicador ATR para definir linhas de trail stop loss pode ajudar a evitar perdas causadas por grandes flutuações de ações até certo ponto.
Em resumo, esta é uma estratégia típica de trilha de stop loss. A ideia central é definir linhas de stop loss e linhas de trilha com base em indicadores ATR para rastreamento de tendências. As vantagens desta estratégia são que a negociação bidirecional é habilitada e as posições são flexíveis; os indicadores ATR ajudam a controlar os riscos, tornando-a adequada para ações altamente voláteis. No entanto, existem alguns riscos de rastreamento cego devido a regras de negociação bastante simples; configurações de parâmetros inadequadas também afetam a eficácia da estratégia. As otimizações futuras podem se concentrar em melhorar o tempo de negociação, controlar os tamanhos das posições, reduzir o excesso de negociação, etc. para tornar o desempenho da estratégia mais robusto.
/*backtest start: 2022-11-14 00:00:00 end: 2023-11-20 00:00:00 period: 1d basePeriod: 1h 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/ // © phobo3s //@version=4 strategy("ATR Stop Buy Strategy",shorttitle="ATR-ST",initial_capital=1000, overlay = true, default_qty_type = strategy.percent_of_equity, pyramiding = 5, default_qty_value = 20, commission_type = strategy.commission.cash_per_order, commission_value = 1, calc_on_every_tick = true) daysBack = input(defval=120, title="Days Back", type=input.integer) sellCoeff = input(defval=1.5, title="Selling Coefficent For ATR", type=input.float, minval= 0.01, step=0.1) buyCoeff = input(defval=1.2, title = "Buying Coefficent For ATR", type=input.float, minval= 0.01, step=0.1) fromDate = timenow - (daysBack*24*60*60*1000) toDate = timenow ATR = atr(14) stopLossPoint = ATR * sellCoeff buyPoint = ATR * buyCoeff StoplossLine = close[1] - stopLossPoint[1] BuyLine = close[1] + buyPoint[1] if (high > BuyLine and time >= fromDate and time <= toDate ) strategy.entry("GG", strategy.long, comment="Gir") if (low < StoplossLine and strategy.position_avg_price < close and time >= fromDate and time <= toDate ) strategy.entry("GG", strategy.short, comment="Çık") //longFlags = close < StoplossLine //shortFlags = close > BuyLine //plotshape(shortFlags, style=shape.triangledown, location=location.abovebar, color=color.red) //plotshape(longFlags, style=shape.triangleup, location=location.belowbar, color=color.blue) plot(StoplossLine) plot(BuyLine)