Esta é uma estratégia de negociação de curto prazo baseada na teoria do breakout.
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:
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.
A estratégia apresenta as seguintes vantagens:
Há também alguns riscos:
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.
A estratégia pode ser otimizada a partir dos seguintes aspectos:
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)))