Estratégia de acompanhamento de tendências com base em Bandas de Bollinger e médias móveis exponenciais


Data de criação: 2023-11-17 17:36:43 última modificação: 2023-11-17 17:36:43
cópia: 0 Cliques: 647
1
focar em
1617
Seguidores

Estratégia de acompanhamento de tendências com base em Bandas de Bollinger e médias móveis exponenciais

Visão geral

A estratégia usa o indicador de correia de Bryn para determinar a direção da tendência atual e, em combinação com a média móvel do índice, realiza o gerenciamento de stop loss para capturar efetivamente a tendência.

Análise original

A estratégia começa com a mediana, a linha de cima e a linha de baixo da faixa de Bryn. A mediana é uma média móvel simples de um preço de fechamento de n dias. A linha de cima e a linha de baixo são dois diferenciais padrão de desvio da linha de cima e da linha de cima.

A estratégia julga a direção da tendência atual comparando a relação entre o preço de fechamento e a descida da faixa de Brin. Se o preço de fechamento forçar a ascensão, faça mais; se o preço de fechamento forçar a descida, faça menos.

Além disso, a estratégia também introduziu a média móvel do índice como uma parada de trailing stop. Concretamente, se você fizer mais, o preço retrocederá para baixo, e a linha de parada se moverá para baixo, fazendo com que a distância de parada se estreite gradualmente, bloqueando o máximo de lucro. Se o preço continuar subindo, a linha de parada também se moverá para cima, deixando o lucro continuar funcionando.

Análise de vantagens

A estratégia, combinada com a direção da tendência de arbitragem da faixa de Bryn e o gerenciamento de stop loss da EMA, tem as seguintes vantagens:

  1. O uso de Brinks permite uma avaliação eficaz da direção da tendência e uma reação rápida à ruptura.

  2. O Stop Loss Stop, baseado em EMA, é capaz de bloquear o máximo de lucro e controlar o risco ao mesmo tempo em que garante o lucro.

  3. A estratégia tem menos parâmetros e é fácil de implementar. Brin tem um parâmetro, EMA um parâmetro e é muito simples.

  4. Pode ser amplamente utilizado em diferentes variedades, com uma forte adaptabilidade.

Risco e otimização

A estratégia também apresenta alguns riscos que devem ser lembrados:

  1. A ruptura do downtrend com o Brin não evita completamente o risco de uma falsa ruptura. Pode ser combinado com indicadores de filtragem como volume de transação.

  2. A configuração do parâmetro EMA precisa ser cuidadosamente testada de acordo com a variedade específica. Se o ciclo EMA for muito curto, poderá aumentar o número de paradas, e se for muito longo, diminuirá o efeito do rastreamento.

  3. É preciso ter cuidado para evitar otimização excessiva. Uma combinação excessiva de parâmetros de Brin e EMA pode levar a uma sobrecomposição.

Para a resolução e otimização dos riscos, podem ser consideradas as seguintes ideias:

  1. Aumentar o volume de transações ou indicadores como MACD, filtrando falsos sinais de ruptura.

  2. Teste de otimização do ciclo EMA, selecionando os parâmetros mais adequados para a variedade específica.

  3. Manter os parâmetros da faixa de Bryn e do EMA estáveis, evitando o risco de sobre-ajuste causado por otimização excessiva.

  4. Indicadores como o RSI podem ser considerados para ajustar a posição em meio a uma tendência.

Resumir

Esta estratégia integra a avaliação de tendências da faixa de Brin com a gestão de paradas de perda da EMA, formando um sistema de acompanhamento de tendências mais completo. Ela pode capturar rapidamente a direção da tendência e bloquear o lucro ajustando continuamente a linha de parada.

Código-fonte da estratégia
/*backtest
start: 2022-11-10 00:00:00
end: 2023-11-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © zxcv55602
//@version=4
strategy(shorttitle=" BB+EMA", title="Bollinger Bands", overlay=true)
date1 = input(title="Start Date", type=input.time, defval=timestamp("2020-01-01T00:00:00"))
date2 = input(title="Stop Date", type=input.time, defval=timestamp("2030-01-01T00:00:00"))
length = input(40, minval=1)
src = input(close, title="Source")
mult = input(2.0,title="StdDev",step=0.1)
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
//offset = input(0, "Offset", minval = -500, maxval = 500)
offset=0
stopcon=input(title="stopcon/lot", type=input.bool, defval=true)
lot1=input(title="lot",defval=1)
stoploss=input(title="stopcon",defval=1000)
emacon=input(title="emacon", type=input.bool, defval=true)
ema_value=input(title="value",defval=30, minval=2,step=1)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=color.new(color.blue,50), offset = offset)
p2 = plot(lower, "Lower", color=color.new(color.blue,50), offset = offset)
ema1=ema(close,ema_value)
plot(ema1, "SMA", color=#2962FF)
period() => true
//-----------
if period()
    if strategy.opentrades==0 and ema1<upper
        if close>upper
            lot_L=stoploss/((close-lower)/2)
            strategy.entry("OP_L",strategy.long,qty=stopcon==true?lot_L:lot1,stop=emacon==true?max(basis,ema1):basis)
    if strategy.opentrades==0 and ema1>lower
        if close<lower
            lot_S=stoploss/((upper-close)/2)
            strategy.entry("OP_S",strategy.short,qty=stopcon==true?lot_S:lot1,stop=emacon==true?min(basis,ema1):basis)
    if strategy.position_size>0
        strategy.exit("OP_L",stop=emacon==true?max(basis,ema1):basis,comment="exit_L")
    if strategy.position_size<0
        strategy.exit("OP_S",stop=emacon==true?min(basis,ema1):basis,comment="exit_S")