
A estratégia de ruptura de tendência é uma estratégia quantitativa para julgar a tendência do mercado e negociar com base na volatilidade dos preços. A estratégia usa a fórmula de preço mais alto - preço mais baixo / preço de encerramento para calcular a volatilidade do preço da linha K, e depois é suavizada pela linha média para determinar se há uma reversão de tendência. Quando a volatilidade é maior do que a média do período mais recente, indica a possibilidade de uma nova tendência, e a estratégia emite um sinal de negociação.
O indicador central da estratégia é o preço máximo - preço mínimo / preço de fechamento, que reflete a amplitude de flutuação da linha K. A estratégia primeiro calcula este indicador, depois toma seu valor absoluto e calcula uma média móvel simples. Se o valor absoluto do indicador de amplitude de flutuação da linha K atual for maior do que a média móvel de um determinado período no passado, isso pode indicar que uma nova tendência está sendo formada.
A estratégia inclui as seguintes etapas:
A estratégia também inclui operações visuais, como o mapeamento de indicadores e a mudança de cor da linha K, para facilitar a avaliação intuitiva das tendências do mercado. Em geral, a estratégia usa a volatilidade dos preços para avaliar mudanças de tendências potenciais.
A estratégia tem as seguintes vantagens principais:
Em geral, a estratégia quebra o paradigma de pensamento tradicional de avaliação de indicadores, focando apenas na volatilidade do próprio preço, capturando com flexibilidade as mudanças de tendência em potencial. Os parâmetros são ajustáveis e a facilidade de uso é uma estratégia de tendência recomendada.
A estratégia também apresenta os seguintes principais riscos:
Esses riscos estão relacionados principalmente com a estratégia de depender demais da volatilidade dos preços para julgar as tendências do mercado. Para reduzir o risco, pode-se considerar a combinação de outros indicadores de julgamento para julgar a eficácia dos sinais de tendência; também pode-se ajustar adequadamente os parâmetros, suavizar os indicadores de volatilidade e filtrar o ruído de linhas curtas.
A estratégia pode ser melhorada em:
Essas medidas de otimização podem reduzir a probabilidade de transações erradas e aumentar a taxa de lucro da estratégia. Em particular, aumentar os indicadores e modelos que julgam a eficácia do sinal pode reduzir drasticamente os sinais inativos. Além disso, a estratégia de parada de perda também é necessária para controlar as perdas individuais e garantir o lucro geral.
Esta estratégia de ruptura de tendência determina a mudança de tendência do mercado através da computação da volatilidade dos preços. O princípio é simples e direto, e usa flexibilidade e ajuste de parâmetros personalizáveis para determinar a sensibilidade. A estratégia tem a vantagem de capturar mudanças de tendência, mas também existe um certo risco.
/*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")