Stratégie de suivi des tendances basée sur le croisement des moyennes mobiles

Auteur:ChaoZhang est là., Date: 2024-02-06 11h37 et 23 min
Les étiquettes:

img

Résumé

Cette stratégie calcule les lignes EMA de différents cycles pour déterminer leur situation de croisement et utilise l'indicateur RSI pour juger de la tendance du marché, afin de mettre en œuvre le trading de suivi de tendance.

Principe de stratégie

Cette stratégie utilise principalement les propriétés rapides et lentes de l'EMA et calcule 5 lignes EMA de cycles différents, y compris les lignes de 9 jours, 21 jours, 51 jours, 100 jours et 200 jours.

Lorsque la ligne EMA de cycle court traverse la ligne EMA de cycle plus long depuis le bas, cela indique que le prix commence à augmenter et déclenche le signal d'achat. Lorsque la ligne EMA de cycle court traverse en dessous de la ligne EMA de cycle plus long, cela indique que le prix commence à diminuer et déclenche le signal de vente. Par conséquent, en jugeant les situations de croisement des lignes EMA, nous pouvons déterminer la tendance haussière ou baissière du marché.

En outre, cette stratégie introduit également l'indicateur RSI pour le jugement auxiliaire. Les signaux d'achat ne seront déclenchés que lorsque le RSI est supérieur à 65 et les signaux de vente uniquement lorsque le RSI est inférieur à 40. Cela aide à filtrer certains mauvais signaux et à éviter d'être induit en erreur par d'énormes fluctuations de prix.

Les avantages

Le plus grand avantage de cette stratégie est qu'elle peut suivre efficacement la tendance du marché. En utilisant les propriétés rapides et lentes de l'EMA pour mettre en place plusieurs groupes de lignes EMA et en jugeant leurs situations de croisement, elle peut capturer la tendance à moyen et long terme du marché. Ce type de stratégie de suivi de tendance a un taux de gain relativement élevé et convient à la détention à long terme.

En outre, cette stratégie introduit également l'indicateur RSI pour le jugement de l'assistance, qui peut filtrer efficacement le bruit et éviter d'être induit en erreur par les fluctuations à court terme du marché, améliorant ainsi la fiabilité des signaux de négociation.

En conclusion, cette stratégie combine les atouts du suivi des tendances moyennes mobiles et du jugement RSI suracheté/survendu. Elle peut non seulement capturer les tendances du marché, mais également filtrer efficacement les mauvais signaux, ce qui en fait une stratégie de suivi des tendances avec une fiabilité relativement élevée.

Les risques

Le plus grand risque de cette stratégie est qu'il y aura un certain retard. L'EMA elle-même a un certain attribut de retard lors de la réponse aux changements de prix, en particulier l'EMA à cycle plus long. Cela signifie que la génération de signaux d'achat et de vente sera retardée. En cas de revers brusque des prix, une énorme perte flottante peut survenir.

En outre, lorsque le marché fluctue dans la fourchette, des signaux de croisement entre les lignes EMA se produiront fréquemment.

Pour réduire les risques ci-dessus, nous pouvons raccourcir la période de l'EMA de cycle plus long de manière appropriée et assouplir le seuil de surachat/survente du RSI pour rendre le signal plus sensible. Bien sûr, cela expose à des risques de faux signaux plus élevés. Des ajustements des paramètres doivent être effectués en fonction des situations réelles du marché pour trouver le point d'équilibre optimal.

Directions d'optimisation

Cette stratégie peut être optimisée par les aspects suivants:

  1. Optimiser les paramètres de la période EMA. Essayez plus de combinaisons de périodes EMA pour trouver la meilleure sensibilité et fiabilité du signal.

  2. Optimiser les paramètres du RSI. Élargir correctement la plage de surachat/survente pour déclencher des signaux plus fréquemment ou la réduire pour réduire les faux signaux.

  3. Ajouter des mécanismes de stop loss tels que le déplacement des ordres de stop loss ou des ordres en attente pour verrouiller les bénéfices et réduire le risque de perte.

  4. Incorporer d'autres indicateurs tels que KDJ, MACD pour améliorer la fiabilité du signal.

  5. Optimiser la gestion dynamique des positions en fonction de la volatilité du marché.

Conclusion

Cette stratégie calcule plusieurs groupes de lignes EMA pour déterminer les situations croisées combinées à l'indicateur RSI afin de capturer et de suivre efficacement les tendances du marché. En intégrant les idées de suivi des tendances et de jugement suracheté / survendu, elle peut capturer les tendances à moyen et long terme avec un filtrage efficace des faux signaux. Après optimisation des paramètres et intégration de la stratégie, elle peut former un système de trading quantitatif stable et efficace, représentant un cas typique de stratégies de moyenne mobile et de stratégies de fusion d'indicateurs.


/*backtest
start: 2024-01-06 00:00:00
end: 2024-02-05 00:00:00
period: 2h
basePeriod: 15m
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/
// © Ravikant_sharma

//@version=5

strategy('new', overlay=true)

start = timestamp(1990, 1, 1, 0, 0)
end = timestamp(2023, 12, 12, 23, 59)
ema0 = ta.ema(close, 9)
ema1 = ta.ema(close, 21)
ema2 = ta.ema(close, 51)
ema3 = ta.ema(close, 100)
ema4 = ta.ema(close, 200)

rsi2=ta.rsi(ta.sma(close,14),14)
plot(ema0, '9', color.new(color.green, 0))
plot(ema1, '21', color.new(color.black, 0))
plot(ema2, '51', color.new(color.red, 0))
plot(ema3, '200', color.new(color.blue, 0))   

//plot(ema4, '100', color.new(color.gray, 0)) 


//LongEntry = (  ta.crossover(ema0,ema3)  or  ta.crossover(ema0,ema2) or  ta.crossunder(ema2,ema3) ) // ta.crossover(ema0,ema1) //
LongEntry=false
if ta.crossover(ema0,ema1) 
    if rsi2>65
        LongEntry:=true
if ta.crossover(ema1,ema2)
    if rsi2>65
        LongEntry:=true
        
LongExit =  ta.crossunder(ema0,ema2) or close >(strategy.position_avg_price*1.25) or rsi2 <40 or close < (strategy.position_avg_price*0.98)



if true
    if(LongEntry and rsi2>60)
        strategy.entry('Long', strategy.long, 1)
    if(LongExit)
        strategy.close('Long') 



Plus de