Estratégia de avanço do cinturão de Bohr


Data de criação: 2023-09-21 10:38:13 última modificação: 2023-09-21 10:38:13
cópia: 0 Cliques: 607
1
focar em
1617
Seguidores

Visão geral

Esta estratégia é baseada na concepção do indicador da faixa de Bol, quando o preço quebra a faixa de Bol para baixo, é tomada a operação de fazer mais ou fazer menos. A estratégia é lucrativa ao capturar a situação de ruptura.

Princípio da estratégia

  1. Cálculo do meio-carril, do carril superior e do carril inferior da borda
  2. Fazer mais quando for para a descida; fazer menos quando for para a subida
  3. Configure o tempo de início e fim de negociação
  4. Configure o tempo de suspensão e, por padrão, o dia de liquidação

Concretamente, a estratégia primeiro calcula o SMA médio de comprimento em comprimento, e o trajeto ascendente e descendente calculado em múltiplos diferenciais padrão. Quando o preço de fechamento irrompe no trajeto descendente de baixo para cima, faça uma entrada adicional; Quando o preço de fechamento irrompe no trajeto ascendente de cima para baixo, faça uma entrada de fechamento.

A estratégia tenta capturar a expansão de preços após a ruptura da trajetória ascendente e descendente. A ruptura da trajetória descendente é vista como um aumento da força dos lados mais fortes, e a ruptura da trajetória ascendente é vista como um aumento da força dos lados mais baixos, quando a negociação é favorável.

Análise de vantagens

  1. Simples, intuitivo, fácil de entender e de implementar
  2. O indicador de Bol é usado para avaliar as rupturas e tem uma certa capacidade de rastrear as tendências.
  3. Parâmetros de ajuste flexível para diferentes ciclos e variedades
  4. O que você pode fazer para controlar o risco durante a noite?
  5. Pode ser iniciado por um único operador

Análise de Riscos

  1. Risco de ruptura falsa. O preço pode voltar a subir após a ruptura.
  2. Os parâmetros precisam ser ajustados de acordo com os períodos.
  3. A expansão da brecha pode aumentar a perda individual.
  4. Os custos de transação aumentam o risco.

Os riscos acima mencionados podem ser reduzidos por meio da otimização das condições de entrada, adição de estratégias de stop loss e introdução de filtros de tendência.

Direção de otimização

  1. Parâmetros de otimização para adaptar-se a diferentes ciclos
  2. Adição de condições de reentrada e adição de posição para acompanhar a tendência
  3. Aumentar as estratégias de stop loss para controlar os riscos
  4. Configuração de períodos de negociação para evitar notícias importantes
  5. Avaliação de condições de filtragem de tendências com filtragem de curvaturas
  6. Teste de diferentes períodos de detenção e comparação de resultados

Resumir

Esta estratégia é uma estratégia de ruptura baseada em Bollinger Bands, que se beneficia da captura de situações de ruptura. A vantagem é a simplicidade da idéia e a facilidade de implementação; A desvantagem é a facilidade de ser enganado por situações de curvatura.

Código-fonte da estratégia
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy("Noro's Bollinger Strategy v1.0", shorttitle = "Bollinger str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 5)

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

length = input(20, minval=1)
mult = input(1.0, minval=0.001, maxval=50)

fromyear = input(1900, defval = 1900, 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")

source = close
basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

up = close < lower
dn = close > upper
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)

if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
    
if time > timestamp(toyear, tomonth, 31, 00, 00) or exit
    strategy.close_all()