Estratégia de ruptura fractal dupla

Autora:ChaoZhang, Data: 2024-01-30 15:53:27
Tags:

img

Resumo

A estratégia de ruptura fractal dupla é uma estratégia quantitativa de negociação baseada no reconhecimento de padrões técnicos.

Estratégia lógica

A idéia central por trás desta estratégia está na teoria do fractal. O surgimento de pontos de virada de curto prazo em forma de M ou W sugere uma possível reversão da tendência predominante. Especificamente, os fractals de baixo ou de cima se formam quando 5 barras consecutivas criam combinações particulares de alto/baixo de altos/baixos relativos.

A estratégia gera sinais longos e curtos quando os preços ultrapassam os fractais inferiores e os superiores, respectivamente, uma vez que tais rupturas indicam uma maior probabilidade de reversão da tendência.

Vantagens

A principal vantagem desta estratégia é sua capacidade de detectar pontos de reversão de tendência em potencial, o que pode ser muito útil para sistemas de negociação de tendência.

Riscos

O principal risco é que a detecção de fractal não garante reversões de preços com total certeza. Às vezes, os preços podem apenas estar fazendo correções de curto prazo sem mudanças reais de tendência. Sinais incorretos podem levar a perdas desnecessárias em tais casos. Para mitigar esse risco, outros indicadores, como volumes de negociação, podem ser usados para verificar a validade dos sinais de reversão.

Reforço

Entre as formas possíveis de reforçar esta estratégia estão:

  1. Adicionando filtros como volume para evitar falsas inversões.

  2. Parâmetros de ajuste para detectar fractais duplos de grau maior e capturar grandes voltas de tendência.

  3. Incorporar movimentação de stop loss para reduzir perdas de negócios ruins.

Conclusão

A estratégia de ruptura fractal dupla identifica reversões potenciais de preços detectando padrões técnicos específicos. Como uma abordagem orientada por indicadores técnicos, pode rastrear efetivamente as tendências de curto e médio prazo no mercado e fornecer resultados respeitáveis de risco-recompensa.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ceyhun

strategy("Fractal Breakout Strategy", overlay=true)

FUp = high[4] < high[2] and high[3] < high[2] and high[1] < high[2] and high < high[2] or 
   high[5] < high[2] and high[4] < high[2] and high[3] <= high[2] and 
   high[1] < high[2] and high < high[2] or 
   high[6] < high[2] and high[5] < high[2] and high[4] <= high[2] and 
   high[3] <= high[2] and high[1] < high[2] and high < high[2] or 
   high[7] < high[2] and high[6] < high[2] and high[5] <= high[2] and 
   high[4] <= high[2] and high[3] <= high[2] and high[1] < high[2] and 
   high < high[2] or 
   high[8] < high[2] and high[7] < high[2] and high[6] <= high[2] and 
   high[5] <= high[2] and high[4] <= high[2] and high[3] <= high[2] and 
   high[1] < high[2] and high < high[2]
FractalUp = valuewhen(FUp, high[2], 1)
plot(FractalUp, color=#0000FF,title="FractalUp")

FDown = low[4] > low[2] and low[3] > low[2] and low[1] > low[2] and low > low[2] or 
   low[5] > low[2] and low[4] > low[2] and low[3] >= low[2] and low[1] > low[2] and 
   low > low[2] or 
   low[6] > low[2] and low[5] > low[2] and low[4] >= low[2] and low[3] >= low[2] and 
   low[1] > low[2] and low > low[2] or 
   low[7] > low[2] and low[6] > low[2] and low[5] >= low[2] and low[4] >= low[2] and 
   low[3] >= low[2] and low[1] > low[2] and low > low[2] or 
   low[8] > low[2] and low[7] > low[2] and low[6] >= low[2] and low[5] >= low[2] and 
   low[4] >= low[2] and low[3] >= low[2] and low[1] > low[2] and low > low[2]
FractalDown = valuewhen(FDown, low[2], 1)
plot(FractalDown, color=#FF0000,title="FractalDown")

if crossover(close, FractalUp)
    strategy.entry("Long", strategy.long, comment="Long")

if crossunder(close, FractalDown)
    strategy.entry("Short", strategy.short, comment="Short")


Mais.