Estratégia de negociação de swing de momentum


Data de criação: 2023-11-21 16:57:07 última modificação: 2023-11-21 16:57:20
cópia: 1 Cliques: 564
1
focar em
1617
Seguidores

Estratégia de negociação de swing de momentum

Visão geral

Esta estratégia baseia-se no indicador de Brin, combinado com o indicador de momentum, para uma estratégia de negociação de portfólio que permite um retorno de Brin e uma ruptura de momentum. Faça um aumento quando o preço quebra a linha média abaixo do Brin, faça uma folga quando o preço quebra a linha média acima do Brin e acompanhe o stop-loss para equilibrar a posição após atingir o objetivo de perda e ganho.

Princípio da estratégia

Esta estratégia usa o sma da linha central da faixa de Bryn como indicador de linha média, passando a largura de banda pelo parâmetro mult*Stdev ajuste dinâmico. Quando o preço quebra a linha média abaixo, indica que o preço obteve a quantidade de ação para cima, e fez mais. Quando o preço quebra a linha média acima, indica que o preço obteve a quantidade de ação para baixo, e fez vazio.

Especificamente, o cálculo da faixa de Brin é feito por meio de dois parâmetros, length e mult. O comprimento determina o período da linha média, o mult determina o tamanho da largura de banda. EnterLong e enterShort determinam o momento da ruptura, e exitLong e exitShort calculam o preço de parada de perda com base no preço de entrada e na proporção de stop loss do objetivo.

Vantagens estratégicas

Esta estratégia combina a regressão da linha média e o indicador de momentum, permitindo capturar a maior quantidade de movimentos durante a fase inicial da tendência. Em comparação com a linha média simples de seguimento, o julgamento de momentum baseado na largura de banda de Brin é aumentado, permitindo filtrar algumas falsas rupturas. A configuração de stop loss é baseada diretamente no cálculo do preço de entrada, sem a necessidade de intervenção manual.

Risco estratégico

  • O Brin está atrasado na adaptação dos preços e pode ter perdido parte do evento.
  • A configuração de stop loss muito flexível aumenta o risco de perdas
  • Os sinais de vazio em transações múltiplas podem ser mal recebidos.

Pode ser otimizado por meio de ajustes no ciclo de linha central de Brin, no parâmetro de largura de banda e no intervalo de parada, para que a estratégia seja mais adaptada a diferentes condições de mercado.

Otimização de Estratégia

  • Adição de volume de negócios ou de volatilidade para evitar falsas brechas de baixo volume
  • Parâmetros para otimizar o comprimento do ciclo de Boolean, o coeficiente de largura e a amplitude de parada
  • Apenas fazer mais ou apenas fazer menos em determinadas fases do mercado
  • Adicionar modelos de aprendizagem de máquina para determinar a direção da tendência

Resumir

Esta estratégia integra os benefícios da regressão de correia de Brin e do indicador de dinâmica, pode capturar parte da tendência quando a tendência começa, pode se adaptar a diferentes fases do mercado através do ajuste de parâmetros, é um sistema de ruptura mais geral. A configuração de stop loss pode reduzir a intervenção manual diretamente do cálculo do preço.

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

//@version=4
strategy("BURATINO", overlay=true)

// Входные параметры
length = input(20, minval=1, title="Length")
mult = input(2.0, minval=0.1, maxval=5, title="Multiplier")
target_percent = input(0.5, minval=0.1, title="Target Percent")
stop_loss_percent = input(95, minval=0.1, title="Stop Loss Percent")

// Расчет полос Боллинджера
basis = sma(close, length)
dev = mult * stdev(close, length)
upper = basis + dev
lower = basis - dev

// Переворот снизу вверх через среднюю линию Боллинджера для открытия лонга
enterLong = cross(close, basis) and close[1] < basis[1]

// Переворот сверху вниз через среднюю линию Боллинджера для открытия шорта
enterShort = cross(basis, close) and close[1] > basis[1]

// Закрытие лонга после роста цены на указанный процент или падения на указанный процент
exitLong = close >= strategy.position_avg_price * (1 + (target_percent / 100)) or close <= strategy.position_avg_price * (1 - (stop_loss_percent / 100))

// Закрытие шорта после падения цены на указанный процент или роста на указанный процент
exitShort = close <= strategy.position_avg_price * (1 - (target_percent / 100)) or close >= strategy.position_avg_price * (1 + (stop_loss_percent / 100))

// Управление позициями и ограничениями на открытие противоположных позиций
strategy.entry("Long", strategy.long, when = enterLong and strategy.position_size == 0)
strategy.entry("Short", strategy.short, when = enterShort and strategy.position_size == 0)

strategy.close("Long", when = exitLong)
strategy.close("Short", when = exitShort)

// Визуализация полос Боллинджера
plot(basis, color=color.blue, title="Basis")
plot(upper, color=color.red, title="Upper")
plot(lower, color=color.green, title="Lower")