Estratégia dinâmica de stop loss e take profit das bandas de Bollinger

SMA
Data de criação: 2024-05-17 15:11:50 última modificação: 2024-05-17 15:11:50
cópia: 1 Cliques: 699
1
focar em
1617
Seguidores

Estratégia dinâmica de stop loss e take profit das bandas de Bollinger

Visão geral

A estratégia é uma estratégia de negociação baseada em Brinks. Ela usa o Brinks para gerar sinais de compra e venda e configura dinamicamente os níveis de stop loss e stop loss. A posição de stop loss gera um sinal de compra quando o preço atravessa o downtrend e um sinal de venda quando o preço atravessa o uptrend. A posição de stop loss é definida como o preço mais baixo ou mais alto no período anterior, e a posição de stop loss é ajustada de acordo com a dinâmica do novo sinal.

Princípio da estratégia

  1. Calcule a correia de Bryn para cima, para o meio e para baixo.
  2. Quando o preço atravessa o downtrend, gera um sinal de compra; quando o preço atravessa o uptrend, gera um sinal de venda.
  3. Quando você compra, o Stop Loss está definido como o preço mais baixo no período anterior, e o Stop Loss não está definido.
  4. No momento da venda, a posição de stop loss é definida como o preço mais alto de um período de tempo anterior, e a posição de stop loss não é definida.
  5. Quando surgem novos sinais de compra ou venda, a posição de parada é reestabelecida como vazia.

Vantagens estratégicas

  1. O BRI é um indicador técnico bem desenvolvido e amplamente utilizado, capaz de capturar eficazmente as flutuações do mercado.
  2. A configuração dinâmica de stop loss e stop loss pode ser adaptada a diferentes condições de mercado, aumentando a adaptabilidade da estratégia.
  3. A configuração de uma posição de stop loss permite controlar o risco de forma eficaz e evitar perdas excessivas em uma única transação.
  4. A lógica da estratégia é clara, fácil de entender e de implementar.

Risco estratégico

  1. Em mercados turbulentos, os sinais de compra e venda frequentes podem levar a excessos de transações, aumentando os custos de transação.
  2. A configuração da posição de stop loss baseia-se em dados históricos e pode não ser adaptada às mudanças futuras do mercado.
  3. A falta de discernimento na direção da tendência pode fazer com que a estratégia perca oportunidades em mercados de forte tendência.

Direção de otimização da estratégia

  1. A introdução de indicadores de tendência, como a média móvel, para negociar na direção da tendência, aumenta a adaptabilidade da estratégia.
  2. Otimizar a configuração de posições de stop loss e stop loss, como o uso de indicadores de volatilidade, como o ATR, para torná-los mais dinâmicos e adaptáveis às mudanças do mercado.
  3. Adicionar condições de filtragem adicionais ao sinal de compra e venda, como volume de negociação, taxa de flutuação, etc., aumenta a confiabilidade do sinal.
  4. Optimizar parâmetros como o comprimento da faixa de Bryn e o múltiplo da diferença padrão para encontrar a melhor combinação de parâmetros.

Resumir

A estratégia é uma estratégia de negociação baseada em um Bollinger Band, que gera sinais de compra e venda através do cruzamento do Bollinger Band, e configura dinamicamente os níveis de stop loss e stop loss. A lógica da estratégia é clara, fácil de implementar e capaz de se adaptar a diferentes condições de mercado.

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

//@version=5
strategy("Bollinger Bands Strategy", overlay=true)

// Bollinger Bands settings
length = 20
src = close
mult = 2.0

// Calculate Bollinger Bands
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// Plot Bollinger Bands
plot(basis, color=color.blue, title="Middle Band")
plot(upper, color=color.red, title="Upper Band")
plot(lower, color=color.green, title="Lower Band")

// Trade logic
// Buy when the price crosses below the lower Bollinger Band
buySignal = ta.crossover(lower, src)
// Sell when the price crosses above the upper Bollinger Band
sellSignal = ta.crossover(src, upper)

// Define stop loss and take profit levels
var float stopLoss = na
var float takeProfit = na

// Calculate stop loss and take profit levels
if (buySignal)
    stopLoss := ta.lowest(low, length)
    takeProfit := na
if (sellSignal)
    stopLoss := ta.highest(high, length)
    takeProfit := na

// Update take profit on new signals
if (buySignal)
    takeProfit := na
if (sellSignal)
    takeProfit := na

// Execute trades
if (buySignal)
    strategy.entry("Buy", strategy.long, stop=stopLoss, limit=takeProfit)

if (sellSignal)
    strategy.entry("Sell", strategy.short, stop=stopLoss, limit=takeProfit)

// Plot signals on chart
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy", title="Buy Signal")
plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell", title="Sell Signal")

// Alert conditions
alertcondition(buySignal, title="Buy Alert", message="Buy Signal detected")
alertcondition(sellSignal, title="Sell Alert", message="Sell Signal detected")