Estratégia de negociação quantitativa de média móvel e banda de Bollinger

SMA WMA EMA
Data de criação: 2024-04-26 11:45:05 última modificação: 2024-04-26 11:45:05
cópia: 4 Cliques: 596
1
focar em
1617
Seguidores

Estratégia de negociação quantitativa de média móvel e banda de Bollinger

Visão geral

A estratégia utiliza principalmente as médias móveis e os Brines para capturar tendências e oscilações do mercado. A estratégia usa três médias móveis diferentes: a média móvel simples (SMA), a média móvel ponderada (WMA) e a média móvel indexada (EMA). A estratégia usa o Brines para estabelecer um canal de preços, com os trilhos ascendentes e descendentes respectivamente como sinais de paz para a posição aberta.

Princípio da estratégia

  1. Calcula as médias móveis de três períodos diferentes: SMA lenta, EMA rápida e WMA rápida, que refletem as tendências de longo, curto e médio prazo do mercado, respectivamente.
  2. De acordo com o padrão de diferença de preço, dois grupos de bandas de Brin são calculados: banda de Brin de abertura (mais perto da distância entre os trilhos) e banda de Brin de parada (mais larga distância entre os trilhos). A banda de Brin de abertura é usada para abrir uma posição e a banda de Brin de parada é usada para parar a perda de posição.
  3. Quando o EMA rápido abre a borda do binário, abre a posição de cabeça vazia; Quando o EMA rápido abre a borda do binário, abre a posição de cabeça múltipla. Isso significa que o preço se desvia mais da média e a tendência pode ocorrer.
  4. Uma vez aberta a posição, se o preço subir ainda mais para cima através da barreira de prejuízos, todos os postos de mais de cabeça são liquidados; Se o preço baixar ainda mais para baixo através da barreira de prejuízos, todos os postos de cabeça vazios são liquidados. Isso é para controlar os prejuízos, e se a tendência se inverter, é o fim da perda.
  5. O processo acima é contínuo e circular, permitindo que a estratégia ajuste sua posição de forma flexível de acordo com as tendências do mercado e pare os prejuízos em tempo hábil para obter ganhos sólidos.

Vantagens estratégicas

  1. A média móvel de três velocidades diferentes foi considerada para capturar de forma abrangente as tendências de mercado em todos os níveis.
  2. A introdução da faixa de Brin como condição para a abertura de posições, pode ser ajustada de acordo com a dinâmica da volatilidade do mercado, respondendo de forma flexível à situação.
  3. Configure um limite de perda, controle de retração e feche posições em situações de forte volatilidade no mercado para evitar a expansão de perdas.
  4. A lógica é clara, as regras são simples, fáceis de implementar e de otimizar.
  5. A aplicação é ampla e pode ser válida para vários mercados e períodos de tempo.

Risco estratégico

  1. Em mercados turbulentos, a abertura frequente de posições baixas pode levar a custos de transação elevados, que corroem os lucros.
  2. No início de uma reviravolta de tendência, a estratégia pode continuar a operar na direção da tendência original, causando alguns prejuízos.
  3. Para situações extremas, como a subida rápida dos preços, o risco de deterioração da faixa de Bolin pode não ser muito bem controlado.
  4. A escolha incorreta de parâmetros (por exemplo, o período de média móvel, a largura de banda de Bryn) pode invalidar a estratégia.
  5. Se os mercados continuarem a flutuar, as estratégias podem não conseguir capturar oportunidades de tendências visíveis por um longo período.

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

  1. Aumentar adequadamente os parâmetros de média móvel e de largura de banda de Brin para reduzir a frequência e os custos de negociação em mercados turbulentos.
  2. A introdução de mais indicadores técnicos ou indicadores de sentimento de mercado como filtros para aumentar a precisão dos sinais de abertura de posição e evitar a perda de negociação que pode ocorrer no início da tendência.
  3. Estabelecer regras especiais para situações extremas, como a suspensão da abertura de novas posições durante o salto, para controlar o risco.
  4. Otimizar os parâmetros, encontrar o conjunto de parâmetros mais adequado para o mercado atual e melhorar a estabilidade da estratégia.
  5. Aumentar as regras de gerenciamento de posições e de gerenciamento de fundos, como ajustar as posições de acordo com a intensidade da tendência ou a lucratividade, definir uma linha de parada geral, etc., para controlar ainda mais o risco estratégico.

Resumir

O robô do projeto da escola Marina Parfenova é uma estratégia de negociação quantitativa baseada em médias móveis e bandas de Brin. Ela tenta lucrar capturando tendências de mercado e controlando o recuo através de linhas de parada de Brin. A lógica da estratégia é simples, clara e ampla, e os parâmetros podem ser ajustados com flexibilidade de acordo com as características do mercado.

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

//@version=5
strategy ("Marina Parfenova School Project Bot", overlay = true)

sma(price, n) =>
    result = 0.0
    for i = 0 to n - 1
        result := result + price [i] / n    
    result

wma(price, n) =>
    result = 0.0
    sum_weight = 0.0
    weight = 0.0
    for i = 0 to n - 1
        weight := n - 1
        result := result + price [i]*weight
        sum_weight := sum_weight + weight
    result/sum_weight

ema(price, n) =>
    result = 0.0
    alpha = 2/(n + 1)
    prevResult = price 
    if (na(result[1]) == false)
        prevResult := result[1]
    result := alpha * price + (1 - alpha) * prevResult

/// Настройки
n_slow = input.int(50, "Период медленной скользящей средней", step=5)
n_fast = input.int(4, "Период быстрой скользящей средней")
n_deviation = input.int(30, "Период среднеквадратического отклонения", step=5)
k_deviation_open = input.float(1.2, "Коэффициент ширины коридора покупки", step=0.1)
k_deviation_close = input.float(1.6, "Коэффициент ширины коридора продажи", step=0.1)

// ----- Линии индикаторов -----

// Медленная скользящая 
sma = sma(close, n_slow)
plot(sma, color=#d3d3d3)

// Линии Боллинджера, обозначающие коридор цены
bollinger_open = k_deviation_open * ta.stdev(close, n_deviation)
open_short_line = sma + bollinger_open
plot(open_short_line, color=#ec8383)
open_long_line = sma - bollinger_open
plot(open_long_line, color=#6dd86d)

bollinger_close = k_deviation_close * ta.stdev(close, n_deviation)
close_short_line = sma + bollinger_close
plot(close_short_line, color=#e3e3e3)
close_long_line = sma - bollinger_close
plot(close_long_line, color=#e3e3e3)

// Быстрая скользящая
ema = ema(close, n_fast)
plot(ema, color = color.aqua, linewidth = 2)

// ----- Сигналы для запуска стратегии -----

// если ema пересекает линию open_short сверху вниз - сигнал на создание ордера в short
if(ema[1] >= open_short_line[1] and ema < open_short_line)
    strategy.entry("short", strategy.short)

// если ema пересекает линию open_long снизу вверх - сигнал на создание ордера в long
if(ema[1] <= open_long_line[1] and ema > open_long_line)
    strategy.entry("long", strategy.long)

// если свеча пересекает верхнюю линию коридора продажи - закрываем все long-ордера 
if (high >= close_short_line)
    strategy.close("long")

// если свеча пересекает нижнюю линию коридора продажи - закрываем все short-ордера
if (low <= close_long_line)
    strategy.close("short")