Estratégia de rastreamento inteligente Double B


Data de criação: 2024-01-18 15:41:20 última modificação: 2024-01-18 15:41:20
cópia: 2 Cliques: 539
1
focar em
1617
Seguidores

Estratégia de rastreamento inteligente Double B

Esta é uma estratégia de negociação que utiliza o indicador de Brinks. Esta estratégia visa usar o indicador de Brinks para identificar os momentos de forte flutuação de preços e tomar decisões de compra ou venda de acordo.

Princípio da estratégia

A estratégia calcula a trajectória superior, a trajectória média e a trajectória inferior da faixa de Brin, para determinar se o preço atual está no intervalo de flutuação, para determinar o momento de fazer uma posição de alta ou baixa. Quando o preço está próximo da trajetória superior, é considerado como uma região de extremo múltiplo, a estratégia opta por vender uma posição de baixa; Quando o preço está próximo da trajetória inferior, é considerado como uma região de extremo em branco, a estratégia opta por comprar uma posição de baixa.

Além disso, a estratégia também introduz um fator de reversão de tendência, que, se um sinal de reversão ocorrer, também desencadeará uma decisão de compra ou venda correspondente. Concretamente, a lógica da estratégia é a seguinte:

  1. Calcular as faixas ascendentes, intermediárias e descendentes da faixa de Brin
  2. Determinar se o preço quebrou a trajetória e sinais de reversão
    1. A ruptura da órbita média como sinal de tendência
    2. Como sinal de reversão perto de uma linha de subida ou descida
  3. Emitir ordens de compra, venda ou liquidação

A estratégia utiliza as características da faixa de Bryn, combinando tendências e fatores de reversão, para tentar capturar pontos de reversão e negociar quando a volatilidade aumenta.

Vantagens estratégicas

A estratégia tem as seguintes vantagens em comparação com a estratégia de média móvel comum:

  1. Mais sensível, capaz de capturar os momentos de alta volatilidade dos preços
  2. Ao mesmo tempo, combinando tendências e fatores de reversão, evitar perdas causadas por reversões prematuras
  3. Com efeito FILTER, para evitar a venda e venda de mercadorias em zonas de baixa volatilidade
  4. Reduzir o número de transações através da medição da direção das principais tendências
  5. Aumentar as condições de filtragem inversa para reduzir a probabilidade de erro

Em geral, a estratégia combina muito bem o discernimento da Brin e da entidade de preços, fazendo transações em pontos de inflexão razoáveis, garantindo um certo nível de lucro e controlando o risco.

Risco e otimização

No entanto, a estratégia também apresenta alguns riscos, como:

  1. Os parâmetros da faixa de Bryn são mal definidos e não capturam adequadamente os movimentos de preços.
  2. Inadequado julgamento do sinal de inversão, omissão de inversão ou erro de julgamento de inversão
  3. Os sinais de rotação não são eficazes quando a tendência não é visível

Em contrapartida, o futuro pode ser melhorado em:

  1. Optimizar os parâmetros da faixa de Bryn de acordo com os parâmetros de diferentes variedades
  2. Aumentar a probabilidade de reversão de um modelo de aprendizado de máquina
  3. Mudar para outros indicadores quando a tendência é desconhecida
  4. Filtração de sinais de negociação com mais configurações de preços

Resumir

Em geral, esta estratégia é um modelo típico de estratégia de negociação de Brin. Ela evita os inconvenientes de apenas usar o Brin e gerar transações ineficazes. Com a introdução de um julgamento de reversão de tendência, os sinais de filtragem efetiva podem teoricamente obter um melhor desempenho da estratégia.

Código-fonte da estratégia
/*backtest
start: 2023-12-18 00:00:00
end: 2024-01-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy("Noro's Bollinger Strategy v1.2", shorttitle = "Bollinger str 1.2", overlay = true )

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")

length = input(20, defval = 20, minval = 1, maxval = 1000, title = "Bollinger Length")
mult = input(2.0, defval = 2.0, minval = 0.001, maxval = 50, title = "Bollinger Mult")
source = input(ohlc4, defval = ohlc4, title = "Bollinger Source")

uset = input(true, defval = true, title = "Use trend entry")
usect = input(true, defval = true, title = "Use counter-trend entry")

fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
showbands = input(true, defval = true, title = "Show Bollinger Bands")

//Bollinger Bands
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev

//Lines
col = showbands ? black : na 
plot(upper, linewidth = 1, color = col)
plot(basis, linewidth = 1, color = col)
plot(lower, linewidth = 1, color = col)

//Body
body = abs(close - open)
abody = ema(body, 30)

//Signals
bar = close > open ? 1 : close < open ? -1 : 0 
up1 = bar == -1 and close >= basis and close < upper and (close < strategy.position_avg_price or strategy.position_size == 0) and uset
dn1 = bar == 1 and close <= basis and close > lower and (close > strategy.position_avg_price or strategy.position_size == 0) and uset
up2 = close <= lower and usect
dn2 = close >= upper and usect
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open) and body > abody / 2

//Trading
if up1 or up2
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

if dn1 or dn2
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
    
if exit
    strategy.close_all()