Tendência após estratégia baseada em bandas de Bollinger

Autora:ChaoZhang, Data: 2024-02-22 17:21:42
Tags:

img

Resumo

Esta estratégia é uma estratégia de seguimento de tendência baseada no indicador de Bandas de Bollinger. Utiliza as bandas superior e inferior das Bandas de Bollinger para determinar a direção da tendência e implementar o rastreamento da tendência.

Estratégia lógica

Esta estratégia usa o indicador Bollinger Bands para determinar a tendência de preços. Bollinger Bands contém três linhas - banda superior, banda inferior e banda média. A banda superior representa o limite de alta do preço, a banda inferior representa o limite de queda do preço e a banda média representa a linha média móvel do preço.

Especificamente, as condições de entrada longa desta estratégia são: 1) o preço de fechamento da vela atual é maior do que a faixa superior; 2) o preço de fechamento da vela anterior é menor do que a faixa superior. Isso sinaliza que o preço rompeu e a tendência de alta começa, por isso é apropriado ir longo. As condições de entrada curta são semelhantes: o preço de fechamento da vela atual está abaixo da faixa inferior e o preço de fechamento da vela anterior está acima da faixa inferior, indicando que o curto está pronto.

O mecanismo de stop loss desta estratégia define o nível de stop loss na faixa média, tanto para posições longas quanto curtas.

Forças da estratégia

A maior força desta estratégia é a sua capacidade de identificar as tendências de preços claramente, usando características do indicador Bollinger Bands para rastrear tendências, evitando o engano por oscilações do mercado.

Além disso, esta estratégia estabelece regras de entrada para os lados longo e curto, permitindo que a negociação bidirecional para maximizar a captura de flutuações de preços.

Riscos estratégicos

O principal risco desta estratégia reside na configuração dos parâmetros das Bandas de Bollinger. O período médio móvel e o tamanho do desvio padrão das Bandas de Bollinger afetarão diretamente a posição das bandas superior e inferior.

Além disso, usar a faixa média como nível de stop loss também tem risco em si. Quando o mercado experimenta flutuações acentuadas, o preço pode romper a faixa média abruptamente, desencadeando stop loss.

Melhorias na estratégia

Esta estratégia pode ser melhorada pelos seguintes aspectos:

  1. Otimize os parâmetros das bandas de Bollinger. Acumule dados empíricos com diferentes períodos para encontrar a melhor combinação de parâmetros.

  2. Adicionar regras de verificação de volume para evitar falhas em cenários de volume de negociação leve. Pode definir o limiar do volume de negociação que precisa exceder o valor médio recente antes de acionar ordens.

  3. Refinar o mecanismo de stop loss ajustando o nível de stop loss de forma dinâmica com base no grau de volatilidade do mercado.

  4. Incorporar o julgamento de mais indicadores como MACD, KDJ para ajudar a determinar o tempo de entrada, melhorando a precisão da operação.

Resumo

Em conclusão, esta é uma tendência prática seguindo a estratégia em geral. Identifica a direção da tendência usando o indicador Bollinger Bands e desencadeia ordens quando o preço quebra as bandas superiores ou inferiores. A negociação bidirecional ajuda a maximizar a captura dos movimentos de preços. Há um grande espaço para otimização de estratégia por meio de ajuste de parâmetros, refinamento de stop loss, etc. para melhores resultados.


/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © Valente_F
//@version=4
strategy(title="Strategy: Trend Following Bollinger Bands", shorttitle="Strategy: Trend Following Bollinger Bands", overlay = true, pyramiding = 0, default_qty_type = strategy.percent_of_equity)

//Inputs
//Bollinger Bands Parameters
length = input(defval=20, minval=1, title= "Length")
stddev = input(defval=2, minval=0.5, title= "StdDev")

// STRATEGY INPUTS
//Entry and Exit Parameters
checkbox1 = input(true, title="Enable Long Entrys")
checkbox2 = input(true, title="Enable Short Entrys")


//Bollinger Bands Calculation

[middle, upper, lower] = bb(close, length, stddev)

//Long Conditions

bulls1 = close > upper
bulls2 = close[1] < upper[1]
bulls = bulls1 and bulls2

//Short Conditions

bears1 = close < lower
bears2 = close[1] > lower[1]
bears = bears1 and bears2

// Plots of Bollinger Bands
plot(upper, title = "Upper Band", color = color.aqua)//, display = display.none)
plot(middle, title = "MA", color = color.red)//, display = display.none)
plot(lower, title = "Lower Band", color = color.aqua)//, display = display.none)

neutral_color = color.new(color.black, 100)
barcolors = bulls ? color.green : bears ? color.red : neutral_color

//Paint bars with the entry colors
barcolor(barcolors)

//Strategy


//STRATEGY LONG
long_entry = bulls and checkbox1

long_entry_level = high

strategy.entry("Long", true, stop = long_entry_level, when = long_entry)
strategy.cancel("Long", when = not long_entry)

strategy.exit("Stop Long", "Long", stop = middle)

//STRATEGY SHORT
short_entry = bears and checkbox2

short_entry_level = low

strategy.entry("Short", false, stop = short_entry_level, when = short_entry)
strategy.cancel("Short", when = not short_entry)

strategy.exit("Stop Short", "Short", stop = middle)


Mais.