Estratégia quantitativa de acompanhamento de tendências com múltiplos indicadores técnicos


Data de criação: 2024-01-22 10:40:01 última modificação: 2024-01-22 10:40:01
cópia: 0 Cliques: 553
1
focar em
1617
Seguidores

Estratégia quantitativa de acompanhamento de tendências com múltiplos indicadores técnicos

Visão geral

A estratégia define um sinal de compra e um sinal de venda para permitir a operação de rastreamento de longo prazo de ativos como criptomoedas, combinando vários indicadores técnicos, como a faixa de Brin, osciladores aleatórios e índices de fraqueza relativa. O nome da estratégia é definido como a estratégia de quantificação de criptomoedas multifatorial.

Princípio da estratégia

A estratégia começa por definir os parâmetros de cálculo de indicadores como a faixa de Brin, o oscilador aleatório e o RSI. Depois, define as condições do sinal de compra como: o preço de fechamento abaixo do trajeto de baixa da faixa de Brin, a linha K abaixo de 20 e acima da linha D, o RSI abaixo de 30.

Análise de vantagens

A estratégia combina vários indicadores para avaliar o mercado e evitar erros de avaliação causados por um único indicador. O julgamento da correia de Bryn está em excesso de queda, o julgamento do oscilador aleatório está em excesso de venda, o RSI está em excesso de venda.

Análise de Riscos

A estratégia depende da otimização de parâmetros, e se os parâmetros forem mal configurados, não será possível identificar corretamente os baixos e os altos. Além disso, pode haver uma combinação errada entre os indicadores. Por exemplo, quando a banda de Bryn é identificada como ultrapassada, mas outros indicadores não atingem os correspondentes.

Direção de otimização

  1. Testar e otimizar os parâmetros indicadores para encontrar a melhor combinação de parâmetros.

  2. Aumentar o controle de retração máxima e suspender a negociação quando atingir o limite.

  3. Adicione o módulo de gerenciamento de posição e ajuste a posição de acordo com a situação do mercado. A posição inicial é pequena e pode ser aumentada posteriormente.

  4. Adicionar uma estratégia de stop loss. Definir um ponto de parada razoável para controlar perdas individuais quando a direção do mercado erra.

Resumir

A estratégia tem uma visão geral clara e, a partir de múltiplos indicadores, tem uma forte capacidade de captação de picos de vales baixos. No entanto, alguns parâmetros e módulos ainda têm espaço para otimização e, se adequadamente ajustados, podem ser uma estratégia quantitativa de ganhos estáveis.

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

//@version=5
strategy("Stratégie d'Entrée et de Sortie Longue", overlay=true)

// Paramètres des indicateurs
longueurBollinger = 20
stdDevBollinger = 2
longueurStochastic = 14
smoothK = 3
smoothD = 3
longueurRSI = 14

// Bollinger Bands
basis = ta.sma(close, longueurBollinger)
dev = ta.stdev(close, longueurBollinger)
lowerBand = basis - stdDevBollinger * dev

// Stochastic Oscillator
k = ta.sma(ta.stoch(close, high, low, longueurStochastic), smoothK)
d = ta.sma(k, smoothD)

// RSI
rsi = ta.rsi(close, longueurRSI)

// Logique des autres indicateurs (à compléter)

// Conditions d'entrée (à définir)
conditionBollinger = close < lowerBand
conditionStochastic = k < 20 and k > d
conditionRSI = rsi < 30
// Autres conditions (Braid Filter, VolumeBIS, Price Density...)

conditionEntree = conditionBollinger and conditionStochastic and conditionRSI // et autres conditions

// Exécution du trade (entrée)
if (conditionEntree)
    strategy.entry("Long Position", strategy.long)

// Conditions de sortie
stochCrossOver70 = k > 70 and k[1] <= 70

// Simplification de la détection de divergence baissière
// (Cette méthode est basique et devrait être raffinée pour une analyse précise)
highsRising = high > high[1]
lowsRising = low > low[1]
rsiFalling = rsi < rsi[1]
divergenceBearish = highsRising and lowsRising and rsiFalling

// Clôturer la moitié de la position
if (stochCrossOver70 and divergenceBearish)
    strategy.close("Long Position", qty_percent = 50)