Estratégia de negociação de banda de volatilidade multiindicador


Data de criação: 2023-11-15 15:30:43 última modificação: 2023-11-15 15:30:43
cópia: 0 Cliques: 686
1
focar em
1617
Seguidores

Estratégia de negociação de banda de volatilidade multiindicador

Visão geral

A estratégia utiliza vários indicadores técnicos, como bandas de flutuação, indicadores de fraqueza relativa e indicadores de dispersação de médias móveis, para tomar decisões de compra e venda. A estratégia primeiro traça bandas de flutuação tradicionais em um gráfico, diferentemente de representar dois níveis de diferença padrão diferentes com áreas em forma de faixa em duas cores.

Princípio da estratégia

  1. Primeiro, a estratégia traça um gráfico de 34 ciclos de bandas de flutuação, contendo um trajeto médio, um trajeto superior e inferior de um desvio padrão e dois desvios padrão.

  2. Quando o preço de fechamento entrar em uma trajetória, abrir uma posição com mais cabeças. Quando o preço de fechamento entrar em uma trajetória inferior, abrir uma posição com a cabeça vazia.

  3. Quando a posição é multi-cabeça, se o preço de fechamento atravessou a trajetória média, a posição é multi-cabeça. Quando a posição é vazia, se o preço de fechamento atravessou a trajetória média, a posição é vazia.

  4. A estratégia também introduziu o indicador RSI, com confirmações adicionais para posições em alta quando o RSI está acima de 70 e para posições em baixa quando o RSI está abaixo de 30.

  5. Quando o RSI ultrapassa 50, a posição está vazia. Quando o RSI ultrapassa 50, a posição está vazia.

  6. A estratégia também introduziu o indicador MACD, como confirmação adicional para a abertura de posições de cabeça alta no MACD Gold Fork e como confirmação adicional para a abertura de posições de cabeça baixa no MACD Dead Fork.

  7. Quando o MACD é um forco morto, a posição está em equilíbrio. Quando o MACD é um forco dourado, a posição está em equilíbrio.

  8. Em resumo, a estratégia requer que os três indicadores da banda de oscilação, RSI e MACD estejam simultaneamente satisfeitos para abrir uma posição. A condição de posição plana também considera os três indicadores, reduzindo a probabilidade de sinais errados.

Análise de vantagens

O uso integrado de vários indicadores de filtragem de sinais, pode efetivamente evitar erros de negociação. A flutuação traz um sinal de ruptura de preço, o filtro RSI supera o fenômeno de sobrevenda, o filtro MACD muda a tendência do mercado, os três confirmam o sinal, o que pode aumentar significativamente a probabilidade de lucro.

A estratégia também estabelece uma lógica de posicionamento de abertura e de posição diferente, controlando rigorosamente o risco de posse. A trajectória central, o eixo central RSI 50 e o forco de ouro do MACD foram introduzidos como condições de posição plana, permitindo a parada rápida e reduzindo os prejuízos individuais.

Em comparação com a estratégia de um único indicador, a estratégia combina as vantagens de vários indicadores, o que pode aumentar significativamente a taxa de lucro e a taxa de vitória, reduzindo a máxima retirada. A filtragem de combinação de vários indicadores pode reduzir a probabilidade de transações erradas, e um mecanismo de stop loss rigoroso pode controlar o impacto de cada transação perdida.

Em geral, a estratégia é muito adequada para a negociação de tendências de linha média e longa, tanto para capturar as principais tendências do mercado quanto para evitar a captura de detalhes do indicador. O mecanismo de controle de risco de múltiplos indicadores também permite o uso seguro de maior alavancagem.

Análise de Riscos

A estratégia apresenta os seguintes principais riscos:

  1. A probabilidade de um indicador emitir um falso sinal. Embora a síntese de vários indicadores possa reduzir o sinal errado, não é possível eliminá-lo completamente. Os parâmetros do indicador precisam ser otimizados para reduzir a taxa de falso sinal.

  2. O mercado unilateral não pode lucrar. Quando a tendência oscila, o stop loss pode ser acionado e não pode ser lucrativo. O padrão de stop loss pode ser adequadamente relaxado e o período de detenção pode ser prolongado.

  3. Alguns indicadores estão atrasados, podendo perder o melhor momento para abrir uma posição. Indicadores mais avançados podem ser testados para capturar o reverso mais cedo.

  4. A abertura de salto de grande amplitude invalida o stop loss. Pode-se configurar o stop loss do canal ou aumentar gradualmente a posição para controlar a perda.

  5. Os parâmetros são muito fixos e precisam ser ajustados para diferentes mercados. Parâmetros de otimização automática de aprendizado de máquina podem ser introduzidos.

  6. Os dados de testes são insuficientes e pode haver uma sobre-adaptação. A robustez da estratégia precisa ser testada em períodos de tempo mais longos e em vários mercados.

