O recurso está a ser carregado... Carregamento...

Turtle-ATR Bollinger Bands Breakout Strategy (Estratégia de ruptura das bandas de Bollinger)

Autora:ChaoZhang, Data: 2024-06-03 10:48:09
Tags:ATR

img

Resumo

Esta é uma estratégia de tendência baseada nas regras do Turtle Trading. A estratégia usa ATR (Average True Range) para determinar a direção da tendência e o tamanho da posição de negociação. Quando o preço sai do preço mais alto ou mais baixo em um determinado período, a estratégia abrirá uma posição longa ou curta. A posição será mantida até que o preço saia do preço mais baixo ou mais alto em um determinado período, quando a estratégia fechará a posição.

Princípio da estratégia

O núcleo desta estratégia é usar o indicador ATR para determinar a direção da tendência e o tamanho da posição de negociação. O indicador ATR pode medir a volatilidade do mercado, ajudando-nos a determinar níveis de stop-loss e tamanhos de posição adequados. Os principais passos da estratégia são os seguintes:

  1. Calcular o valor do indicador ATR.
  2. Determine os níveis de preço de ruptura para posições longas e curtas.
  3. Se o preço ultrapassar o preço de ruptura longa, abrir uma posição longa; se o preço ultrapassar o preço de ruptura curta, abrir uma posição curta.
  4. Calcular o tamanho da posição para cada operação com base no valor do indicador ATR e no saldo da conta.
  5. Mantenha a posição até que o preço rompa o preço mais baixo (para posições longas) ou o preço mais alto (para posições curtas) durante um determinado período, depois feche a posição.

A utilização do indicador ATR ajuda-nos a ajustar dinamicamente os tamanhos das posições para melhor adaptar-nos à volatilidade do mercado.

Vantagens da estratégia

  1. Seguimento de tendências: A estratégia visa capturar mercados em forte tendência, gerando assim lucros substanciais.
  2. Controlo de riscos: ao utilizar o indicador ATR para determinar os tamanhos das posições e os níveis de stop-loss, a estratégia pode controlar eficazmente o risco.
  3. Adaptabilidade: O indicador ATR pode ser ajustado dinamicamente, permitindo que a estratégia se adapte a diferentes ambientes de mercado.
  4. Simplicidade: a lógica da estratégia é clara e fácil de compreender e de aplicar.

Riscos estratégicos

  1. Reversão da tendência: Quando as tendências do mercado se invertem repentinamente, a estratégia pode sofrer perdas significativas.
  2. Mercados agitados: Em mercados agitados, a estratégia pode abrir e fechar posições com frequência, levando a altos custos de negociação.
  3. Sensibilidade dos parâmetros: o desempenho da estratégia pode ser sensível às configurações dos parâmetros e parâmetros inadequados podem levar a um desempenho fraco.

Para fazer face a estes riscos, podem ser consideradas as seguintes soluções:

  1. Introduzir um mecanismo de confirmação da tendência para evitar a abertura prematura de posições quando a tendência se inverter.
  2. Reduzir o tamanho das posições ou suspender a negociação em mercados agitados.
  3. Otimize os parâmetros para encontrar a melhor combinação.

Orientações para a otimização da estratégia

  1. Introduzir mais indicadores: para além do indicador ATR, considere a introdução de outros indicadores de confirmação de tendências, tais como médias móveis, para melhorar a precisão da identificação de tendências.
  2. Ajuste dinâmico dos parâmetros: ajuste dinâmico dos parâmetros da estratégia com base em diferentes ambientes de mercado, como o período ATR e o período de preço de ruptura, para se adaptar às alterações do mercado.
  3. Incorporar um Mecanismo Take Profit: Após alcançar um certo lucro, considere fechar parcialmente as posições para bloquear os lucros e reduzir o risco.
  4. Gerenciamento de posições longas/cortas: considerar a gestão de posições longas e curtas separadamente, por exemplo, utilizando diferentes padrões de stop-loss e take-profit, para melhorar a flexibilidade da estratégia.

Através das otimizações acima referidas, a estabilidade e a rentabilidade da estratégia podem ser ainda melhoradas.

Resumo

A Estratégia de Breakout de Bandas de Bollinger é uma estratégia baseada nas regras de Turtle Trading. A estratégia utiliza o indicador ATR para determinar a direção da tendência e o tamanho da posição de negociação, abrindo posições quando o preço sai do preço mais alto ou mais baixo em um determinado período e mantendo posições até que a tendência se inverta. As vantagens da estratégia estão em sua capacidade de capturar mercados de tendência forte enquanto controla estritamente o risco. No entanto, a estratégia também enfrenta riscos como inversões de tendência, mercados agitados e sensibilidade de parâmetros. Para melhorar ainda mais o desempenho da estratégia, as otimizações podem ser consideradas em áreas como a introdução de mais indicadores, ajuste dinâmico de parâmetros, incorporação de mecanismos de take-profit e otimização do gerenciamento de posição.


/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © luisfeijoo22

//@version=5
strategy("Estrategia de las tortugas_ES", overlay=true, pyramiding=3)

// Parámetros 
atrLength = input.int(20, "Longitud del ATR")
atrFactor = input.float(2, "Factor del ATR")
entryBreakout = input.int(20, "Breakout de entrada")
exitBreakout = input.int(10, "Breakout de salida")
longOnly = input.bool(false, "Solo largos")
shortOnly = input.bool(false, "Solo cortos")


// Cálculo del ATR
atr = ta.atr(atrLength)

// Cálculo de los niveles de breakout
longEntry = ta.highest(high, exitBreakout)[1]
longExit = ta.lowest(low, exitBreakout)[1]
shortEntry = ta.lowest(low, exitBreakout)[1]
shortExit = ta.highest(high, exitBreakout)[1]

// Cálculo del tamaño de la posición
nContracts = math.floor((strategy.equity * 0.01) / (atrFactor * atr))

// Filtra las fechas según el rango deseado
// in_range = time >= timestamp(year(start_date), month(start_date), dayofmonth(start_date)) 

// Condiciones de entrada y salida
longCondition = not longOnly and close > longEntry and time >= timestamp("2023-03-15")
if longCondition
    strategy.entry("Long", strategy.long, qty = nContracts)

shortCondition = not shortOnly and close < shortEntry and time >=  timestamp("2023-03-15")
if shortCondition
    strategy.entry("Short", strategy.short, qty = nContracts)
    
strategy.exit("Exit Long", "Long", stop = longExit)
strategy.exit("Exit Short", "Short", stop = shortExit)

// Visualización de los niveles de breakout
plot(longEntry, "Entrada larga", color.green, style = plot.style_line)
plot(longExit, "Salida larga", color.red, style = plot.style_line)
plot(shortEntry, "Entrada corta", color.green, style = plot.style_line)
plot(shortExit, "Salida corta", color.red, style = plot.style_line)



Relacionados

Mais.