Estratégia de negociação de índice baseada no canal de Bandas de Bollinger


Data de criação: 2023-12-08 16:52:24 última modificação: 2023-12-08 16:52:24
cópia: 0 Cliques: 667
1
focar em
1621
Seguidores

Estratégia de negociação de índice baseada no canal de Bandas de Bollinger

Visão geral

Esta estratégia é chamada de estratégia de negociação de quantificação da faixa de Brin, uma estratégia de negociação de índices e ações baseada na melhoria do canal da faixa de Brin. A estratégia pode ser lucrativa em mercados de alta e baixa, ajustando os parâmetros da faixa de Brin para otimizar posições longas e curtas ao mesmo tempo.

Princípio da estratégia

A lógica central da estratégia baseia-se no corredor da faixa de Brin. A faixa de Brin é composta por um meio, um meio e um meio. O meio é a média móvel do preço de fechamento de n dias.

Esta estratégia utiliza duas faixas de Brin, Brin 1 para fazer mais e Brin 2 para fazer menos. Os parâmetros do Brin 1 foram otimizados, com comprimento de 25 e desvio de 2,9 vezes; os parâmetros do Brin 2 também foram otimizados, com comprimento de 36 e desvio de 3,2 vezes. Quando o preço de fechamento atravessa o Brin 1 para baixo, um sinal de mais é produzido; quando o preço de fechamento atravessa o Brin 2 para baixo, um sinal de vazio é produzido.

Análise de vantagens

A estratégia tem as seguintes vantagens em comparação com a estratégia tradicional da faixa de brinquedo:

  1. A plataforma permite a negociação bilateral em vários espaços. Aplica-se também a cenários bilaterais, que permitem aproveitar as oportunidades de negociação em diferentes fases do mercado.

  2. Os parâmetros foram otimizados. Os parâmetros dos dois conjuntos de Brinks foram testados minuciosamente para emitir sinais de negociação efetivos.

  3. Risco controlado. Utilizando o método de parada móvel, o risco unilateral pode ser controlado de forma eficaz.

Análise de Riscos

A estratégia também apresenta alguns riscos potenciais:

  1. O risco de falha do correio de Brin é que o correio de Brin pode falhar quando o mercado está muito flutuante.

  2. Risco de suspensão de perdas. A suspensão móvel pode ser suspensa, ampliando os prejuízos. A suspensão de perdas pode ser tolerada adequadamente ou a suspensão de perdas pode ser evitada.

  3. Risco de alta frequência de transação. A configuração dos parâmetros é muito sensível e pode levar a transações frequentes que aumentam os custos de transação.

Direção de otimização

A estratégia ainda tem espaço para ser melhorada:

  1. Combinado com outros indicadores de filtragem de sinais, evitar erros de negociação quando o binário é invalidado. Por exemplo, forma de linha K, volume de transação, etc.

  2. Parâmetros de ajuste dinâmico para que a faixa de Brin seja mais adequada às características do mercado em diferentes períodos. Por exemplo, a adoção de faixas de Brin adaptáveis.

  3. Optimizar a forma de parar, adotar o rastreamento de parar ou parar de mover o índice, etc, para controlar eficazmente o risco.

  4. Combinação de algoritmos de aprendizagem de máquina para otimização automática de parâmetros.

Resumir

Esta estratégia global é baseada no canal de dupla correia, através de parâmetros de otimização, para a otimização de longo e curto prazo negociações bilaterais. Em comparação com a estratégia de correia tradicional, tem a vantagem de fazer mais de curto prazo, controle de risco, é aplicável para capturar oportunidades em diferentes fases do mercado, tem um certo valor de combate. Mas também existe correia de falha de correia, risco de perda, etc., ainda precisa de mais otimização e verificação, antes de produtos relevantes.

Código-fonte da estratégia
/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 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/
// © exlux99

//@version=4
strategy("BB NDX strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, calc_on_every_tick = true, commission_type = strategy.commission.percent, commission_value = 0.01)

source = close
length = input(25, minval=1, title="Length BB long")
mult = input(2.9, minval=0.001, maxval=50, step=0.1, title="MULT BB long")

length2 = input(36, minval=1, title="Length BB short")
mult2 = input(3.2, minval=0.001, maxval=50, step=0.1, title="MULT BB short")


basis = sma(source, length)
dev = mult * stdev(source, length)
dev2 = mult2 * stdev(source, length2)

upper = basis + dev2
lower = basis - dev

buyEntry = crossover(source, lower)
sellEntry = crossunder(source, upper)

longEntry=input(true)
shortEntry=input(true)

g(v, p) => round(v * (pow(10, p))) / pow(10, p)
risk     = input(100)
leverage = input(1.0, step = 0.5)
c = g((strategy.equity * leverage / open) * (risk / 100), 4)


tplong=input(0.065, step=0.005, title="Take profit % for long")
sllong=input(0.04, step=0.005, title="Stop loss % for long")
tpshort=input(0.025, step=0.005, title="Take profit % for short")
slshort=input(0.04, step=0.005, title="Stop loss % for short")

if(longEntry)
    strategy.entry("long",1,c,when=buyEntry)
    strategy.exit("short_tp/sl", "long", profit=close * tplong / syminfo.mintick, loss=close * sllong / syminfo.mintick, comment='LONG EXIT',  alert_message = 'closeshort')
    strategy.close("long",when=sellEntry)
if(shortEntry)
    strategy.entry("short",0,c,when=sellEntry)
    strategy.exit("short_tp/sl", "short", profit=close * tpshort / syminfo.mintick, loss=close * slshort / syminfo.mintick, comment='SHORT EXIT',  alert_message = 'closeshort')
    strategy.close("short",when=buyEntry)