Direção de otimização

A estratégia pode ser melhorada em alguns aspectos:

  1. Optimizar os parâmetros do indicador, encontrar os mais adequados para os períodos de banda oscilante, os períodos RSI e MACD combinação de parâmetros, reduzir os falsos sinais. Você pode encontrar o melhor parâmetro através de métodos como passo a passo, percorrer.

  2. Aumentar o mecanismo de parada de perda de adaptação, em vez de parar o meio-carril fixo. Pode ser combinado com ATR, tendências e outros fatores para ajustar dinamicamente a posição de parada.

  3. A introdução de tecnologia de aprendizagem de máquina permite a otimização adaptativa dos parâmetros. A aprendizagem de reforço pode ser usada para otimizar os parâmetros em diferentes condições de mercado.

  4. Aumentar as regras de discernimento de tendências, distinguir estratégias diferentes em diferentes fases e melhorar a capacidade de adaptação dinâmica das estratégias.

  5. A combinação de análise de texto, dados sociais e outros fatores aumentam a previsão de múltiplos fatores, permitindo que os indicadores mais avançados sejam usados para determinar pontos de inflexão antecipadamente.

  6. Optimizar a rentabilidade, ajustando o tamanho da posição de acordo com o volume de capital, para que os ganhos possam alcançar um crescimento exponencial.

  7. Otimizar o portfólio, procurar estratégias complementares para reduzir a volatilidade dos rendimentos do portfólio usando a não correlação.

Resumir

Esta estratégia utiliza vários indicadores técnicos para julgar entradas e saídas, além de estabelecer regras rigorosas de stop loss. Em comparação com um único indicador, a combinação de vários indicadores pode reduzir significativamente os sinais falsos e aumentar a probabilidade de lucro. As regras de stop loss também podem controlar o impacto de cada perda.

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

//@version=5
// Bollinger Bands: Madrid : 14/SEP/2014 11:07 : 2.0
// This displays the traditional Bollinger Bands, the difference is 
// that the 1st and 2nd StdDev are outlined with two colors and two
// different levels, one for each Standard Deviation

strategy(shorttitle='MBB', title='Bollinger Bands', overlay=true, currency=currency.NONE, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_value = 0.05)
src = input(close)
length = input.int(34, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)

basis = ta.sma(src, length)
dev = ta.stdev(src, length)
dev2 = mult * dev

upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2

colorBasis = src >= basis ? color.blue : color.orange

pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0))
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0))

fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))


//Strategy code starts here

long_entry = ta.crossover(src, upper1)
short_entry = ta.crossunder(src, lower1)

strategy.entry("Long", strategy.long, when=long_entry)
strategy.entry("Short", strategy.short, when=short_entry)

if long_entry or close < basis
    strategy.close("Long", "Long") 

if short_entry or close > basis
    strategy.close("Short", "Short") 


//Calculate RSI
rsiLength = input(14)
rsiValue = ta.rsi(src, rsiLength)

// Define RSI conditions for entering and exiting trades
rsiLong = rsiValue > 70
rsiShort = rsiValue < 30


//Enter long position when RSI crosses above 50 and Bollinger Bands long entry condition is met
strategy.entry("Long", strategy.long, when=long_entry and rsiLong)

//Exit long position when RSI crosses below 50 or Bollinger Bands exit condition is met
strategy.close("Long Exit", when=rsiShort or close < basis)

//Enter short position when RSI crosses below 50 and Bollinger Bands short entry condition is met
strategy.entry("Short", strategy.short, when=short_entry and rsiShort)

//Exit short position when RSI crosses above 50 or Bollinger Bands exit condition is met
strategy.close("Short Exit", when=rsiLong or close > basis)



//Calculate MACD
fastLength = input(12)
slowLength = input(26)
macdLength = input(9)
macdValue = ta.macd(src, fastLength, slowLength, macdLength)

// Define MACD conditions for entering and exiting trades
macdLong = ta.crossover(src, macdLength)
macdShort = ta.crossunder(src, macdLength)

//Enter long position when MACD crosses above signal line and RSI and Bollinger Bands long entry condition is met
strategy.entry("Long", strategy.long, when=long_entry and rsiLong and macdLong)

//Exit long position when MACD crosses below signal line or RSI crosses below 50 or Bollinger Bands exit condition is met
strategy.close("Long Exit", when=macdShort or rsiShort or close < basis)

//Enter short position when MACD crosses below signal line and RSI crosses below 50 and Bollinger Bands short entry condition is met
strategy.entry("Short", strategy.short, when=short_entry and rsiShort and macdShort)

//Exit short position when MACD crosses above signal line or RSI crosses above 50 or Bollinger Bands exit condition is met
strategy.close("Short Exit", when=macdLong or rsiLong or close > basis)