Estratégia de combinação de Supertrend e Bandas de Bollinger

Autora:ChaoZhang, Data: 2024-03-29 15:18:22
Tags:

img

Resumo

Esta estratégia combina o indicador Supertrend e o indicador Bollinger Bands para capturar oportunidades de tendência no mercado. O indicador Supertrend é usado para determinar a direção atual da tendência do mercado, enquanto o indicador Bollinger Bands é usado para medir a volatilidade do mercado.

Princípios de estratégia

  1. Calcular o indicador Average True Range (ATR) e o indicador Supertrend para determinar a direção atual da tendência do mercado.
  2. Calcular as bandas de Bollinger superior e inferior para medir a volatilidade do mercado.
  3. Gerar um sinal longo quando o preço de encerramento ultrapassa a linha Supertrend e está abaixo da faixa de Bollinger inferior; gerar um sinal curto quando o preço de encerramento ultrapassa a linha Supertrend e está acima da faixa de Bollinger superior.
  4. Quando se mantém uma posição longa, se o preço de encerramento ultrapassar a linha Supertrend, fechar a posição; quando se mantém uma posição curta, se o preço de encerramento ultrapassar a linha Supertrend, fechar a posição.

Vantagens da estratégia

  1. A combinação de informações tanto das dimensões da tendência como da volatilidade permite captar de forma mais abrangente as oportunidades de mercado.
  2. Capaz de entrar no mercado em tempo útil quando a tendência é clara, o que ajuda a captar os ganhos dos mercados em tendência.
  3. Em um mercado agitado, a combinação de Bollinger Bands e Supertrend pode efetivamente filtrar falsos sinais de ruptura e reduzir o risco de perdas.
  4. A lógica do código é clara, com poucos parâmetros, e é fácil de entender e implementar.

Riscos estratégicos

  1. Em um mercado de tendência unilateral, devido aos sinais de ruptura frequentes, pode levar a uma frequência excessiva de negociação e a um aumento dos custos de transação.
  2. A captura dos pontos de ruptura baseia-se no indicador Supertrend, que é sensível aos parâmetros, e as tendências do indicador variam muito sob diferentes parâmetros, o que pode afetar a eficácia da estratégia.
  3. A largura das bandas de Bollinger mudará com as alterações na volatilidade do mercado e poderá alargar os stop-loss em ambientes de alta volatilidade.

Orientações para a otimização da estratégia

  1. Considerar a introdução de condições de filtragem mais eficazes, tais como o volume de negociação, o sentimento do mercado, etc., para melhorar ainda mais a fiabilidade dos sinais.
  2. Para os parâmetros do indicador Supertrend, podem ser realizados testes de otimização para selecionar os parâmetros ideais para melhorar a estabilidade da estratégia.
  3. No que respeita à execução de operações, podem ser introduzidas medidas mais detalhadas de gestão de posições e controlo de riscos, tais como a fixação de trailing stops, o ajustamento dinâmico de posições, etc., para reduzir a exposição ao risco de uma única operação.

Resumo

A estratégia de combinação da Supertrend Bollinger Band é uma estratégia de tendência que pode capturar efetivamente as oportunidades de tendência combinando dois fatores de mercado: tendência e volatilidade. No entanto, essa estratégia também tem certas limitações, como ser sensível a parâmetros e aumento do risco em ambientes de alta volatilidade. Portanto, na aplicação real, é necessário otimizar e melhorar adequadamente a estratégia de acordo com as características do mercado e as próprias preferências de risco.


/*backtest
start: 2024-03-21 00:00:00
end: 2024-03-28 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © sabhiv27

//@version=4
strategy("Supertrend & Bollinger Bands Strategy", shorttitle="ST_BB_Strategy", overlay=true)

// Input options
factor = input(3, title="Supertrend Factor")
length = input(10, title="ATR Length")
bollinger_length = input(20, title="Bollinger Bands Length")
bollinger_deviation = input(2, title="Bollinger Bands Deviation")

// Calculate True Range for Supertrend
truerange = rma(tr, length)

// Calculate Supertrend
var float up_trend = na
var float dn_trend = na
var float trend = na
up_signal = hl2 - (factor * truerange)
dn_signal = hl2 + (factor * truerange)
up_trend := close[1] > up_trend[1] ? max(up_signal, up_trend[1]) : up_signal
dn_trend := close[1] < dn_trend[1] ? min(dn_signal, dn_trend[1]) : dn_signal
trend := close > dn_trend ? 1 : close < up_trend ? -1 : nz(trend[1], 1)

// Calculate Bollinger Bands
basis = sma(close, bollinger_length)
dev = stdev(close, bollinger_length)
upper_band = basis + bollinger_deviation * dev
lower_band = basis - bollinger_deviation * dev

// Entry conditions
long_condition = crossover(close, up_trend) and close < lower_band
short_condition = crossunder(close, dn_trend) and close > upper_band

// Exit conditions
exit_long_condition = crossover(close, dn_trend)
exit_short_condition = crossunder(close, up_trend)

// Plot Supertrend
plot(trend == 1 ? up_trend : dn_trend, color=trend == 1 ? color.green : color.red, linewidth=2)

// Plot Bollinger Bands
plot(upper_band, color=color.blue)
plot(lower_band, color=color.blue)

// Generate buy and sell signals
strategy.entry("Long", strategy.long, when=long_condition)
strategy.entry("Short", strategy.short, when=short_condition)
strategy.close("Long", when=exit_long_condition)
strategy.close("Short", when=exit_short_condition)

Mais.