Estratégia de Breakout de Fractal Duplo


Data de criação: 2024-01-30 15:53:27 última modificação: 2024-01-30 15:53:27
cópia: 0 Cliques: 772
1
focar em
1617
Seguidores

Estratégia de Breakout de Fractal Duplo

Visão geral

A estratégia de dupla ruptura de fracturas é uma estratégia de negociação quantitativa baseada em formas técnicas. A estratégia identifica a formação de duplas fracturas de base e duplas fracturas de topo e emite sinais de compra e venda quando o preço quebra essas fracturas.

Princípio da estratégia

A idéia central da estratégia é baseada na teoria da fração. Quando ocorrem pontos de inflexão de curto prazo semelhantes aos tipos M ou W, isso indica que a tendência atual pode se inverter. Concretamente, quando uma combinação específica de 5 linhas K consecutivas com maior altitude ou menor baixa se forma uma fração de fundo ou uma fração de topo. Por exemplo, no gráfico de linhas K, uma fração de topo é formada se o preço mais alto das duas primeiras linhas K for maior do que o preço mais alto das três linhas K seguintes.

Quando o preço despenca abaixo da divisão de fundo ou quebra a divisão de topo, isso indica uma maior probabilidade de reversão, de modo que a estratégia gera um sinal de compra e venda, respectivamente.

Vantagens estratégicas

A principal vantagem desta estratégia é a capacidade de identificar potenciais reviravoltas de tendência, o que é muito útil para estratégias de negociação que seguem o tipo de tendência. Além disso, a identificação de duplas frações torna os sinais de negociação mais confiáveis em comparação com estratégias que dependem apenas de uma única forma de linha K.

Risco estratégico

O principal risco dessa estratégia é que a identificação de frações não garante 100% de uma reversão de preço. Às vezes, o preço pode ser apenas uma correção de curto prazo e não ocorre uma mudança de tendência. Nesse caso, se a estratégia produzir um sinal errado, isso levará a perdas desnecessárias. Para reduzir esse risco, a possibilidade de uma reversão de preço pode ser verificada em combinação com outros indicadores, como volume de negociação.

Otimização de Estratégia

Esta estratégia pode ser melhorada através das seguintes formas:

  1. Adicionar condições de filtragem, como indicadores de volume de transação, para evitar falsas inversões.

  2. Ajustar os parâmetros para identificar a dupla deformação de períodos de tempo maiores para capturar a reversão da grande tendência.

  3. Combinado com a estratégia de stop loss móvel, para reduzir a perda de perdas.

Resumir

A estratégia de ruptura de dupla divisão para julgar uma potencial reversão de preço por meio da identificação de uma determinada forma de linha K é uma estratégia de tipo baseada em indicadores técnicos. Ela pode efetivamente acompanhar as tendências de curto e médio prazo do mercado e, com uma alta taxa de ganho e perda, é uma estratégia de negociação confiável e prática.

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