O recurso está a ser carregado... Carregamento...

Estratégia de ruptura da tendência

Autora:ChaoZhang, Data: 2023-12-27 17:34:31
Tags:

img

Resumo

A estratégia de breakout de tendência é uma estratégia quantitativa que julga as tendências do mercado e as negociações calculando a volatilidade dos preços. A estratégia usa a fórmula (alto-baixo) / perto para calcular a volatilidade dos preços do candelabro e a processa ainda mais através da média móvel para julgar se ocorre uma inversão de tendência. Quando a volatilidade é maior do que o nível médio em um período recente, uma nova tendência pode estar emergindo.

Estratégia lógica

O indicador central desta estratégia é (alto-baixo) / fechado, o que reflete a amplitude do candelabro. A estratégia primeiro calcula este indicador, depois toma seu valor absoluto e calcula a média móvel simples. Se o valor absoluto do indicador de volatilidade do candelabro atual for maior do que o valor médio móvel em um período, isso significa que uma nova tendência pode estar se formando.

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

  1. Calcular (alto-baixo) / fechar como indicador de volatilidade
  2. Tomar o valor absoluto do indicador de volatilidade e calcular a média móvel simples
  3. Comparar a volatilidade atual do candelabro com a média móvel ao longo de um período (input do utilizador)
  4. Se a volatilidade atual for superior à média móvel, formar sinal longo; se for inferior, formar sinal curto
  5. Fazer posições longas ou curtas com base nas direcções do sinal

A estratégia também contém gráficos de indicadores, mudança de cor do candelabro e outras visualizações para julgamento de tendência intuitivo.

Vantagens

As principais vantagens desta estratégia são:

  1. Princípio simples e direto, fácil de compreender e aplicar
  2. Utilização da volatilidade dos preços para avaliar a evolução da tendência do mercado, sem quadro fixo de indicadores
  3. Parâmetros personalizáveis para ajustar a sensibilidade do julgamento
  4. Bom efeito intuitivo combinado com gráficos de indicadores e mudança de cor
  5. Pode suavizar o ruído e detectar tendências de médio e longo prazo

Em geral, esta estratégia quebra o padrão de pensamento do julgamento de indicadores tradicionais e só se concentra na própria volatilidade de preços para capturar de forma flexível potenciais mudanças de tendência.

Riscos

Os principais riscos desta estratégia incluem:

  1. Muito sensível à volatilidade do mercado, pode gerar múltiplos sinais inválidos
  2. Considere apenas a volatilidade dos preços, ignorando outros fatores
  3. Configurações de parâmetros incorretas podem perder tendências ou causar julgamentos errados
  4. Incapacidade de distinguir tendências a médio e longo prazo e ajustamentos a curto prazo

Para reduzir os riscos, podemos considerar a combinação de outros indicadores de julgamento para verificar a validade dos sinais de tendência e ajustar adequadamente os parâmetros aos indicadores de volatilidade suaves, filtrando ruídos de curto prazo.

Orientações de otimização

As principais direcções para otimizar esta estratégia incluem:

  1. Combinar volume de negociação e outros indicadores para determinar a validade da tendência
  2. Adicionar modelos de aprendizagem de máquina para julgar a qualidade do sinal
  3. Otimize as configurações dos parâmetros para melhores efeitos de suavização
  4. Distinguir as tendências a médio e longo prazo e os ajustamentos a curto prazo
  5. Combinar com estratégias de stop loss para controlar a perda por transação

Essas medidas de otimização podem reduzir a probabilidade de trocas erradas e melhorar a lucratividade da estratégia. Em particular, adicionar indicadores e modelos para determinar a validade do sinal pode reduzir muito os sinais inválidos. Além disso, as estratégias de stop loss também são necessárias para controlar a perda de uma única negociação e garantir retornos gerais.

Resumo

Esta estratégia de ruptura de tendência julga as mudanças de tendência do mercado calculando a volatilidade dos preços. O princípio é simples e direto, e o uso é flexível com parâmetros personalizáveis para ajuste de sensibilidade. A estratégia tem a vantagem de capturar mudanças de tendência, mas também tem alguns riscos. Podemos melhorá-la otimizando indicadores de julgamento, estabelecendo modelos de filtragem, ajustando configurações de parâmetros e assim por diante, para tornar a estratégia mais estável e confiável. Em geral, esta estratégia fornece uma nova ideia para determinar mudanças de tendência do mercado e vale a pena mais pesquisa e otimização.


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

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v2.0 25/10/2017
//
//  This histogram displays (high-low)/close
//  Can be applied to any time frame.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="(H-L)/C Histogram Backtest", precision = 2)
input_barwidth = input(4, title="Bar Width")
input_barsback = input(1, title="Look Back")
input_percentorprice = input(false, title="% change")
input_smalength = input(16, title="SMA Length")
reverse = input(false, title="Trade reverse")
hline(0, color=blue, linestyle=line)
xPrice = (high-low)/close
xPriceHL = (high-low)
xPrice1 = iff(input_percentorprice, xPrice * 100, xPriceHL)
xPrice1SMA = sma(abs(xPrice1), input_smalength)
pos = 0.0
pos := iff(xPrice1SMA[input_barsback] > abs(xPrice1), 1,
	   iff(xPrice1SMA[input_barsback] < abs(xPrice1), -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(abs(xPrice1), color=green, style = histogram, linewidth = input_barwidth, title="Change")
plot(xPrice1SMA[input_barsback], color=red, title="SMA")

Mais.