Estratégias de quantificação de rastreamento 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
Reprodução: 0 O número de cliques: 283
1
Preocupados
1105
Observadores

多重技术指标配合的趋势追踪型量化策略

Resumo

A estratégia permite o rastreamento de longo prazo de ativos como criptomoedas através da combinação de múltiplos indicadores técnicos, como faixa de brinquedos, osciladores aleatórios e índices de relativa força e fraqueza, para definir sinais de compra e venda.

Princípios estratégicos

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

Análise de vantagens

A estratégia combina múltiplos indicadores para julgar a situação do mercado, evitando o erro de julgamento causado por um único indicador. O brainstorming determina se o brainstorming está em excesso, os osciladores aleatórios determinam se está em excesso e o RSI determina se está em excesso. A combinação de vários indicadores permite identificar com mais precisão os baixos do mercado.

Análise de riscos

A estratégia depende da otimização de parâmetros, que, se for configurada de forma incorreta, não permitirá a identificação correta de baixos e altos. Além disso, pode haver uma combinação errada entre os indicadores. Por exemplo, a faixa de brinquedos pode ser identificada como ultrapassada, mas outros indicadores não atingem as condições correspondentes. Estas situações podem causar perdas desnecessárias.

Optimização

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

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

  3. Adicionar um módulo de gestão de posições, ajustando dinamicamente as posições de acordo com a situação do mercado. As posições iniciais são pequenas, as posições podem ser aumentadas posteriormente.

  4. Adicionar uma estratégia de stop-loss. Quando a direção do mercado é errada, definir um ponto de stop-loss razoável e controlar a perda de uma única moeda.

Resumo

A estratégia tem um pensamento geral claro e uma forte capacidade de captação de altos e baixos através de vários indicadores. Mas alguns parâmetros e módulos ainda têm espaço para otimização e, se adequadamente ajustados, podem se tornar uma estratégia quantitativa com ganhos estáveis.

Código de origem 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)

                
            
Mais informações