Estratégia de fuga da tartaruga

Autora:ChaoZhang, Data: 2023-12-04 16:25:53
Tags:

img

Resumo

Esta é uma estratégia de negociação de curto prazo baseada na teoria do breakout.

Estratégia lógica

A estratégia usa o preço mais alto de 20 dias para identificar tendências de alta. Quando o preço de fechamento quebra acima do máximo de 20 dias, ele vai longo. Ele usa o preço mais baixo de 10 dias para identificar tendências de queda. Quando o preço de fechamento quebra abaixo do mínimo de 10 dias, ele vai curto. Ele também usa um preço mais alto de 10 dias como um sinal de saída de stop loss para negócios curtos.

Em especial, a estratégia inclui as seguintes regras:

  1. Inscrever-se em posição longa quando o preço de fechamento estiver acima da máxima de 20 dias;
  2. Entrar em curto prazo quando o preço de fechamento estiver abaixo do mínimo de 10 dias;
  3. Fechar posição curta quando o preço de fechamento for superior ao máximo de 10 dias;
  4. Fechar posição longa quando o preço de fechamento estiver abaixo do mínimo de 10 dias.

Ao comparar o preço de fechamento com os preços mais altos/mais baixos de diferentes períodos, detecta as rupturas da tendência dentro de ciclos de curto prazo e realiza transações de curto prazo.

Análise das vantagens

A estratégia apresenta as seguintes vantagens:

  1. Uma lógica simples e clara, fácil de compreender e implementar;
  2. Detectar as tendências de curto prazo em tempo útil com base na teoria da ruptura;
  3. Identificar as oportunidades de negociação de longo prazo e de curto prazo;
  4. Ajuste flexível do período de retenção através da definição de diferentes intervalos de parâmetros.

Análise de riscos

Há também alguns riscos:

  1. A negociação de breakout tende a ficar encurralada, sendo necessário um stop loss para controlar o risco;
  2. A mudança frequente entre longo e curto aumenta o custo de negociação e o deslizamento;
  3. As configurações incorretas dos parâmetros podem conduzir a uma troca excessiva ou a um atraso.

Podemos definir stop loss para limitar a perda por negociação, ou ajustar intervalos de parâmetros para controlar a frequência de negociação.

Optimização

A estratégia pode ser otimizada a partir dos seguintes aspectos:

  1. Adição de outros filtros para evitar falsas rupturas;
  2. Configuração de métodos de saída dinâmicos para traçar o stop loss com lucro;
  3. Adicionar regras de determinação de tendências para evitar negociações contrárias às tendências;
  4. Otimizar os intervalos de parâmetros para se adaptarem aos diferentes ciclos e condições do mercado.

Conclusão

Em conclusão, esta é uma estratégia de breakout de curto prazo simples e prática. Ajuda a capturar oportunidades de tendência de curto ciclo. Mas há riscos de ficar preso e alta frequência de negociação. Adicionando filtros, stop loss, otimização de parâmetros, podemos controlar os riscos e melhorar a eficiência. A estratégia é adequada para comerciantes que se concentram em chances de curto prazo e buscam alta taxa de rotatividade.


/*backtest
start: 2022-11-27 00:00:00
end: 2023-12-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("TurtleBC Strategy v2 V.Troussel", shorttitle="TurtleBC-V.Troussel", overlay=true, pyramiding=0)

// === BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1)
FromDay   = input(defval = 1, title = "From Day", minval = 1)
FromYear  = input(defval = 2016, title = "From Year", minval = 2016)
ToMonth   = input(defval = 1, title = "To Month", minval = 1)
ToDay     = input(defval = 1, title = "To Day", minval = 1)
ToYear    = input(defval = 9999, title = "To Year", minval = 9999)

enter_fast = input(20, minval=1)
exit_fast = input(10, minval=1)
exit_fast_short=input(10,minval=1)


fastL = highest(close, enter_fast)
fastS = highest(close ,exit_fast_short)
fastLC = lowest(close, exit_fast)
//Sortie pour le short
exitS=close>fastS[1]


enterL1 = close > fastL[1]
exitL1 = close <= fastLC[1]




strategy.entry("Long", strategy.long, when = enterL1 and (time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59)))
strategy.close("Long", when = exitL1 and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59)))

//le trigger de sortie est 
strategy.entry("Short", strategy.short, when = exitL1 and (time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59)))
strategy.close("Short", when = exitS and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59)))




Mais.