
Esta estratégia baseia-se no indicador ATR para definir o preço de stop loss dinâmico de dois parâmetros diferentes, um stop loss rápido e um stop loss lento, para estabelecer uma posição de multi-transação ou stop loss de saída de acordo com a quebra do preço em diferentes preços de stop loss. O objetivo da estratégia é usar o indicador ATR para definir uma posição de stop loss razoável e, ao mesmo tempo, garantir o stop loss.
Esta estratégia usa o indicador ATR para calcular o ponto de parada de dois parâmetros diferentes. O ponto de parada rápido usa o ATR de 5 ciclos multiplicado por 0,5 como amplitude de parada; o ponto de parada lento usa o ATR de 10 ciclos multiplicado por 3 como amplitude de parada.
A lógica é a seguinte:
Calcule o ATR de trail 1: 5 multiplicado por 0,5
Calcule o ATR de trail de stop-loss de 2:10 vezes 3
Quando a alta do preço ultrapassar o trail 1, estabeleça uma posição a mais
Quando o preço continua a subir e ultrapassa o Trail2, a posição de parada é ajustada para o Trail2
Se o preço inverter a queda e quebrar o Trail1, a posição de stop loss será deslocada de volta para o Trail1
Se o preço continuar a descer e quebrar o Trail2, o Stop Loss será ajustado para o Trail2
Por fim, se o preço desencadear um stop loss, o stop loss sairá da posição.
Desta forma, é possível acompanhar a tendência para obter lucros quando os preços sobem, e parar em tempo hábil quando os preços caem. Ao mesmo tempo, os dois preços de parada podem equilibrar a relação entre a parada e o acompanhamento.
O ATR utiliza a dinâmica de posicionamento de stop loss para definir a amplitude de stop loss com base na volatilidade do mercado.
O mecanismo de duplo stop-loss equilibra a relação entre stop-loss e tracking, permitindo tanto o stop-loss quanto o tracking.
Multidirecionalismo é uma grande tendência, fácil de lucrar
A lógica da estratégia é simples, clara e fácil de entender.
As regras de parada são rigorosas e eficazes, permitindo a parada oportuna e o controle de perdas.
Parâmetros do indicador ATR mal definidos, podendo levar a um stop loss muito solto ou muito apertado
O risco é multidirecional, e os preços podem ficar baixos no topo.
A regra de stop loss dupla é mais complexa e pode falhar se os parâmetros forem configurados de forma inadequada
Não considerar a possibilidade de quebrar condições de filtragem como a EMA, o que representa um risco de transações erradas
Risco de sobrecompra e sobrevenda sem considerar a gestão de fundos e de posições
Para os riscos acima, pode-se reduzir o risco através da otimização dos parâmetros ATR, adicionar condições de filtragem e reforçar a gestão de fundos.
Optimizar a combinação de parâmetros ATR para encontrar o melhor parâmetro
Adição de indicadores como EMA Filters in correspondem a Barriers
Indicadores como o RSI de Stoch e outros
Reincorporação ao mecanismo de reentrada e otimização da gestão de posições
Otimização das regras de gestão de fundos e controle da taxa de perda única
Combinação de posicionamento da rede BTC10 wsb para evitar erros de direção geral
Estratégias para considerar a inclusão de níveis horários
Aumentar a estratégia de variedades para todo o mercado
Implementar um mecanismo de negociação de alta performance
Otimizando os pontos acima, você pode reduzir o risco de erros de negociação e aumentar a estabilidade e a taxa de vitória da estratégia.
A estratégia é clara em sua concepção geral, e usa o método de stop loss duplo do indicador ATR para estabelecer posições e rastrear o stop loss. A vantagem da estratégia é que as regras de stop loss são rigorosas, o risco de perda pode ser controlado e a lógica é fácil de implementar. Existe um risco de certa direção, que pode reduzir o risco e melhorar a eficácia por meio de combinações de parâmetros de otimização, adicionando condições de filtragem e melhorando a gestão de fundos.
/*backtest
start: 2023-10-25 00:00:00
end: 2023-11-01 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("ATR Trailing Stop Strategy (Long Position Only)", overlay=true)
SC = input(close, "Source", input.source)
// Fast Trail
AP1 = input(5, "Fast ATR period", input.integer)
AF1 = input(0.5, "Fast ATR multiplier", input.float)
SL1 = AF1 * atr(AP1)
Trail1 = 0.0
Trail1 := iff(SC > nz(Trail1[1], 0) and SC[1] > nz(Trail1[1], 0), max(nz(Trail1[1], 0), SC - SL1), iff(SC < nz(Trail1[1], 0), SC + SL1, na))
// Slow Trail
AP2 = input(10, "Slow ATR period", input.integer)
AF2 = input(3, "Slow ATR multiplier", input.float)
SL2 = AF2 * atr(AP2)
Trail2 = 0.0
Trail2 := iff(SC > nz(Trail2[1], 0) and SC[1] > nz(Trail2[1], 0), max(nz(Trail2[1], 0), SC - SL2), iff(SC < nz(Trail2[1], 0), SC + SL2, na))
Green = Trail1 > Trail2 and close > Trail2 and low > Trail2
Buy = crossover(Trail1, Trail2)
plotshape(Buy, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
strategy.entry("Buy", strategy.long, when = Buy)
var float trailingStopPrice = na
if (Trail2 > trailingStopPrice)
trailingStopPrice := Trail2
if (crossover(Trail1, Trail2))
trailingStopPrice := Trail2
strategy.exit("Exit", from_entry = "Buy", stop=trailingStopPrice)