Estratégia de Volatilidade Adaptativa Baseada em Breakout de Faixa Quantitativa


Data de criação: 2024-02-22 16:50:46 última modificação: 2024-02-22 16:50:46
cópia: 0 Cliques: 563
1
focar em
1617
Seguidores

Estratégia de Volatilidade Adaptativa Baseada em Breakout de Faixa Quantitativa

Visão geral

A estratégia, através da computação dos valores máximos e mínimos de volume de transações no período mais recente, forma uma faixa de flutuação adaptável, que gera um sinal de negociação quando o volume de transações do período atual ultrapassa esta faixa. A direção do sinal, de acordo com o julgamento de um cianotipo, pertence a uma estratégia simples e eficaz de rastrear o mercado.

Princípio da estratégia

A lógica central é calcular o valor máximo e mínimo do volume de transações positivas e negativas nos últimos N ciclos, formando uma faixa de flutuação adaptativa. Com base nessa faixa, julgue se houve uma ruptura no período. Ao mesmo tempo, integre os sinais de raios X e Y para concluir o julgamento.

O processo de cálculo é o seguinte:

  1. Calcular o mais alto e o mais baixo volume de transações nos últimos N ciclos
  2. Determine se o volume de transações do ciclo atual é maior do que o volume de transações do ciclo atual
  3. Combinação de corrente para determinar se o sinal de ruptura é negativo ou positivo
  4. Geração de sinais de vazio

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. Adaptação e sensibilidade às mudanças do mercado
  2. Capturar surpresas de alta volatilidade e reduzir a taxa de falhas
  3. Combinando o julgamento torto com a prevenção de brechas falsas
  4. Simples, fácil de entender e modificar
  5. Parâmetros flexíveis para variedades diferentes

Análise de Riscos

A estratégia também apresenta alguns riscos:

  1. É fácil de seguir, precisa de ajustar o controle de parâmetros
  2. Sinais errôneos podem ser frequentes em mercados de grandes ciclos
  3. Incapacidade de distinguir entre rupturas normais e anormais, necessitando combinar outros indicadores ou padrões de julgamento
  4. A única chance de entrar em uma brecha é não poder acompanhar a tendência.

Pode ser otimizado por ajuste do ciclo de parâmetros, em combinação com filtragem de outros indicadores.

Direção de otimização

A estratégia pode ser otimizada em várias direções:

  1. Aumento dos parâmetros para ajustar o comprimento dos intervalos para adaptar-se a diferentes ciclos de mercado
  2. Adicionar indicadores como linha de equilíbrio, faixa de Bryn e filtragem de sinais
  3. Otimização da combinação K-line para evitar falsas invasões
  4. Adição de módulos de reintrodução e de stop loss para que a estratégia possa acompanhar as tendências

Resumir

A estratégia é simples e prática em geral, e pode ser eficaz para capturar situações unilaterais de surpresa através da combinação de escala e quantificação. No entanto, há um certo risco de falha, que requer ajustes apropriados nos parâmetros e em conjunto com outras ferramentas para maximizar a eficácia.

Código-fonte da estratégia
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © EvoCrypto

//@version=4
strategy("Ranged Volume Strategy - evo", shorttitle="Ranged Volume", format=format.volume)

// INPUTS {
Range_Length    =   input(5,        title="Range Length",                       minval=1)

Heikin_Ashi     =   input(true,     title="Heikin Ashi Colors")
Display_Bars    =   input(true,     title="Show Bar Colors")
Display_Break   =   input(true,     title="Show Break-Out")
Display_Range   =   input(true,     title="Show Range")
// }

// SETTINGS {
Close           =   Heikin_Ashi ? security(heikinashi(syminfo.tickerid), timeframe.period, close)    : close
Open            =   Heikin_Ashi ? security(heikinashi(syminfo.tickerid), timeframe.period, open)     : open

Positive        =    volume
Negative        =   -volume

Highest         =   highest(volume, Range_Length)
Lowest          =   lowest(-volume, Range_Length)

Up              =   Highest > Highest[1] and Close > Open
Dn              =   Highest > Highest[1] and Close < Open

Volume_Color    =   
 Display_Break and Up   ? color.new(#ffeb3b, 0)     : 
 Display_Break and Dn   ? color.new(#f44336, 0)     : 
 Close > Open           ? color.new(#00c0ff, 60)    : 
 Close < Open           ? color.new(#000000, 60)    : na 
// }

//PLOTS {
plot(Positive,                      title="Positive Volume",    color=Volume_Color,             style=plot.style_histogram,  linewidth=4)
plot(Negative,                      title="Negative Volume",    color=Volume_Color,             style=plot.style_histogram,  linewidth=4)

plot(Display_Range ? Highest : na,  title="Highest",            color=color.new(#000000, 0),    style=plot.style_line,       linewidth=2)
plot(Display_Range ? Lowest  : na,  title="Lowest",             color=color.new(#000000, 0),    style=plot.style_line,       linewidth=2)

barcolor(Display_Bars ? Volume_Color : na)
// }

if (Up)
    strategy.entry("Long Entry", strategy.long)
if (Dn)
    strategy.entry("Short Entry", strategy.short)