Stratégie quantitative de suivi des tendances basée sur plusieurs indicateurs techniques

Auteur:ChaoZhang est là., Date: 2024-01-22 à 10h40
Les étiquettes:

img

Résumé

Cette stratégie combine plusieurs indicateurs techniques tels que les bandes de Bollinger, l'oscillateur stochastique et l'indice de force relative pour définir des signaux d'achat et de vente pour les opérations de suivi de tendance à long terme sur les actifs cryptographiques.

Principe de stratégie

La stratégie définit d'abord les paramètres de calcul pour des indicateurs tels que les bandes de Bollinger, l'oscillateur stochastique et le RSI. Le signal d'achat est défini comme suit: fermez sous la bande inférieure de Bollinger, la ligne K en dessous de 20 et au-dessus de la ligne D, le RSI en dessous de 30. Lorsque les trois conditions sont remplies en même temps, allez long. Le signal de vente est partiellement défini comme suit: la ligne K au-dessus de 70 et en dessous de 70 dans la période précédente (croix morte en or), et il y a divergence du RSI. Lorsque ces deux conditions sont remplies, fermez 50% de la position.

Analyse des avantages

Cette stratégie combine plusieurs indicateurs pour juger de l'état du marché et éviter les erreurs de jugement causées par un seul indicateur. Bollinger Bands pour juger s'il est survendu, Stochastic Oscillator pour juger s'il est survendu et RSI pour juger s'il est survendu. Les effets combinés de plusieurs indicateurs peuvent identifier efficacement les fonds du marché pour un long achat précis. En outre, la stratégie utilise également la divergence du RSI pour juger des renversements potentiels de tendance afin d'éviter les pertes d'arrêt tardives. Par conséquent, cette stratégie peut mieux saisir les opportunités d'achat à bas prix.

Analyse des risques

Cette stratégie repose sur l'optimisation des paramètres. Si les paramètres sont définis de manière incorrecte, elle ne parviendra pas à identifier correctement les bas et les sommets. En outre, il peut y avoir des combinaisons incorrectes entre les indicateurs. Par exemple, les bandes de Bollinger identifient la survente, mais d'autres indicateurs n'atteignent pas les conditions correspondantes. Toutes ces situations peuvent entraîner des pertes inutiles. Enfin, la stratégie ne prend pas en compte la réduction maximale et la gestion de position, qui nécessite également une optimisation.

Directions d'optimisation

  1. Tester et optimiser les paramètres des indicateurs pour trouver la meilleure combinaison de paramètres.

  2. Ajouter un contrôle de la réduction maximale pour mettre en pause la négociation lorsque le seuil est atteint.

  3. Ajouter un module de gestion de position pour ajuster dynamiquement les positions en fonction des conditions du marché.

  4. Lorsque la direction du marché est incorrectement déterminée, définissez un point de stop loss raisonnable pour contrôler une seule perte.

Résumé

L'idée générale de cette stratégie est claire. À travers le jugement de multiples indicateurs, il a une forte capacité à capturer les bas et les sommets. Mais certains paramètres et modules ont encore place à l'optimisation. Avec des ajustements appropriés, il peut devenir une stratégie quantitative de profit stable.


/*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)


Plus de