A estratégia combina um indicador Brin e MACD em várias etapas para executar diferentes estratégias de negociação em diferentes condições de mercado, identificando os cruzamentos entre os preços e os trajectos do Brin e os sinais de cruzamento do MACD. A estratégia abriu uma posição múltipla quando o preço quebrou o Brin e o MACD foi ultrapassado. A estratégia abriu uma posição em aberto quando o preço quebrou o Brin e o MACD foi ultrapassado.
O princípio central da estratégia é o uso de sinais de cruzamento entre os indicadores Brin e MACD para identificar oportunidades de tendência no mercado.
A faixa de Brin é composta por um meio, um topo e um fundo, representando respectivamente a média móvel de preços, a diferença padrão superior e a diferença padrão inferior. Quando o preço quebra a faixa de Brin para cima, indica que o mercado pode entrar em uma forte tendência ascendente; Quando o preço quebra a faixa de Brin para baixo, indica que o mercado pode entrar em uma forte tendência descendente.
O indicador MACD é composto pelo diferencial de duas médias móveis do índice (EMA) (linha MACD) e a EMA de 9 dias (linha de sinal) da linha MACD. Quando a linha MACD atravessa a linha de sinal, indica que o mercado pode entrar em uma tendência ascendente; quando a linha MACD atravessa a linha de sinal, indica que o mercado pode entrar em uma tendência descendente.
A estratégia combina o sinal de cruzamento do indicador Brin e MACD, abrindo posições de multi-cabeças quando o preço quebra o Brin e o MACD aparece; abrindo posições de cabeças vazias quando o preço quebra o Brin e o MACD aparece. Esse sinal de negociação de múltiplas condições pode aumentar efetivamente a precisão e a confiabilidade da negociação.
Além disso, a estratégia também introduziu o indicador ATR (Average True Rampage) para medir a volatilidade do mercado. A estratégia abre uma posição quando o preço quebra a faixa de Bollinger e está acima da trajectória média + ATR, ou quando o preço quebra a faixa de Bollinger e está abaixo da trajectória média - ATR. Esta condição adicional permite confirmar ainda mais a força da tendência, evitando a negociação frequente em mercados menos voláteis.
Forte capacidade de acompanhamento de tendências: através de sinais de cruzamento de Brin e MACD, a estratégia pode efetivamente capturar oportunidades de tendências no mercado, abrindo posições nos estágios iniciais de formação de tendências, obtendo assim maior espaço de lucro.
A estratégia usa sinais de negociação com múltiplos condicionamentos, ou seja, o preço quebra a faixa de Brin, o cruzamento MACD e a confirmação ATR, para aumentar efetivamente a precisão e a confiabilidade do sinal de negociação e reduzir os danos causados por sinais falsos.
Adaptabilidade: A estratégia pode ser aplicada a diferentes ambientes de mercado e classes de ativos, como ações, futuros, divisas, etc. A estratégia pode ser otimizada em diferentes mercados, ajustando a configuração dos parâmetros.
Controle de risco: A estratégia introduziu o indicador ATR para medir a volatilidade do mercado e evitar a abertura de posições quando a tendência é incerta ou com pouca volatilidade, controlando assim o risco de negociação.
Risco de configuração de parâmetros: o desempenho da estratégia depende da configuração de parâmetros do indicador Brin e MACD. Se a configuração de parâmetros for inadequada, pode causar falhas no sinal de negociação ou negociação frequente, afetando os ganhos da estratégia. Portanto, é necessário otimizar a configuração de parâmetros de acordo com diferentes características de mercado e classes de ativos.
Risco de reversão de tendência: a estratégia é aplicada principalmente em mercados em tendência, onde o desempenho da estratégia pode ser afetado se houver frequentes reversões de tendência ou turbulências no mercado. Para lidar com esse risco, outros indicadores técnicos ou mecanismos de filtragem de sinais podem ser introduzidos para identificar a eficácia da tendência.
Aumentar o risco de perda: a estratégia de abrir uma posição no início da formação de uma tendência, se um erro de julgamento ou de tendência de repente inverter, pode levar a aumento da perda. Para controlar este risco, pode definir um limite razoável de perda, ou adotar a posição de gestão de métodos dinâmicos, como o rastreamento de perda ou aumentar ou reduzir a posição, etc.
Optimização de parâmetros: O desempenho da estratégia depende da configuração de parâmetros dos indicadores Brin e MACD, que podem ser rastreados com dados históricos e otimizados por parâmetros, procurando a combinação de parâmetros ideal para melhorar a estabilidade e a rentabilidade da estratégia.
Filtragem de sinais: Para reduzir os sinais falsos e a frequência de negociação, outros indicadores técnicos ou mecanismos de filtragem de sinais podem ser introduzidos, como indicadores de tendência, sistemas de linha uniforme ou filtragem de tempo, para confirmar a eficácia e a continuidade da tendência.
Gerenciamento de posições: a estratégia pode adotar métodos de gerenciamento de posições mais dinâmicos e flexíveis, como ajustar o tamanho das posições de acordo com a volatilidade do mercado ou a intensidade da tendência, ou adotar métodos como posições de vários níveis e posicionamento em pirâmide para otimizar o risco-benefício da estratégia.
Estratégias combinadas: podem ser combinadas com outros tipos de estratégias de negociação, como estratégias de retorno médio, estratégias sazonais ou estratégias impulsionadas por eventos, para aumentar a adaptabilidade e a estabilidade da estratégia, para obter dispersão de risco e aumento de receita.
Uma estratégia de negociação quantitativa baseada em indicadores Brinbelt e MACD em vários estágios é uma estratégia de seguimento de tendências, que abre posições nas fases iniciais da formação de tendências, através de sinais de cruzamento de Brinbelt e MACD e confirmação do indicador ATR, para obter maior espaço de lucro. A estratégia possui vantagens como a capacidade de acompanhar a tendência, a fiabilidade do sinal de negociação, a adaptabilidade e o controle de risco, além de risco de configuração de parâmetros, risco de reversão de tendência e aumento de risco de perda.
/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Multi-Stage Bollinger Bands Strategy with MACD", overlay=true)
// Bollinger Bands settings
length = input.int(20, title="Bollinger Bands Length")
src = close
mult = input.float(2.0, title="Bollinger Bands Multiplier")
// MACD settings
macdShort = input.int(12, title="MACD Short EMA")
macdLong = input.int(26, title="MACD Long EMA")
macdSignal = input.int(9, title="MACD Signal Smoothing")
// ATR settings
atrLength = input.int(14, title="ATR Length")
// Calculate Bollinger Bands
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, macdShort, macdLong, macdSignal)
// Calculate ATR
atr = ta.atr(atrLength)
// Entry conditions
longCondition1 = ta.crossover(src, lower) and src > basis + atr and macdLine > signalLine
longCondition2 = ta.crossover(src, basis) and src > basis + atr and macdLine > signalLine
shortCondition1 = ta.crossunder(src, upper) and src < basis - atr and macdLine < signalLine
shortCondition2 = ta.crossunder(src, basis) and src < basis - atr and macdLine < signalLine
// Plot Bollinger Bands and MACD
plot(basis, color=color.blue)
plot(upper, color=color.red)
plot(lower, color=color.green)
plot(macdLine, color=color.orange)
plot(signalLine, color=color.purple)
// Plot entry signals
plotshape(longCondition1, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(longCondition2, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition1, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
plotshape(shortCondition2, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// Execute trades
strategy.entry("Buy1", strategy.long, when=longCondition1)
strategy.entry("Buy2", strategy.long, when=longCondition2)
strategy.entry("Sell1", strategy.short, when=shortCondition1)
strategy.entry("Sell2", strategy.short, when=shortCondition2)