Avanço de banda adaptável combinado com sistema de estratégia quantitativa de crossover de média móvel

BB MA SMA
Data de criação: 2024-11-27 15:55:28 última modificação: 2024-11-27 15:55:28
cópia: 3 Cliques: 350
1
focar em
1617
Seguidores

Avanço de banda adaptável combinado com sistema de estratégia quantitativa de crossover de média móvel

Visão geral

Esta estratégia é um sistema de negociação quantitativa que combina a ruptura da faixa de Brin e a tendência da linha de equilíbrio. A estratégia capta automaticamente as oportunidades de mercado através da monitorização da relação entre o preço e a descida da faixa de Brin, combinando a linha média de 100 dias como confirmação de tendência. O sistema adota gerenciamento dinâmico de escala de posições, ajustando automaticamente o número de negociações de acordo com os direitos e interesses da conta, para realizar o controle dinâmico do risco.

Princípio da estratégia

A lógica central da estratégia é baseada nos seguintes elementos-chave:

  1. A banda de Brin, com 20 ciclos, é usada como canal de flutuação, com um múltiplo de diferença padrão de 2
  2. Indicador de confirmação de tendências de médio e longo prazo através da linha média de 100 dias
  3. Quando o preço quebra o Brincadeo e o ciclo anterior não foi quebrado, um sinal de multiplicação é acionado
  4. Quando o preço cai abaixo do trajeto da faixa de Brin e o ciclo anterior não foi derrubado, um sinal de curto-circuito é acionado
  5. O montante da posição detida é calculado de acordo com a dinâmica de juros da conta corrente, para realização de ajustamentos adaptativos da posição
  6. Cancelamento automático de posições em caso de sinais contrários, para garantir um cessar-cabeça em tempo hábil

Vantagens estratégicas

  1. Adaptável - Brinbelt pode ajustar automaticamente a largura do canal de acordo com a flutuação do mercado
  2. Risco controlado - Gerenciamento dinâmico de posições para garantir que o risco corresponde ao tamanho da conta
  3. Confirmação de tendências - combinação de movimentos equilíneos para aumentar a confiabilidade dos sinais de negociação
  4. Stop Losses em Tempo - estabelecer condições claras de liquidação para evitar perdas excessivas
  5. Negociação bidirecional - Captura de tendências de alta e baixa, aumentando a eficiência de uso de capital
  6. Código simples - lógica de estratégia clara, fácil de manter e otimizar

Risco estratégico

  1. Mercados turbulentos podem gerar falsas rupturas frequentes, resultando em perdas contínuas
  2. Os parâmetros da faixa de Bryn são fixos e podem não se adaptar a todas as circunstâncias do mercado
  3. Não se pode bloquear os lucros sem ter um stop loss configurado
  4. Ciclo médio mais longo, pode causar atraso no sinal
  5. Os resultados podem ser inferiores aos resultados da retrospectiva, sem considerar os custos de transação.

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

  1. Adição de filtros de volatilidade para reduzir a frequência de negociação em ambientes de baixa volatilidade
  2. Introdução de um mecanismo de stop loss dinâmico, ajustando a posição de stop loss de acordo com a volatilidade do mercado
  3. Optimizar os parâmetros da faixa de Bryn para considerar o uso de ciclos de adaptação
  4. Condições de filtragem como aumento do volume de transações e tempo de detenção
  5. Adição de mais indicadores técnicos como confirmação auxiliar
  6. Considerar a definição de limites máximos de retirada e reforçar o controlo de riscos

Resumir

A estratégia, em combinação com a faixa de Brin e a linha de equilíbrio, constrói um sistema de negociação quantitativa completo. O sistema realiza funções centrais como geração de sinais, gerenciamento de posições e controle de risco, mantendo a simplicidade lógica. Embora existam algumas áreas que precisam de otimização, o design geral é razoável e tem valor de aplicação prática.

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

//@version=5
strategy("BB Breakout with MA 100 Strategy", overlay=true)

// Parameter Bollinger Bands
length = input(20, title="BB Length")
stdDev = input(2.0, title="BB Standard Deviation")

// Hitung Bollinger Bands
basis = ta.sma(close, length)
dev = stdDev * ta.stdev(close, length)
upperBB = basis + dev
lowerBB = basis - dev

// Hitung Moving Average 100
ma100 = ta.sma(close, 100)

// Logika untuk sinyal beli dan jual
longCondition = close > upperBB and close[1] <= upperBB[1]
shortCondition = close < lowerBB and close[1] >= lowerBB[1]

// Menentukan ukuran posisi (jumlah lot)
size = strategy.equity / close // Menentukan ukuran posisi berdasarkan ekuitas saat ini

// Eksekusi order
if (longCondition)
    strategy.entry("Long", strategy.long, qty=size)

if (shortCondition)
    strategy.entry("Short", strategy.short, qty=size)

// Menutup posisi ketika kondisi terbalik
if (longCondition and strategy.position_size < 0)
    strategy.close("Short")

if (shortCondition and strategy.position_size > 0)
    strategy.close("Long")

// Plotting
plot(upperBB, color=color.red, title="Upper BB")
plot(lowerBB, color=color.green, title="Lower BB")
plot(basis, color=color.blue, title="Basis BB")
plot(ma100, color=color.orange, title="MA 100")

// Menambahkan informasi ke grafik
bgcolor(longCondition ? color.new(color.green, 90) : na, title="Buy Signal Background")
bgcolor(shortCondition ? color.new(color.red, 90) : na, title="Sell Signal Background")