
A estratégia de seguimento de stop loss dinâmico através da calculação da média real de ações ATR como referência, em combinação com a configuração do usuário ATR coeficiente dinâmico para definir a linha de stop loss e linha de seguimento, para atingir o objetivo de stop loss. Quando o preço da ação quebrar a linha de seguimento, a utilização de uma estratégia de seguimento de tendência tradicional para criar uma posição multi-termo; quando o preço da ação cair a linha de stop loss, a utilização de uma estratégia de reversão para criar uma posição em aberto, a utilização de negociação bidirecional para obter lucro.
A estratégia utiliza o indicador ATR para calcular a média real de variação do preço das ações, combinando o coeficiente ATR com a entrada do usuário como base para a compra e venda de stops. Concretamente, a estratégia primeiro calcula o valor ATR dos últimos 120 dias da ação, e depois multiplica o coeficiente ATR de venda e venda definido pelo usuário para obter o preço de referência de parada e venda, ou seja, a linha de parada; multiplica o coeficiente ATR de compra e compra para obter o preço de referência de compra, ou seja, a linha de retorno.
A estratégia traça simultaneamente uma linha de stop loss e uma linha de retorno, cuja posição varia de acordo com a flutuação do preço das ações, com uma função de rastreamento dinâmico. O indicador ATR pode refletir melhor a média real da flutuação das ações.
Esta estratégia é, em geral, uma estratégia típica de stop loss e seguimento de perdas, a ideia central é baseada no indicador ATR para definir a linha de stop loss e linha de seguimento de tendências. A vantagem da estratégia é que pode ser negociado em ambos os sentidos, a posição é flexível; o uso do indicador ATR para controlar o risco, é adequado para ações de alta volatilidade. Mas, como as regras de compra e venda são mais simples, existe um certo risco de seguimento cego.
/*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)