TARTARUGA - Estratégia de rompimento da Banda de Bollinger ATR

ATR
Data de criação: 2024-06-03 10:48:09 última modificação: 2024-06-03 10:48:09
cópia: 0 Cliques: 710
1
focar em
1617
Seguidores

TARTARUGA - Estratégia de rompimento da Banda de Bollinger ATR

Visão geral

Esta é uma estratégia de acompanhamento de tendências baseada na lei de negociação da torcida. A estratégia usa o ATR (Average True Rate) para determinar a direção da tendência e o tamanho da posição de negociação. A estratégia abre uma posição a mais ou a menos quando o preço quebra o preço mais alto ou mais baixo do período anterior.

Princípio da estratégia

O núcleo da estratégia é o uso do 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 o ponto de parada e o tamanho da posição apropriados. Os principais passos da estratégia são os seguintes:

  1. Calcule o valor do indicador ATR.
  2. Determine os níveis de preço de ruptura para o multihead e para o hollowhead. O preço de ruptura para o multihead é o preço mais alto do período passado, e o preço de ruptura para o hollowhead é o preço mais baixo do período passado.
  3. Se o preço ultrapassar o preço de ruptura de mais de um ponto, abra uma posição de mais; Se o preço ultrapassar o preço de ruptura de vazio, abra uma posição de vazio.
  4. O tamanho da posição por transação é calculado com base no valor do indicador ATR e no saldo da conta.
  5. Mantenha uma posição até que o preço ultrapasse o preço mais baixo (multi-capitalização) ou o preço mais alto (capitalização) do período anterior e a posição seja liquidada.

Desta forma, a estratégia é capaz de capturar uma forte tendência, enquanto o risco é rigorosamente controlado. O uso do indicador ATR pode nos ajudar a ajustar dinamicamente o tamanho da posição para melhor se adaptar à volatilidade do mercado.

Vantagens estratégicas

  1. Seguimento de tendências: O objetivo da estratégia é capturar as tendências fortes e, assim, obter lucros significativos.
  2. Controle de Risco: A estratégia pode controlar o risco de forma eficaz, usando o indicador ATR para determinar o tamanho da posição e o ponto de parada.
  3. Adaptabilidade: O indicador ATR pode ser ajustado dinamicamente, permitindo que a estratégia se adapte a diferentes cenários de mercado.
  4. Simplicidade: a lógica da estratégia é clara, fácil de entender e de implementar.

Risco estratégico

  1. Reversão de tendência: a estratégia pode sofrer grandes perdas quando a tendência do mercado se reverte de forma súbita.
  2. Mercado de turbulência: Em mercados de turbulência, a estratégia pode levar a frequentes posições baixas, o que pode resultar em altos custos de transação.
  3. Sensibilidade de parâmetros: o desempenho da estratégia pode ser sensível à configuração de parâmetros, e parâmetros inadequados podem causar um mau desempenho da estratégia.

Para combater esses riscos, as seguintes soluções podem ser consideradas:

  1. Introdução de mecanismos de confirmação de tendências para evitar posições prematuras em caso de reversão de tendências.
  2. Reduzir a dimensão das posições ou suspender a negociação em mercados turbulentos.
  3. Otimizar os parâmetros para encontrar a melhor combinação de parâmetros.

Direção de otimização da estratégia

  1. Introdução de mais indicadores: Além do ATR, pode-se considerar a introdução de outros indicadores de confirmação de tendências, como a média móvel, para melhorar a precisão do julgamento de tendências.
  2. Parâmetros de ajuste dinâmico: De acordo com diferentes ambientes de mercado, ajuste dinâmico dos parâmetros da estratégia, como o ciclo ATR, o ciclo de preços de ruptura, etc., para se adaptar às mudanças do mercado.
  3. Adere ao mecanismo de stop-loss: após obter um determinado lucro, pode considerar a posição parcialmente livre para bloquear os lucros e reduzir o risco.
  4. Gerenciamento de posições em vários níveis: pode-se considerar o gerenciamento de posições em múltiplos níveis e posições em níveis diferentes, como o uso de padrões diferentes de stop loss para aumentar a flexibilidade da estratégia.

Com estas melhorias, a estabilidade e a rentabilidade da estratégia podem ser melhoradas.

Resumir

A estratégia de ruptura de turtle-ATR é uma estratégia de acompanhamento de tendências baseada nas regras de negociação de turbinas. A estratégia usa o indicador ATR para determinar a direção da tendência e o tamanho da posição de negociação, abrindo posições e mantendo posições até a reversão da tendência, rompendo os preços mais altos ou mais baixos do tempo passado. A vantagem da estratégia reside na capacidade de capturar um forte comportamento de tendência, enquanto o risco é rigorosamente controlado.

Código-fonte da estratégia
/*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)