Stratégie de suivi de la tendance des moyennes mobiles

Auteur:ChaoZhang est là., Date: 2024-01-29 11h46 et 15 min
Les étiquettes:

img

Résumé

Il s'agit d'une stratégie de négociation quantitative basée sur la tendance, qui utilise principalement trois lignes moyennes mobiles avec des périodes différentes, combinées à l'indicateur ATR, pour suivre les tendances du marché et aider à déterminer les délais d'entrée et de sortie.

Principe

La stratégie utilise trois lignes moyennes mobiles de 9 jours (à court terme), 15 jours (à moyen terme) et 24 jours (à long terme). Parmi elles, les lignes de 9 jours et 15 jours sont utilisées pour déterminer la direction de la tendance et le calendrier d'entrée, tandis que la ligne de 24 jours est utilisée pour déterminer la prise de profit et le stop-loss.

Plus précisément, lorsque la ligne de la moyenne mobile à court terme traverse au-dessus de la ligne de la moyenne mobile à moyen terme et que le prix de clôture est supérieur à la ligne de la moyenne mobile à court terme, cela indique que la tendance commence à émerger et que des positions longues peuvent être établies à ce stade.

En outre, la stratégie utilise également la couleur de la barre pour afficher intuitivement la direction de la tendance. Les barres sont de couleur verte lorsque la ligne à court terme est au-dessus de la ligne à moyen terme et rouge lorsque celle-ci est en dessous de la ligne à long terme.

Les avantages

  1. L' utilisation d' une combinaison de trois lignes moyennes mobiles avec des périodes différentes peut juger la direction de la tendance plus précisément
  2. L'application d'un ajustement dynamique des lignes moyennes mobiles basé sur l'ATR permet de mieux s'adapter aux marchés volatils
  3. L'établissement de mécanismes de stop-loss/profit longs et courts permet de gérer efficacement les risques
  4. Les effets visuels des couleurs des barres forment des signaux de modèle efficaces, rendant les actions de trading plus claires

Risques et optimisation

  1. Prédisposé à générer de faux signaux sur les marchés à plage
  2. Des paramètres mal réglés (par exemple, paramètres de période) peuvent entraîner une survente ou des occasions d'entrée manquantes
  3. Envisagez d'intégrer d'autres filtres pour les signaux d'entrée, tels que le volume, le MACD, etc.
  4. Différentes combinaisons de paramètres peuvent être testées pour trouver les paramètres optimaux

Conclusion

Dans l'ensemble, il s'agit d'une stratégie de suivi des tendances relativement robuste. Elle peut capturer efficacement les tendances à moyen et long terme, tout en définissant des mécanismes de stop loss/profit taking pour contrôler les risques. Mais la stratégie est sensible aux paramètres et aux conditions du marché, nécessitant une optimisation supplémentaire pour s'adapter à un plus grand nombre d'environnements de marché.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
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/
// © ceyhun

//@version=4
strategy("Chaloke System Strategy",overlay=true)

P1=input(9,title="ShortTerm Period")
P2=input(15,title="MidTerm Period")
P3=input(24,title="LongTerm Period")
P4=input(5,title="Invesment Term")
P5=input(5,title="ATR Period")
Barcolor=input(true,title="Barcolor")

Sm=2*P5/10
ATRX=Sm*atr(P4)
S=ema(close,P1)-ATRX
M=ema(close,P2)-ATRX
Lg=ema(close,P3)-ATRX

Sht=iff(close==highest(close,3),S,ema(close[1],P1)-ATRX)
Mid=iff(close==highest(close,3),M,ema(close[1],P2)-ATRX)
Lng=iff(close==highest(close,3),Lg,ema(close[1],P3)-ATRX)

colors=iff(Sht>Mid and close > Sht ,color.green,iff(close < Lng or Sht<Lng,color.red,color.black))

plot(Sht,"Short",color=color.green,linewidth=2)
plot(Mid,"Middle",color=color.black,linewidth=2)
plot(Lng,"Long",color=color.red,linewidth=2)

barcolor(Barcolor ? colors :na)
   
long =  crossover(Sht,Mid) and close > Sht
short = crossunder(Sht,Lng) or close < Lng

if long
    strategy.entry("Long", strategy.long, comment="Long")
    
if short
    strategy.entry("Short", strategy.short, comment="Short")

alertcondition(long, title='Long', message='Chaloke System Alert Long')
alertcondition(short, title='Short', message='Chaloke System Alert Short')

Plus de