Estratégia de negociação quantitativa de divergência de tendência de múltiplos indicadores

BB RSI STOCH MFI EMA SMA
Data de criação: 2025-02-08 16:08:01 última modificação: 2025-02-08 16:08:01
cópia: 0 Cliques: 420
1
focar em
1617
Seguidores

Estratégia de negociação quantitativa de divergência de tendência de múltiplos indicadores

Visão geral

Trata-se de uma estratégia de negociação de seguimento de tendências e desvio baseada em múltiplos indicadores técnicos. A estratégia usa integralmente os Bollinger Bands, o RSI, o Stochastic e o MFI para capturar oportunidades de superaquecimento do mercado e aumentar a confiabilidade dos sinais de negociação por meio da confirmação cruzada de vários indicadores.

Princípio da estratégia

A estratégia usa um mecanismo de filtragem em várias camadas para confirmar os sinais de transação:

  1. Usando a faixa de Brin ((20,2)) como referência para a faixa de flutuação do preço, quando o preço quebra a faixa de Brin para baixo, o sinal de compra é acionado.
  2. O RSI ((3) é definido como um intervalo de overbought e oversold ((85,15)), confirmando o oversold quando o RSI se move para cima para 15.
  3. O indicador aleatório ((10,3) é definido como ((85,15), e o excesso de venda é confirmado ainda mais quando a linha K se eleva para cima até 15 anos.
  4. Os movimentos da EMA de 10 ciclos das IFM são usados para confirmar o fluxo de capital, e a tendência ascendente apoia a compra. As condições de compra precisam ser satisfeitas ao mesmo tempo: o preço quebra o trajeto de baixa da linha de Brent, o RSI quebra o oversell, o indicador aleatório quebra o oversell e a tendência do MFI para cima. As condições de venda são as opostas: o preço quebra o Binance, o RSI quebra o Overbought, o indicador aleatório quebra o Overbought.

Vantagens estratégicas

  1. A verificação cruzada de múltiplos indicadores técnicos reduz significativamente os falsos sinais.
  2. A combinação de indicadores de tendência e de dinâmica permite capturar tendências e, ao mesmo tempo, alertar para a sua reversão.
  3. O uso de um RSI rápido (de 3 ciclos) aumenta a eficiência do tempo de entrada.
  4. Confirmar o fluxo de fundos através das IFM, aumentando a confiabilidade das transações.
  5. Usar a faixa de Brin como referência de flutuação, adaptando-se a diferentes condições de mercado.

Risco estratégico

  1. Vários indicadores podem causar atrasos no sinal e perder a melhor oportunidade de entrada.
  2. A tendência é para que haja uma maior frequência de transações em mercados de baixa volatilidade.
  3. O RSI rápido pode ser mais sensível ao ruído.
  4. A maior quantidade de amostras é necessária para verificar a estabilidade da estratégia. Recomenda-se a adoção das seguintes medidas de controlo de riscos:
  • Configurar o Stop Loss Stop
  • Controlar o tamanho de uma única transação
  • Ajuste de parâmetros em diferentes cenários de mercado
  • Filtragem de transações com mais características de mercado

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

  1. Parâmetros de ajuste dinâmico do indicador:
  • Parâmetros da faixa de Brin adaptados à volatilidade do mercado
  • Ajuste do RSI e do indicador aleatório com base no ciclo do mercado
  1. Adicionar filtro de ambiente de mercado:
  • Adição de indicadores de intensidade de tendência
  • Considere a mudança de volume de tráfego
  1. Melhore a gestão de riscos:
  • Realização de stop loss dinâmico
  • Aumento do limite de tempo de detenção
  1. Otimização de sinal:
  • Adição de condições de confirmação de tendência
  • Optimizar o peso dos indicadores

Resumir

A estratégia é construída através da colaboração de múltiplos indicadores, construindo um sistema de negociação relativamente completo. A vantagem central da estratégia é aumentar a confiabilidade do sinal através da verificação cruzada de diferentes tipos de indicadores, levando em consideração várias características do mercado, como tendências, dinâmica e fluxo de capital. Embora haja algum risco de atraso, a estratégia tem um bom potencial de aplicação através de medidas razoáveis de otimização de parâmetros e gerenciamento de risco.

Código-fonte da estratégia
/*backtest
start: 2022-02-09 00:00:00
end: 2025-02-06 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ahmetkaratas4238

//@version=5
strategy("İzmir Stratejisi", overlay=true)

// **Bollinger Bantları Hesaplamaları**
bbLength = 20
bbMult = 2.0
basis = ta.sma(close, bbLength)
dev = bbMult * ta.stdev(close, bbLength)
upperBand = basis + dev
lowerBand = basis - dev

// **RSI (3,85,15) Hesaplaması**
rsiLength = 3
rsiUpper = 85
rsiLower = 15
rsi = ta.rsi(close, rsiLength)

// **Stochastic (10,3,85,15) Hesaplaması**
stochLength = 10
smoothK = 3
smoothD = 3
stochUpper = 85
stochLower = 15
k = ta.sma(ta.stoch(close, high, low, stochLength), smoothK)
d = ta.sma(k, smoothD)

// **Money Flow Index (MFI) Hesaplaması**
mfiLength = 14
mfi = ta.mfi(close, mfiLength)  // Hata düzeltildi: Artık yalnızca periyot alıyor
mfiTrendUp = ta.ema(mfi, 10) > ta.ema(mfi[1], 10)  // MFI yükseliş trendi
mfiTrendDown = ta.ema(mfi, 10) < ta.ema(mfi[1], 10) // MFI düşüş trendi

// **ALIM ŞARTLARI**
var bbBreakdown=false
var rsiBreakout=false
var stochBreakout=false
bbBreakdown := ta.crossunder(close,lowerBand)?true:bbBreakdown  // Fiyat BB altına sarktı mı?
rsiBreakout := ta.crossover(rsi, rsiLower)?true:rsiBreakout  // RSI 15 seviyesini yukarı kırdı mı?
stochBreakout := ta.crossover(k, stochLower)?true:stochBreakout  // Stochastic alt bandı yukarı kırdı mı?
buyCondition = bbBreakdown and rsiBreakout and stochBreakout and mfiTrendUp

// **SATIM ŞARTLARI**
var bbBreakup=false
var rsiBreakdown=false
var stochBreakdown=false
bbBreakup := ta.crossunder(close, upperBand)?true:bbBreakup  // Fiyat BB üst bandından aşağı kırdı mı?
rsiBreakdown := ta.crossunder(rsi, rsiUpper)?true:rsiBreakdown  // RSI 85 seviyesini aşağı kırdı mı?
stochBreakdown := ta.crossunder(k, stochUpper)?true:stochBreakdown  // Stochastic üst bandı aşağı kırdı mı?
sellCondition = bbBreakup and rsiBreakdown// and stochBreakdown and mfiTrendDown

if ta.crossunder(close,lowerBand)
    bbBreakup:=false
if ta.crossover(rsi, rsiLower)
    rsiBreakdown:=false
if ta.crossover(k, stochLower)
    stochBreakdown:=false

if ta.crossunder(close, upperBand)
    bbBreakdown:=false
if ta.crossunder(rsi, rsiUpper)
    rsiBreakout:=false
if ta.crossunder(k, stochUpper)
    stochBreakout:=false

// **Alım İşlemi Aç**
if buyCondition
    strategy.entry("Long", strategy.long)

// **Satım İşlemi Yap (Pozisyon Kapat)**
if sellCondition
    strategy.close("Long")

// **Bollinger Bantlarını Göster**
plot(upperBand, title="Üst BB", color=color.red)
plot(lowerBand, title="Alt BB", color=color.green)
plot(basis, title="Orta BB", color=color.blue)

// **Alım ve Satım Sinyallerini İşaretle**
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="AL")
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="SAT")